Software Developer Career Growth

41 thoughts to become a kick-ass software developer, part 3

A collection of thoughts, tips and statements from various software developers across the globe and my two cents. Based on the book “Living by the code”.

Robin Vnznz

--

This story belongs to a four part series.

Photo by Tim Mossholder on Unsplash

#21 Your growth is your responsibility

Ty Smith

It is good to have managers, mentors and senior engineers trying to push you, but in the end, it is your responsibility to grow and evolve. Here I can only refer to #3, #19 and #20. Get a big picture of what you want to achieve and follow your passion. Having self-discipline should allow you to reach every properly set up goal.

#22 It is good to have some quiet time during the day. Prefer a walk or meditation over news and media if you need a break

Marcin Moskala

Like said in #1, it is absolutely correct and refreshing to have a break and take your thoughts for a walk to get some peace and regeneration from all the information, emails, notifications and tweets popping up on your desktop.

#23 You should join communities, events and meet ups

Inaki Villar

Don’t be the lone wolf out there. Reach out, network, become active. It’s good to stay up to date with topics and tech you are using daily and that paired with a social aspect like mentoring (see #30 and #31) helps you to grow.

#24 Pay sufficient attention to your product thinking skills

Segun Famisa

Providing feedback and insights as software developer is very valuable and important for the product. Try not to only be the guy who is implementing the acceptance criteria like a code monkey. Try to understand the real world problem you need to solve, try to get into the user’s head, try to think of different possibilities of what the user might want. In short try to be part of the problem space to the solution space from beginning to end. For me a great starting point are several conference talks of Marty Cagan and also his book(s): INSPIRED: How to Create Tech Products Customers Love — 2nd Edition

#25 Writing tests should be part of the engineering process, it should be implicit when you are writing code. They belong together

Fernando Cejas

I can imagine some situations in which a co-working team had to implement features with huge time pressure. The feature absolutely needed to be finished at a specific date. But here you don’t have to forget that a (sales) managers interpretation of the completed feature often differs from the engineering interpretation. Completing a feature also must include tests. Test your code on unit test level, integration test level and system test level. Keep the test pyramide in mind. In my opinion it is also very important that the developer(s) who wrote a piece of production code should also be the one(s) implementing the test code for that piece of production code.

#26 Just start with something new. Have enough courage to try. Don’t doubt your ability to learn new things

Tanner Wayne Nelson

I consider learning as constantly required progress to not only evolve as software developer but in life in general. All you need to have is the will to start something new and believe in yourself. Don’t be afraid to fail, mistakes and errors are one of the most valuable things which can happen to you. You gain experience, you see how things are working out in order to hopefully learn and not make the same mistake twice. Just kick-start and get hands on a topic before you end up in analysis paralysis.

#27 Keep a list of things you are working on or what you have learned recently.

Annyce Davis

For me it is a huge store of value not to only learn new things but also to write it down. Writing it down “forces” you to recap stuff and think about it at minimum twice, which imho contributes to strengthen your knowledge. What I do on a weekly basis, is to recap my week in a 30min session on a Friday afternoon. I try to remember code challenges or new stuff I have learned during the week and write some sentences about it in a personal developer diary. If you think one step further, you could also share your personal learnings to distribute knowledge or the test if you got it correctly but receiving (community) feedback.

#28 Remote is the future

Raul Raja Martinez

Like Raul says, working remotely is for people knowing how they work best and so they can be very productive. Especially when you need to work very concentrated, remote work offers great flexibility. During the pandemic, I’ve also discovered, that being in home office all day increased my concentration and quality of work. Additionally my personal happiness increased in general as it is much easier to go non-rush hour grocery shopping, running and mountain biking.

#29 Attention to the details allows you to understand core concepts. E.g. try to understand reactive Paradigm and know how to inject dependencies manually

Paul Blundell

You should really dig down deep into fundamentals to make fully use of dependency injection libraries or e.g. the MVI pattern. You might be able to reach much of your goals with knowing little about a used library for example or copy pasting code from older parts of your code base. But you might come up with an even better solution, if you know where to fine tune common pitfalls or how the core concept is supposed to work.

#30 Join the community behind the project you want to be part of

Cesar Valiente

Joining the community helps you to network with people. People who can be your mentor to teach you a lot stuff and to learn from. People who might be your next employer or colleague or become your real world friend. In short joining a community can affect and boost your career. There are several user groups out there, virtual or maybe even locally in your city.

If you want to learn more about/from these awesome people follow them or read their interviews in the book. It is definitely worth reading (more than once) independent of whether you are a beginner, mid-level or top developer.

What is your most important advice you would like to share with people who are trying to evolve and raise as a software engineer? Write it down in the comments and don’t forget to clap :)

--

--

Robin Vnznz

💪(Android) Software Engineer @BoschEBike 📈UX, ProductMgmt, Orga, Finance, Crypto, Books, 10X