

Programming Depression - jester5

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)
======
PhilRae
Dude, don't worry - the 8 years experienced guys were in the exact same
position 7.7 years ago!

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.

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.

------
Slumberthud
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.

------
maxdemarzi
Comparing yourself to people that have 8 years of experience is silly.

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.

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).

~~~
jester5
Thanks for the feedback Maxdemarzi.. Your right I think it just gets
frustrating when I'm starring into the eternal sea of abstraction not knowing
if the bug is somewhere in session manager, datalayer, or hate to say it
sometimes UI..The someone comes along and says it over here in xxx after
looking at it for minutes.. but.. You are right though I can not compare
myself to them....

~~~
kls
Bug hunting is the slowest skill to develop, because it takes thousands of
similar cases and the experience finding them to know where to look. The
reason someone with 8 years experience can spot them almost instantly is
because they have seen thousands of mutations of database, Toolkit, UI and
self inflicted bugs, they learn over time to spot the fingerprints, that
provide the trail to investigate. I think it is peculiar that we as an
industry put juniors on bug hunting as some of the first assignments, when it
has been noted by many that debugging is one of the most difficult and
frustrating aspects of development. I think Brian Kernighan's quote is
appropriate here:

 _Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by
definition, not smart enough to debug it._

