Skip to main content

Command Palette

Search for a command to run...

5 Approaches To Improve As A Software Engineer

A list of five practical approaches to improve as a software engineer

Published
5 Approaches To Improve As A Software Engineer
R

A Full Stack Software Engineer(JavaScript) who’s passionate about creating content that can be of value to others. Besides juggling work, content creation and other commitments, I can be found traveling to contemplate the meaning of life under the stars 🌠

Assalam u Alaikum & Hello Everyeone! 👋

In this article, I will share five approaches to improve as a software engineer. I have applied these principles to myself and have made massive progress over time.

Before Moving Forward, Read This ✋

These five approaches are independent of each other. You don’t have to follow all of them at once and overwhelm yourself. You can pick any one or two and can start working on them. With time, you will start feeling the improvement. And you can always switch the approach as needed.


Let’s jump in! 🚀

Practice, Practice & Practice

One of the fastest ways to improve is to do Deliberate Practice. Practice is an essential component in the growth of any software engineer. Without practice, you can never master any tool or technology. It helps to overcome fear & build confidence to face technical problems.

Whenever I find any weak area, I dedicate 1 hour/day to practicing regularly and improve it over time. Sometimes, It takes one or two weeks, sometimes months. It’s different for everyone.

Always remember, “Becoming an expert is a marathon, not a race. Therefore, how you practice matters the most.“

Practicing Approach:

  • List down all the weak areas you want to improve and sort them into the highest and the most critical areas first.

  • Dedicate a reasonable amount of time every day to your practice.

  • Practice Regularly, Challenge yourself, and make progress!

  • Remove all the distractions while you are practicing.

Example:

I want to make my database design skills better. Therefore I’ll dedicate 1 hour/day to practicing database design.

Learning Via Books / Tech Talks / Courses

Reading books is a healthy activity you can do during your rest time. Reading strengthens your mind, reduces stress, and, most of all, it increases your knowledge.

Reading technical books is a shortcut to learning from the brilliant minds in the industry. It gives you insights into how other software engineers solved their problems, how they scaled a system from 0 to 1 million users, how you can write clean and maintainable code, what best practices a software engineer should follow, and the list goes on.

For some people, reading doesn’t work. It’s okay; we all have preferences and should follow what best suits us.

If you are not into reading books, I highly recommend that you should watch any tech talk, conference, or any specific course if you like. The main goal is to learn from others’ experiences.

LearningApproach:

  • Search for the best software engineering books online, pick any of them you like & start reading regularly.

  • If book reading is not for you, search for online tech events and talks, for example, JavaScript Conference. And watch any tech talk with popcorn in hand.

  • Dedicate a reasonable amount of time to reading or watching.

Recommended Books

Feedback

Feedback helps to improve the overall abilities of a person. It gives insights into what areas you have to improve, what your strengths are, and how you can make a better version of yourself.

Feedbacks are critical for software engineers. Code, project management, problem-solving, learning, and growth all of these stages require feedback. This is why we have code reviews, one-to-one meetings with team leads and peer engineers, project management huddles, etc.

Here are some of the ways to give & take feedback:

  • Code Review Processes
  • Assessments and Online Tests (Certifications)
  • One to One Meeting with your Mentors / Senior Engineers / Team Mates.

The whole idea is to let you know your strengths and weaknesses so that you can work on them and improve yourself. Because Feedback is a critical element of best-practice performance management.

Feedback Approach

  • If you are a Junior Engineer, the best way to get feedback is from your senior engineers. If you don’t have senior engineers, get feedback from your peers.

  • Involve yourself in code review processes as much as you can.

  • Ask your mentor/manager to track your progress and provide small feedback over time.

Building Side Projects / Open Source

Building side projects is a fun and exciting way to improve coding & overall software engineering skills. You can work on your ideas and products.

When you build a side project, you involve yourself in all the development lifecycles, such as planning, designing, development, and testing. You also think of your customers and users. This helps you to solidify your expertise not only in engineering but in other areas of SDLC.

Another way to achieve this same goal is to make Open Source Contributions. Again, The best way to progress your skills? Practice, practice & practice! Open source contributions provide developers with a platform to practice their coding skills and gain valuable feedback from seasoned community members. This immersive learning approach offers aspiring programmers real-life, first-hand experience and dramatically accelerates the learning curve.

