The importance of being able to work together

17 Dec 2021

Have you ever worked on a big software project, and done all the work by yourself? This may be true for many students, and they may think that it is easier to do everything alone. However, in reality in the working life, you will rarely do a project all by yourself. The projects are too big and complex, and the code will probably need maintaining and upgrading. Therefore, it is important to understand that software engineering is a lot more than only being able to make a website or an app with some lines of code. It is a whole process and being able to understand and use concepts like development environments, coding standards, and agile project management are important parts of the process.

Teamwork

A big challenge when working with software engineering is to be able to collaborate well with others when working on a project. I have learned how important it is to have a common understanding of some of the fundamental software engineering concepts. When working together on a project, using the same development environment with the same configurations makes everything a lot easier. This goes hand in hand with coding standards. Using the same coding standard and using it in the integrated development environment (IDE) will make it a lot easier to understand each other’s code. As well as make the code look clean. In earlier projects, I have not been as aware of the development environment, and the most important thing has often been to just get the project done. However, now that I am aware of how helpful IDEs can be, I will be aware of it and make sure to start with the development environment and its configurations for all future coding projects. This will not only be important when building web applications but can be useful in most of my upcoming projects in other courses and future work life.

One of the most difficult things when collaborating on a project is being able to divide the project between the team members. This is something I have had a lot of trouble with when working with earlier projects. However, using agile project management and issue-driven management can make the whole process go very smoothly. Agile project management is an iterative approach to delivering a project throughout its life cycle. The project progresses by iterations towards the completion of the project. Issue-driven project management is a style of agile project management where each iteration is divided into several issues and each team member is responsible for their own issues. Dividing the project into small subtasks or issues and assigning them to different team members, makes the process go a lot faster without risking a lot of stuff being done double up. Defining goals for each milestone and setting a deadline also makes the process a lot easier. This does not only apply for web application projects but is something that can be used in most projects

Understanding the concepts

When becoming a software engineer it is important to understand the fundamental concepts, there are quite a lot of them and the words do not always tell you that much. I have several times experienced getting questions like: In your opinion what is the importance of coding standards? Which integrated development environments have you used? They want to know that I have understood the fundamentals of software engineering and that I can collaborate with others. These concepts are words that I have heard many times before, but I had never really understood the concepts. Therefore, I was forced to answer «I don’t know» even though I had used it. This shows how important it is to understand the fundamental concepts of software engineering, and that it is not just enough to know how to use it, you need to understand what you are actually doing to be able to communicate it to others. Hopefully, I will know exactly what to answer the next time I get a question about a fundamental software engineering concept and land that job.