Hello Peeps,<p>I just have a weird sincere question regarding being a new developer. I finished school 3 mos ago and have been working for a company as a Jr. Dev for almost 9 months. As far as the company expectation I'm meeting my deadlines and everyone likes me. Where I struggle is I feel like I'm not even close to contributing as much a my co-workers(although they have all been coding 8+ yrs me 3mos +school which I did learn nothing barely functional). I feel like I spend much time on problems that it might only take another co-worker 20 mins and takes me 2 hrs to figure out and fix. I love programming so much that things like this is making me depressed. Prior to my education I had no programming experience but a few IT gigs which no programming was used. Question? Is it normal to feel this way as a newbie or Am I being hard on myself? Also I think sometimes the type of software has a peculiar type of business logic which is not easy nor fond. Sometimes I think learning all this business logic is making me discouraged because I'm not really into it..(So this makes programming the logic and understanding it hard.) The weird part is everyone seems to be okay with my work but I don't..<p>My solution to get out of funk:<p>Either take another gig that is Associate Programmer somewhere else with different product and client.<p>Go into a hybrid helddesk or network analyst role that includes programming.<p>Start some small home projects in the type of technology we use at work and post them on Github.(To grow and learn as well as be inspired)<p>Totally leave development and do something else..(program on side as hobby)
Dude, don't worry - the 8 years experienced guys were in the exact same position 7.7 years ago!<p>I've just hired a new developer and he's forever apologising for 'taking so long'. I just try to reassure him that I know he's learning, and that's good - I want him to question what he's doing and does take the time to solve problems correctly.<p>90% of the programming problems I personally come up against, I've seen before and so I know the answer near instantly; but thats just through years of experience. Take the time to enjoy what you do and you'll begin to appreciate that you're getting the time to learn as you work, and don't hesitate to ask the experienced guys for a hand; they'll love the fact that they're the gurus.
Yes, it's normal. Low productivity for a newbie is pretty standard. Even if your programming chops are fantastic, you come into a new job knowing nothing about the domain they are programming in, which may be very complex and have a long history, and nothing about the tools, the code, the architecture, and so on, which may (and often does) suck. I am seeing this right now with a new hire where I work. She's competent, but just drowning in all the stuff she has to learn. I was here when our system was and designed and built, and I did a lot of the designing and building myself, so I have a deep understanding of how it works, an understanding that I think would be incredibly hard to come by second-hand. It can take years to become fluent in a big system.
Comparing yourself to people that have 8 years of experience is silly.<p>Think about this: You go to a school to learn about music, but you don't actually learn any instrument, just music theory. You then pick up a guitar for 3 months and go play in a club. Dave Mustaine (Megadeth) walks in and shreds it. You feel depressed.<p>Makes no sense right? Don't give up, but realize that it's going to take more than 3 months of practice to be good at this (or just about anything really).