Approach

  • If you have meaningful ideas that you can work on, build them as a side project.

  • If you don’t have any idea but want to improve your skills, build any fun project.

  • If you don’t have any idea or fun project to work on, Try Open Source.

  • Read articles about how to contribute to Open Source & start making small PRs.

  • Dedicate a reasonable time to building side projects or open source.

Platforms

Sharing Knowledge

One of the main benefits of sharing knowledge is that you will dive deep into the subjects you want to share with everyone. You will repeat your learning process to best write your technical content. Doing so strengthens your knowledge of the issue, and you may learn something new.

Sharing Knowledge improves soft skills, such as technical writing, communication, and confidence. Also, building an audience, or at least sharing content online, can bring you new opportunities. For example, it can help you find and apply for a new job, create a side project, and even more.

Another aspect of sharing knowledge is that you can also build your income stream. Writing content is a valuable source of earning a suitable amount of money. Many websites and platforms pay you for writing for them. You can also record tutorials and maybe start your youtube channel. Any particular way that you can share knowledge. Please do it.

Sharing Knowledge Approach

  • If you love writing, and want to improve your writing skills, start writing blogs, small posts, and articles.

  • Build your audience and help them to grow. You will feel growing along them.

  • You can also start recording small tutorials and upload them on any platform. It will significantly improve your communication skills.

  • Share knowledge to help others and yourself.

Platforms

Conclusion

Self-improvement is important. And it would help if you always looked out for ways how you can improve yourself. I have listed down five ways I have improved, and I feel you can improve too.

  1. Practice, Practice & Practice.
  2. Learning via Books / Tech Talks / Courses
  3. Feedbacks
  4. Building side project / Open Source
  5. Sharing Knowledge

I hope this article was a good read for you. Do share it with your friends and other peers. If you know any resources that can help you with the above points, please share them in the comments with me and everyone. It will be helpful!

Thank you so much! ❤️


👉 Follow Me: Github Twitter LinkedIn Youtube

Comments (11)

Join the discussion
R

This article is very helpful to me since I’m starting my career as a developer

Please check out my first article

https://mytechhike.hashnode.dev/stacking-up-my-archive

8
R

That's great Richmond Amartey! I feel happy when I see people like you doing good work.

Best wishes!

M

Thanks for the update and quick reply. I'll be sure to keep an eye on this thread. Looking for the same issue. Bumped into your thread. Thanks for creating it. Looking forward for solution.

3
R

Thank you Miles Suzanne!!

M

Worth reading your article as always! Thanks <3

3
R

Thank you so much Muhammad Arsalan!

M

Effective Article! learning from tech talks I doesn't even know because of this article I come up with new thing &Thank you from bottom of my Heart

3
R

Thank you so much malavi pande! Happy to hear that.

M

Couldn't agree more! Thank you for sharing these points along with valuable resources. 🙌 Also, how can one develop the habit of reading books daily?

3
R

Thank you so much Munzah Shah,!

For reading, you can dedicate a time for example 20 minutes per day. For example, I read only 7 pages/day & it takes like 20 minutes. It helps a lot. Small consistent steps.

3
E

Hey Rehan Sattar , great article!

I clicked on your twitter link, and it seems broken... maybe you want to check it :)

3
R

Thank you Eleftheria Batsou!

I just updated my Twitter handle and forgot to update it here, Thanks for informing 😃

1
N
Neha Ejaz3y ago

very informative, thanks for sharing!

3
R

Thank you so much Neha 🚀

H

Super helpful suggestions! Very well written 🤩

3
R

Thank you so much Hassan ❤️

H

Sharing knowledge is such an underrated trait which a lot of people don't talk about. Helping create a stronger community around you not only helps the overall community but it also benefits you as well.

Thank you for sharing. Splendid article as always

3
R

True that!! Thank you so much Hamzah!! ❤️

H
HINA3y ago

Thanks for sharing such vital points for self-improvement👏👏👏. I followed only the first point till now. But I will insha'Allah focus on the last point too. Keep sharing such great content🤩🤩.

One point I also want to add, which I also followed, is that One can participate in any Hackathons or competitions to build confidence in their level of knowledge and network with their fellow participants.😇✨✨

4
R

Thank you so much for sharing your thoughts Hina, And absolutely YES to the hackathons!!! Do inlcude me as well in the next one 😅

3