Lessons learned

  • Programming is a team sport.

  • Talking to humans is way more important than talking to machines. Communication skills can make or break a project. Professional skills can be more important to a project success than purely technical ones.

  • Have a deep understanding of what you are building and why. Most people are happier when they have a sense of purpose. This applies to work as well. If you have a deep understanding of the system you're building/maintaining then you can make decisions outside of pure tech. Is this feature even necessary? What problem does it solve? Can we solve this problem any other way? Do we want to solve this problem in the first place?

  • If code review in your team is a stressful experience you are doing it terribly, terribly wrong. Most people do not want to write bad code. And if they do, they probably are dealing with constraints you're not aware of. They could also not be really good at programming (yet) and it's your opportunity to shine as a mentor.

  • Something WILL go wrong, be prepared. It's one of those things that are too true. Always assume that something may break when designing a system.

  • Don’t be afraid to say “I don’t know”.

    The best part of having a senior next to my job title is that I can finally respond to a question saying: I don't know, never tried that. I'll take a look and I'll get back to you. When I was a junior, I was terrified of someone figuring out that I'm a fraud. After a couple of years as a developer - if I haven't seen something, it could be that it wasn't relevant till now. Or I just have another cool piece of tech to learn. Lifelong learning is not a buzz phrase in software development, it's the reality.

  • Learn in public. Once you go from "I don't know" to "Okay, that was interesting" - share that with someone. Write a blog post, record a video, do a talk at a company knowledge sharing event or just ... tell someone. If you think that something is obvious to everyone, it's not. Even the most senior people have something to learn from beginners and vice versa.

Last updated

Was this helpful?