If you are a new developer or have some experience in coding but want to improve and advance to the next level, here is my advice as someone who’s spent more than 12 years in tech.

1. Learn How To Communicate With Other People

Communication is crucial both at work and in your personal life. Without communication, we couldn’t survive! But when it comes to communicating with other people on work projects, things have gotten more complicated because we can’t always see each other face to face. These days, we’re doing a lot remotely via Slack, Skype, or simply by writing emails back and forth.

This means that our communication becomes less natural compared to talking in person. So we need to put in more effort to get our ideas across and be understood by others.

This is why explaining things clearly is so essential for every developer out there. Otherwise, nobody will be able to understand them when they write code or record videos! To become better at communicating with people online:

  • Read books about writing effective text messages (like Made to Stick).
  • Watch talks with successful entrepreneurs and pay attention to how they explain things.
  • Use tools such as the Hemingway app or Grammarly that help you write better by highlighting difficult words that may cause misunderstandings. They’ve helped me tremendously!
  • Also, try using headphones while recording screencasts. This way, you’ll be able to monitor your own voice better while talking through a microphone (plus, it’s easier than talking directly into a camera)!

All these little tips won’t make much difference alone, but if applied regularly, they will show some results eventually!

2. Find a Mentor

“Show me your friends, and I will tell you what you are.”

This quote by Abraham Lincoln can easily be applied to choosing a mentor. If you want to become the best developer in your company, take some time to find someone who is already where you want to be. Ask them for some advice on how they did it and what mistakes they made. This way, you will get valuable career advice and increase your social capital, which is always helpful in any environment!

3. Improve Your Skills and Knowledge

There are many online courses for developers (e.g. on egghead.io) that are really helpful to learn new technologies and boost your career. Also, don’t forget about books. They were an invaluable source for me when I was learning how to code for the first time. Just make sure that you’re reading something from a famous author or series. Otherwise, it could be a useless waste of money and time.

Go through some tutorials on YouTube, too. This will help you get used to the way developers explain things and improve your English at the same time! And if there is still some time left in your schedule, try to watch talks about programming on conference websites or simply go to conferences where you can ask questions directly to those who know how to answer them (and find out whether this is something you really want).

4. Start Speaking at Meetups

I have only recently started speaking at local developer events, but it turns out that this is really useful for both the speakers and listeners. For me, not only does it help to learn how others think about specific issues, but it also improves my public speaking skills. And for people who come to such events, it’s always lovely to listen to someone else’s story or perspective about development in general.

Being able to hear different opinions and thoughts helps them get more experience with their own work and ideas on how to solve problems that they may face later on during their careers. So if there are any meetups near you, why don’t you start attending them? You’ll be doing yourself a favor.

5. Add Value — Contribute! Contribute! Contribute!

Becoming a better software engineer doesn’t mean just having a lot of experience. There are plenty of developers around us with much more experience than we have who still don’t hold any senior positions in our companies because they don’t add enough value to their jobs.

You must be do something more useful every day at work than what other developers do without thinking about it. Don’t say, “I’ve been coding here for two years already, and I’m pretty sure I won’t mess things up.” That’s not the way it works!


  • Never stop learning new technologies or trying out new tools/languages.
  • Never stop working on improving existing projects.
  • Never stop contributing to other open source projects. That’s definitely one thing that might make your company realize how valuable you are — even if they might not usually care all that much about open source, etc.

If someone leaves your team or company within the next year, don’t wait until someone tells you what should be done next. Take this opportunity yourself and show everyone what value can be added by just doing some extra stuff!

6. Take On Responsibilities

There are always some tasks in every company that other people can do, but nobody is doing them because they’re too dull or not interesting enough. If you think that those tasks could potentially help your team get more work done and thus improve your company’s profits, just start doing them! If it means a lot to the company itself, whether that’s communicating with its clients or improving the code base, just do it!

I’m sure that you’ll soon be asked whether you would like to take over such responsibilities permanently and even get a raise.

7. Become Part of an Open Source Community

Here is the best advice I have ever heard: “You should give code away before asking for anything.” There are many reasons why open source projects are essential for every developer:

  • Firstly, it will make your portfolio more robust.
  • Secondly, it will make people perceive you as an experienced specialist (who can share their knowledge with others) and not just a beginner.
  • Thirdly, if someone likes your work enough to use it in their project or recommend it to others, you’ll definitely get new connections.
  • And last but not least, it’s fun!

So join the development communities on GitHub and start contributing right now! You’ll never know whether or not you’re good at something until you try doing it and ask for feedback from other developers. You’ll learn more this way than by reading books or watching online tutorials.

8. Build Your Portfolio and Improve Your Skills by Solving Coding Challenges

Once you have built up some expertise, it’s time to start building your portfolio. You can do many things:

  • Build a website.
  • Create a mobile app.
  • Do a project for your company.

You can easily monetize this if you’re looking for an opportunity to earn some money while developing. Just find someone willing to pay for the work! It’s a win-win situation — you’ll get paid and gain experience in the process.

9. Be Optimistic About Your Success!

If you don’t feel good enough to become a software engineer yet, don’t worry: There are always two sides to every coin. Just remember that when people look at you from afar, they see only one side of it — the other one is hidden from them (and that’s how we perceive ourselves as well).

So if you think about it, maybe this means that you have hidden talents that might be hard for others to notice? If you’re unsure about whether you should become a developer or not, here’s my advice: Just try it!

If you really want it, then there is nothing stopping you from becoming a fantastic software developer. The choice is yours!

10. Never Stop Learning!

I’ve written about this in my other articles, but I’m saying it again because it’s crucial to keep up with all the changes going on in the programming world: You may be a great developer now, but if you stop learning new things and trying out new tools and technologies, then your skills will become outdated soon enough.

And if you get used to your skills being “good enough,” you’ll lose some opportunities that might come your way later on. So never stop learning!

Final Thoughts

That’s it! I’ve shared with you my thoughts on how to become a better software engineer. If you want to know more about this topic, feel free to ask me any questions in the comments section below.

Thanks for reading!