Developing developers and continuous learning

This blog post explores how we at Parakey try to learn and improve our skills as developers and become great at programming and working as a team.
Cenny Davidsson
Developer
July 11, 2024

Book club

Reading is an excellent habit for learning new techniques and ideas. Every developer should probably read more programming books than they are doing. So, how can your team (and company) help and encourage this habit?

Starting a book club is one way and something we have been doing to great success since 2020.

Once a week, we discuss for 30 minutes a chapter in a book we have read. Reading the pages during work hours is encouraged, and one can also join the discussion without reading the chapter (but one should then read it retroactively so as not to fall behind). The book circle is where many conversations occur about how we work and how we can improve.

We try to choose books on relevant and related topics to our current workflow and domain. For example, we wanted to improve our user stories and planning, so we read "User Stories Applied" and we also wanted to learn more about Mob programming so we read "Software Teaming".

Mob (and pair) programming

Working as a team is fun and the best way to do so I've encountered so far is doing it with mob programming. It's a fun way to share big and small ideas with your team and across the different stacks at the company.

This can have a tremendous impact on the sharing of knowledge at the company and across different technologies. Here at Parakey our Android-experts have learned to develop iOS apps and vice versa through mob programming.

We have a dedicated mob programming station equipped with multiple chairs and a big screen to make it easy to engage in a session.

Mob programming is not mandatory, only encouraged. It's important to realize that sometimes people like to work on their stuff and not worry about other people. Also, not all tasks are efficient for mobbing.

Live code reviews

Code reviews can be a chance to keep your colleagues up to date on your work and get a fresh perspective when pair or mob programming wasn't an option.

Code reviews before merging have downsides. Getting feedback can be slow and require major rework if the feedback is good but different than the already implemented solution. We try to mitigate this by keeping our pull request small.Β 

Another annoyance is that restricting feedback to text can cause a lot of misunderstandings. So, when the code that changes becomes non-trivial we do live reviews. This is just some of us sitting together and talking about the code face to face and discussing the changes and also fixing them on the spot usually.

Work life balance

Teamwork and reading programming books is only part of the journey to master our craft. Practice is important and something that can be difficult to find time to do at work. Taking the time to do something when you're not at work is a good habit and an opportunity to refine your skills.Β 

Sure, life gets in the way sometimes and it's not feasible to prioritize programming over family and health. My point is that your work should not take so much energy and time from you that you won't have the chance to practice outside of work. At Parakey I feel like my life outside of work has always been valued by my peers and it has enabled me to find time to squeeze in practice and projects outside of the office.

Conclusion

Give a development team a chance to grow and enable them to work together. Invest in them because if you don't they may leave your company or even worse, stay.

Cenny Davidsson
July 11, 2024
four men playing a card game, text saying "we are looking for a fullstack developer"

We are looking for Fullstack developers (TS/JS)

As more customers come in, we now need to expand the team with additional Fullstack developers.