Advice for new software developers

Advice for new software developers

Words I would have uttered to my one year younger self.


4 min read

Hi friends! ๐Ÿ‘‹

I have now worked for over a year as a software developer ๐ŸŽ‰

I thought of writing an article that I wish I had read the day before starting to work as a software developer.

Advice in order to maximize the growth of my first year and succeed in my career ๐Ÿš€

I'm just writing this from my heart, the words I would have uttered to my one year younger self ๐Ÿ˜

Ask ๐Ÿ—ฃ๏ธ

Ask a lot of questions. Never be afraid of asking questions, even if it is double-checking and you feel like you are asking twice.

Be extremely curious. If senior developers speak about something you don't understand, ask, be curious, don't let things slide your ears or eyes that you don't understand, it will truly help in your learning. You may even find yourself getting tasks assigned or tagging along on things you otherwise wouldn't as a fresh developer.

Teamwork โ˜€๏ธ

It is all about teamwork.

Be the developer you would like to work with. Be humble, kind, helpful and thankful.

Don't forget that you are trying to accomplish something with your team and not alone, be sure to have that team mindset.

Your problem is your teammate's problem.

Your teammate's problem is your problem.

Simplicity ๐Ÿจ

Simplicity above all.

Keeps things simple, complex code is a sign of bad code.

Write the necessary amount of code to meet the requirements of the task, and code that developers with less experience have no trouble understanding!

The same goes with communication, keep it simple and straightforward. No one likes hearing someone speak in circles or in a confusing manner, it just makes things confusing and wastes time.

When you speak to non-developers, keep things simple, try not using developer language, explain things in a simple fashion, and have the audience in mind when speaking.

Pair Programming ๐Ÿ‘ฅ

Pair programming is a phenomenal way of growing.

I can't even explain how valuable it is, you can learn so much from pair programming.

From small silly shortcuts that make you a tiny bit more productive to crazy debugging patterns.

I love pair programming, try to do it often, preferably daily, you will gain so much by doing it.

Make sure to not always pair with the same person, rotate pairs, everyone codes and thinks differently, there is much to learn from everyone.

Community ๐Ÿซ‚

Be sure to join communities of like-minded people, people doing and dealing with that which you do. Tech Twitter and Discord communities. By asking questions and helping others, you can learn a lot.

Personally, I've learned so much by just helping others. 60% of the time when helping others, I don't know the answer to the question on top of my head, I have to look it up myself, and that solidifies my understanding and also makes me learn new things.

Help others and help yourself, answer questions and ask questions.

Building ๐Ÿ› ๏ธ

Build stuff in your spare time.

Building is the best way to learn and solidify your learning.

Look at the various technologies the project you are working on uses. Build stuff in your spare time with those technologies, you will find yourself growing and learning exponentially.

Oftentimes in software projects, multiple different small libraries/technologies are being used, some that you may not touch that often during work, hence building stuff with them in your spare time can accelerate your learning.

Writing โœ๏ธ

By writing I first mean sharing your journey and useful stuff on Twitter.

Secondly, have a blog. By writing blog posts you will benefit greatly, and at the same time, others will too.

You will find yourself being the one benefitting the most from your blog posts.

  • Better remember and understand what you learned

  • A place to store your knowledge

  • A great way to market yourself

Reading ๐Ÿ“š

Read technical books.

Form a habit of reading at least a book a month.

You will find yourself learning invaluable stuff. Books will teach you things you didn't even think of, things that would otherwise take you years to learn.

  • Writing cleaner code

  • Design patterns

  • Debugging

  • Communication

  • Soft skills

  • Estimating

  • Technical practices

  • Testing

  • Methodologies

...and much more.