My first project as a software developer

My first project as a software developer

And the stuff I learned

I am currently working part-time as a front-end developer for a company called Avilatek. I am in my 3rd month now and it's been awesome. I would like to share my thoughts and first experiences when it comes to working and programming in a professional team.

Sprints and User Stories

When it comes to solving big problems, the a good approach is to divide and conquer, separating the big task into smaller, solvable tasks. A software project can be separated into sprints and a sprint has multiple user stories. A user story is an informal, general explanation of a software feature written from the perspective of the end-user. This methodology for software development is called scrum and it's really common in modern companies thanks to its agile development nature.

The developers in the team are assigned user stories and they should be completed by the end of the sprint. To keep track of this, companies tend to use some software services for managing tasks in a team. We started using ClickUp but recently we made the switch to Lark.

GitHub branches

Working with a team, you will need to understand the way GitHub is intended to be used. Every git project will have a main branch, this branch is the most important one and should not be edited manually. As a software developer, to make contributions to the code, you must create a branch. You can look at a branch as a copy of the code, where all your changes will be encapsulated and won't affect the main code.

Once you commit your changes to your branch it's time to create a Pull Request. When you create a pull request, you are essentially requesting your changes to be pulled into the base branch (usually main). Your PR will be then revised by one of the project managers or lead developers and if it all looks good, accept it and merge it into the base branch. This way, you make sure that the code that is getting into the main branch will not the app to break.

The reason I mentioned sprints and user stories is because they go hand and hand with git branches. A branch should be created for every user story. You can complete multiple user stories in a single branch but it is not recommended. Here's a cheat sheet that really helped me.

Git cheatsheet for a completing user story

  1. Go to the base branch: git checkout base-branch

  2. Make sure you have the latest version of the branch in your codespace: git pull

  3. Create a new branch: git checkout -b branch-name

  4. Start working, commit your changes, publish your branch, and create a pull request.