A few weeks ago I started a new job as a PHP/Laravel developer. This job is something I’ve really hoped for, as I get to work in a team with two developers who are more senior than me. Until now I used to work mostly by myself. The problem of only working by oneself is that one stagnates. I’ve been reading articles and books and so have continued to grow somewhat, but being in a team where code reviews are done really stretches one. Working as a sole developer is as if you learn a language like French but never get to speak to a native speaker. You might think you are actually quite good at speaking French until you go to France and understand almost nothing that is being said to you.
Most modern teams now do code reviews. It ensures everyone uses the same coding standards, e.g. my team prefers to use single quotes rather than double quotes. We only use double quotes if there is a string with a variable inside. They also want to make sure the code is written concise while still keeping it readable. I’ll often get tips on how the code can be improved. Code reviews are also good for the reason that everyone in the team gets a better understanding of the whole code base.
I’ve also been learning more about using version control as I tend to have several pull requests waiting to be reviewed before they can be merged. This often has led to some frustrating merge conflicts that took a long time to resolve, but I’m optimistic that I’ll find better ways dealing with that too.
At least we have a good automatic test coverage, so if something goes wrong I’m able to discover that quickly. Often writing the test takes a lot longer than making a quick change to something, but in the end it’s worth it.
It’s the first time I only work in the backend. Before this I always worked as a Fullstack developer. So I’m learning a lot about creating APIs. Creating APIs comes with lots of advantages of course and it allows the separation of frontend and backend work. But on the downside it seems you end up sending a lot more data across the network. And it also makes scrapping of the content easier, so these are things one should be aware of and try to mitigate.
My team makes heavy use of design patterns, so I’m working on refreshing my knowledge in that regards.
I hope this brief article gave you a little idea of what to expect when joining a modern software development team.