It's been almost a year since I landed my first job as a developer. During this time the things I have done are: solved minor bugs, solved major bugs, implemented a new feature into a product.

But I just am unsatisfied with the progress I have done so far and feel like I am lagging behind. I don't know if I am overthinking or not.

What can I do besides my dev job to make sure I am consistently progressing? Work on projects? Open source? Read? Etc... Can someone give me the big picture on how to effectively progress as a developer. I am really passionate about this domain, but I feel like I am lacking direction (I get this feeling that I can do way more).

Any insights on this would highly be appreciated!

  • 6
    You fixed bugs, you implemented a new feature... what more do you think there is to software development? What exactly are you missing?
    – nvoigt
    Commented May 11 at 11:27
  • One year. First job, one year. And you expect what? Developing your own programming language? Being tech lead? You are a better intern - beginner on your journey out of a junior developer and you have expectations that are seriously unrealistic.
    – TomTom
    Commented May 11 at 11:37
  • hey @TomTom i didn't mean to offend anyone , i was just looking for ways to improve myself so that my second year as a developer is better than my first year with more impact more learning and so forth etc ...
    – dev4Life
    Commented May 11 at 11:58
  • hey @nvoigt , what my question is aiming for is things i can do outside of my developer job so that i can be a better dev than i was yesterday .... as in constantly improve myself a bit by bit (no pun intended).
    – dev4Life
    Commented May 11 at 12:04
  • 3
    Consider writing documentation, first about what you know already and then about the things you don't. Fastest way to learn 🙂 Commented May 12 at 10:07

5 Answers 5


Of the different areas, what is your passion? Then plow as much time as you can into learning an practicing that area.

If you aren't getting enough stimulation from your day job, then use courses, open source, user groups, anything you can to get more experience.

Nothing can replace the hundreds/thousands of hours to be an expert. Interaction with other people is important to understand different styles and your strengths and weaknesses

  • Backend Development (c#) and android development (kotlin) are my peak interesting domains so far
    – dev4Life
    Commented May 11 at 13:54
  • Consider observing the .net foundation for c#. There are a lot of very smart people to learn from there.
    – DogBoy37
    Commented May 11 at 14:02
  • could you recommend some resources for that
    – dev4Life
    Commented May 11 at 16:41
  • @dev4Life dotnetfoundation.org Stack Overflow is always good.
    – DogBoy37
    Commented May 11 at 17:09

Sit down with your manager/team lead/mentor. Ask them what you can do to be a better developer. Ask about how you can take on additional responsibility. Discuss with them your strengths and weaknesses.

Some companies do a scheduled performance review. Others don't. Once you know what your company does, prepare for the discussion.

Sometimes they want you to study a topic. Other times they want you to take on an additional task.


Ask management what technologies they think are going to be relevant in the next few years or in your career; combine that with your own sense of what's important and interesting. Consider taking formal classes; your employer may pay for or reimburse college-level classes that are relevant to their business.


You can judge a job/role/company on many metrics, some that may be worth considering here are:

  • Breadth - how many different areas does the role allow you to explore?
  • Depth - how deep can you go exploring the details of the problem, technology or multiple solutions?
  • Quality - the expectations of the company with respect to how much work should be done to trying to mitigate the introduction of bugs?
  • Time/Speed - how much focus the company puts on getting software out the door.
  • Compensation - how much they compensate you for doing the job.

Usually, if you have more time you can spent that time to do more research (Breadth + Depth) and really focus on Quality, however companies usually Pay more for those that can ship Quality software Quickly.

Assuming you know whats important to you, you may find a more fulfilling job if you can find a company who's priorities are more aligned with yours. However it's likely you will have to compromise on some of the points, since most companies can't offer them all.

You may choose to fill in some gaps by using your own time to progress in some areas, however if you choose to go down that path, my advice is only do extra work that you enjoy. Otherwise you will just bucket it all as "work" and grinding 60+ hours week after week is a recipe for burn out.


You can complaete as many courses you like but the easiest way to improve as a developer is to develop some programs at home. Just think of a tool you need and start writing it.

Another thing, if you are inclined that way, is to obtain a Raspberry Pi and do things with it.

  • courses imo aren't the best way to progress as a developer , but the second part i agree develop something..
    – dev4Life
    Commented May 11 at 11:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .