Hacker News new | ask | show | jobs
Programming Depression
1 points by jester5 5252 days ago
Hello Peeps,

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

My solution to get out of funk:

Either take another gig that is Associate Programmer somewhere else with different product and client.

Go into a hybrid helddesk or network analyst role that includes programming.

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)

Totally leave development and do something else..(program on side as hobby)

3 comments

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.

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.

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

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