24

I am a software developer with 3 years and 2 months experience. My past 3 years was with a software house that uses old technologies stack (not very object oriented approach, outdated tools).

Currently, I have joined a new startup just 2 months ago, which is using the latest technologies: almost everything is new for me, I struggle most of the time (extra time to do the job, technical skills, have to consult my senior for problem-solving approach almost every time).

I don't want to give up easily. I do my very best, spend extra time on learning myself, try to do things on my own, and only consult my senior when I am stuck, but it's almost 3 months and I am still struggling. I feel like the learning curve is a bit uncomfortable; is this normal?

I also compare myself to my senior. We are the same age, and he has only 3 years of working experience too. He did some freelance previously during school, but he seems to know everything (he's sometimes able to pick things up fast with some online searches), and his code is very clean and mature.

closed as primarily opinion-based by Philip Kendall, gnat, Mister Positive, JasonJ, Chris E Mar 6 '17 at 16:45

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 11
    Just a quick note, but; they knew what experience you had and they hired you anyway, so they expected to have to train you. Hang in there! And remember to do the things well that you can; keep tasks up to date in issue tracking and follow process. Try submitting smaller code reviews more often, if that's possible, to detect "wrong turns" early. A couple of months from now you'll be flying. – Grimm The Opiner Mar 6 '17 at 10:16
  • 4
    Bonus lesson: OO isn't magic. Quite a number of modern, very up to date developers have come to believe that it offers little to no benefit or is actively harmful. – jpmc26 Mar 6 '17 at 11:41
  • 5
    On top, just to realize proper expectations: even in your OLD job you STILL could be considered to be a relative junior. 3 years and change does not make a senior unless you are very very talented. – TomTom Mar 6 '17 at 12:03
  • 4
    You're lucky if you can work with smarter people, so don't give up, learn from them. – ren Mar 6 '17 at 12:24
  • 1
    Some technologies take years to master. I think I spent more than year before I used all the various angular features correctly, for example, and I had learned dozens and dozens of languages and frameworks before that. – Mark Rogers Mar 6 '17 at 15:29
47

You might me experiencing the impostor syndrome, which is quite common among junior developers.

I would strongly recommend to use it to your advantage by challenging anything you do to improve but please, try to keep the pessimism to yourself!

Don't say: I'm not a fast learner or I'm not smart

Stop being apologetic everytime you ask a senior a question (Instead of "I'm so sorry to bother you with a stupid question but how do you do X?" say "Can you please show me how to do X?")

Try to spin your sentences in a positive or neutral way: instead of "I'm so sorry I couldn't finish the task you asked me earlier already because I made a mistake while bug fixing and I'm fixing it now". Say: "I expect to finish the task you ask me ealier to be finished by X. Now I'm busy fixing a bug."

Keep your "sorry" and "mistake" when you screw something up in production. ;)

As long as you don't ask the same question all the time (write down the answers!) and you try to find solutions yourself before asking, I think you are good to go.

Don't be impressed by the senior dev working there for some time. They have more experience than you and they have the experience of working in this company for some time. Give yourself time.

As time goes by, you'll feel more confident about the new tools, new coworkers and you can start doing kick ass dev.

Good Luck!

  • I heard of the term impostor syndrome, and yes, i do feel a sense of guilt when i asked stupid questions. Thanks for the advice anyway. – hades Mar 6 '17 at 7:43
  • 2
    @hades There are no stupid questions. Ask what you need but make sure you don't ask the same question more than 3 times. Also at least take some time to google the item before you ask as then the person you ask knows you at least gave it a try. – Snowlockk Mar 6 '17 at 9:28
  • Part of imposter syndrome is fear of getting "found out". OP probably feels reticent to ask for help for this reason. But so long as he was honest about his experience when he was interviewed, his employers knew when they hired him that they should expect him to need some help getting up to speed. – Jonathon Cowley-Thom Mar 6 '17 at 9:43
  • thanks, there is another reason i feel stress out or incompetence is because of comparison. My senior and i have the same age and he had only 3 years of working experience too, he did some freelance previously during school, but he is like know everything (sometime able to pick up fast with some online searches) and his codes are very clean and matured. – hades Mar 6 '17 at 12:02
  • +1 for not asking the same questions all the time. You can do whatever it takes to help you learn and remember, but so long as you're always asking for help on new things, management will assume you're just learning at a normal rate. (Spoiler alert: that's because you are.) – ThunderGuppy Mar 6 '17 at 14:31
11

Don't give up. They won't expect you to lift mountains and you are in for a treat once you begin to understand the new things little by little. It's an amazing experience and will make you a much better developer. You'll learn other important things too, like time management, priorization, and handling pressure.

  • 1
    Said another way : being a developer is hard for everyone. You're paid that much because it's tough. – gazzz0x2z Mar 6 '17 at 9:52
2

Though accepted answer looks good. I would like to add few things, as I gone through same phase 7 years ago. Try to learn the new technologies which you are using in office in your free time, create sample project(s), programs, try to go through the official documentation, API of technology/programming language.

There are websites like Codingbat to help you to improve coding skills use that in your sparetime. Try to ask questions on sites like Stackoverflow or if it's subjective questions then on sites like Quora.

You will definitely improve on your skills. Always practice and learn. Practice makes you perfect.

Not the answer you're looking for? Browse other questions tagged or ask your own question.