Letter to aspiring software developers
Tags: career, devlive, productivity, beginners
Published: 2020-04-18 18:50:07

Over the last few months, I've been asking myself what it means to be a great developer. Having looked at countless posts and from my own life experiences. There're a few myths I've come to debunk.

## 🤓 You'll be hired to solve problems, not just to code

It's normal to get very passionate about what we do as developers, I'll admit I was guilty of previously spinning up projects almost every week in the name of practice 😅. While this was admirable, in hindsight, I've come to realize that those projects lacked direction. With real-world development, clients and businesses need solutions to a particular problem. Be it helping them to come to the digital age, creating analytics dashboards, building AI systems to ease the business process and a myriad of other reasons. This may seem obvious, but whenever you think of starting a new project, try and think deeply about which problem you're project might solve. Coder Foundry couldn't have put it better in their video, the ultimate project guaranteed to get you a job.
{% youtube oC483DTjRXU %} Identify a local business or software company of your dreams, then proceed to build your side project around their needs. That way, should you approach them to get a job, the project will win you major points as they'll find you relate to their niche.

## 🤝 Your skills will get you the job, your character will help build your career

Congrats! Your dedication and consistency in practising programming have finally paid off and you now have your first job. Do not construe this to mean that everything is always going to be rosy. To be honest, your character will play a key role in helping you navigate the workplace. Or as is more popular in the tech world, your culture fitness. Be keen to have a good working relationship with your colleagues. Good relationships foster growth for yourself as your colleagues are more experienced and hold a trove of resources to learn from. Stay humble and keep an open mind to learn new things from them. Unfortunately, being a know it all won't get you anywhere.

This great post by Ilona codes highlights this fact excellently.
{% link ilonacodes/what-makes-you-a-great-programmer-on-the-team-1hhg %}

## Communications skills are key

I cannot emphasize this point enough. In your day to day life as a dev, you'll be required to talk with various stakeholders on multiple projects. Firstly, your dev team. Be it stand up meetings or writing technical documentation for your code. Knowing how to clearly articulate your point in a clear concise way is crucial. 

Knowing how to interpret the client's needs is also crucial. At times, some clients may not necessarily know what they want. A great dev understands their problems clearly and breaks it down to them in a way they can comprehend.

## 🕺🏼 Enjoy the journey while working towards your end goal

Finally, and I totally get this may not be for everyone, is to try and enjoy yourself while pursuing your dreams. 
Take breaks, hang out with friends or do whatever else that brings you joy other than coding.
If you'd like to see how hobbies can influence your life check out my previous post.

{% link lewiskori/how-working-out-has-influenced-me-as-a-developer-48fe %}

To conclude on the same, I'll leave you with this awesome quote by Albert Einstein
{% twitter 1251042711945150465 %}

Thanks for reading this post. 
One young dev to another 🤗.

Should you have any questions, my dm on [twitter](https://twitter.com/lewis_kihiu/) is always open.