How to Become a Great Software Developer [with Actionable Tips]

Simon Holdorf
8 min readJan 12, 2021
Photo by heylagostechie on Unsplash

Starting a new career in software development is both exciting and frightening. There is a lot to learn, and it takes years of practice to become really good at it, like with other crafts.

To make it a little bit easier, especially for beginners, I want to share some knowledge I’ve gained over the years in the form of actionable tips with you.

Find a great mentor

One of the best things you can do to become a great developer is to find an excellent mentor. A good mentor will provide sound advice on everything from architecture to design, and even how to improve your career path.

A person who is not in the same company or location may be the best mentor for you. You can talk to them and get their advice on the phone, via email, or online. A mentor doesn’t have to work at your company nor be an expert developer.

Find someone who understands software development and has had success in their career that you respect.

Learn to communicate well

Being a great developer means that you can communicate effectively with users and other developers. In fact, a large part of being an excellent programmer is sharing your ideas effectively and efficiently.

If you can present your ideas clearly and concisely, others will want to listen to what you have to say.

But communication isn’t just about talking. It’s also about listening to what others have to say. Studies show that good listeners were more successful in their careers than good talkers.

So you should never underestimate the power of a good listener, especially when working with clients or other developers on your team.

Learning how to listen can be invaluable, especially if you’re planning on working with other people.

Learn how to use Google effectively

When I started as a software developer, I remember thinking that my fellow developers were some sort of superhumans because they could always point me in the right direction when solving problems or implementing features.

--

--