Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What have I missed?
1 point by knicholes on Jan 15, 2013 | hide | past | favorite | 3 comments
At my old job, I was the go-to guy. People would come to me to solve their problems. Everything was good until I took a better paying job.

First things first. I have my BS in CS from a local University in Utah. My GPA, at the end of it all, I ended up with a GPA of 3.32. Yeah, it's not the best, but I was working 30-40 hours a week to pay for it. (at least that's my excuse)I landed an internship making websites and learned python/javascript. I worked that job for a year. I worked another job for a year and a half until I got an offer for more for my exact skill set. I impressed sufficiently to receive an offer. I denied the offer and got $5k more. Then I accepted.

I just had a six-week performance review. They say I'm not completing enough work. They (my boss and the two guys on my team who told my boss (who is not directly involved with my work)) say that they expected me to be kicking ass by now.

It would appear as though I don't kick ass. What happened, then, at my last job?

Am I doomed to work for $45k for the rest of my life because of my sub-par work? I had thought that by getting a degree and having a skill set that was in demand, I'd be able to write my own ticket. Now I'm not even sure if I can write a webform.

What advice, if any, do you have for a programmer who thought he had the skills and the education to be a productive programmer, but doesn't? Should I watch all of the MIT CS courses to find out what I missed out on? Just program more? Read about and practice with new exciting technologies?

Anyway, I will probably take the advice listed here to heart and do what is said with unstoppable determination. I need to be a good programmer. I just don't know what I've missed along the way that makes me not good enough.




It sounds like at your first job you were an intern, and the bar is pretty low for interns, so just showing up every day and not breaking production is enough to impress. So you left for greener pastures, or so you thought, but you discovered that along with more money comes higher expectations (whether those expectations are reasonable I couldn't say).

Not completing enough work sounds like an unusual critique for a developer review, unless you are consistently missing deadlines/deliverables. Are they not properly managing your workload? If they gave you 6 weeks to update a meta tag, then that's their fault for not giving you enough, and your fault for not calling them on it. But I don't know the full story. How did they rate the quality of the work you did? Was your code clean and bug-free? If not, then that is the real problem.

Also, does anyone find it strange that a company would give a developer a review at 6 weeks? It hasn't happened to me ever and I've worked for big companies (Washington Post, ClearChannel) and small startups.


Oh, the first job as intern lasted a year, then my next (where people came to me for help) was for 1.5 years. I committed some code that wasn't the most efficient-- Like there was an error where a user didn't have a profile, so instead of going into the database and making every user have a profile, I added the code that checked if they had one, and if not, it created one. I did things like that. I left a console.log statement on one of the pages which broke some features for IE users for a couple days.

One issue, for sure, is I was intimidated by the guy who handed the project off to me. Nothing I did seemed to be good enough. I did a Model.object.get() to test if it exists instead of a Model.objects.filter().exists(). So my code wasn't extremely efficient. I don't think that that kind of the thing TERRIBLE, but it is what it is. We had a big argument about git workflow. I was making individual feature branches with ticket numbers that matched up with our bug tracker. When tested locally, I'd push to a staging server, test it there, then merge the feature branch into master, and push live. He said I was making it too complicated and that stage needed to be exactly like production. I'm used to stage being a playground. He told me that that was what local development was for. I thought it was easier to test the stripe webhooks on the staging server instead of doing some DNS crap so I could get stripe webhooks locally.

Ah, I also committed to the master branch code that had a template tag error. I corrected it after about 5 minutes (and nobody had triggered the error. I triggered it when testing some other push I had). I wrote it off as being human, but he wrote it off as being bad.

It sucks to think that a couple small mistakes early on means I get fired, though.


Are you sure the problem is your programming skills, rather than, say, the way you manage expectations about your productivity? Or the way you present what you've done?

If it was an honest performance review, they should have been more specific than "not completing enough work." Consider pressing for details about their performance expectations, and then either work to meet the metric they name, or work to convince them that the metric isn't the best one by which to measure your performance.

It may not be a problem you can solve by just boning up on exciting new technologies. You may have to educate them on the merits of things you do that, in their opinion, slow you down-- like writing unit tests, automating builds, creating bug databases, or whatever.

This book may not exactly address the situation you're in, but you might have a look at Terrence Ryan's "Driving Technical Change", which talks about how to convince others on your team of the merits of different approaches you've adopted.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: