Ask HN: I'm a beginner working a job I hate. What next?
I fell into coding by accident. I wanted a website to attract students, so I pirated a copy Dreamweaver, quickly realized it was useless if you don't know what's going on underneath, dropped wysiwyg for textmate, and started googling. After two years of that, with a couple of hand-coded websites under my belt, I got a job as a web developer at a small company. I pushed hard once I got that job, reading like crazy on my own time, playing around with ruby and rails, trying to get a handle on software architecture and best practices. The way I see it: I'm an excellent musician. If I'm going to leave that career, it will not be to become a mediocre programmer.
But I'm a beginner, really. And I'm old (29!) to really get started in this. I love digging into the computer to make it do what I want, I love fiddling with a layout until it looks perfect, and I love (probably most of all) that I'm doing something useful to others. But the better I get the more frustrated I am with where I am: a .NET shop (not even MVC), lots of legacy code and no hope of adding tests (I've been told off from trying to even dip my toes in those waters), appathetic coworkers, and a boss with no technical or aesthetic sense, but who insists on making fine-grained technical and design decisions. I was happy to get a job with salary and benefits when I had no "real" work experience, but it turns out this is a pretty frustrating place to be. So what do I do? I'm not to the point where my skills match my knowledge, and I really don't think I can get a job at a place where I would want to work. There's only so much I can learn in my off hours, expecially when what I'm doing during the day is contradicting rather than reinforcing it. The way I see it, my options are:
- Try to get another job, even though I don't feel like my skills are up to par
- Stay where I am, and keep trying to get better on my own time, although the longer I'm here the less energy I feel I have
- Go back to school to build up my chops. But I went to college for 8 years and have $60,000 in student loans. I really don't want to do this.
- Strike out on my own for a while and build up skills as a freelance developer. I think I'm pretty good at learning on my own, and if I paired with a good designer I think I could set up a kick ass web dev shop. But I'm not really sure how long it would take to get by this way. I don't have much (read: any) savings, but I can always pick up some freelance music gigs in the meantime.
TL;DR: How do I find the time and energy to get good at this while still making enough money to pay my bills? I'm not looking for a lot. 40-50k a year would feel like heaven. Working in an energetic environment where OSS isn't treated with derision and the boss doesn't use IE7 as his primary browser would be a breath of fresh air.
- edited for formatting
20 comments
[ 3.2 ms ] story [ 56.9 ms ] threadIf you can get a job somewhere else that you like better, take it. If you can't, stay with what you have now and keep learning on your own time.
Never hurts to interview.
I don't have much specific advice, other than to note that a) if I wasn't too old, you're not and b) it never hurts to interview at other companies to get a feel for where you stand. Simply being interested in what you do counts for a lot, and will impress people. You don't have to be "kick-ass" before you're hirable. Yes, having a CS degree would be helpful, but it's unclear to me whether it's worth going into more debt for. Perhaps others could comment on that.
Good luck!
But you're right, it wouldn't hurt to take some interviews. I've been a little too obsessed with employment listings the last few months. It may be that my view of what is necessary to get a job is a little skewed by looking at the 37signals jobs board. When I have to scroll in order to see the whole list of technologies I'm supposed to be familiar with, it's a bit intimidating.
You know that old phrase "I wouldn't join any club that would have me as a member" well right now for you that applies for employment. Any place that is willing to hire you with 0 experience and 0 education, has something wrong with it enough to make them willing to take what they can get.
Basically I would recommend a two prong attack. Start looking for a new job, you are slightly more marketable now that you have some experience, and since you are currently employed you can be a little more picky about work conditions etc.
Second, improve what you can. They don't use automated testing at work? Build it anyway but keep it out of the repo. Don't have a repo? Set up mercurial on your box. Since those kind of places tend to not do rigorous code reviews you might be surprised what kind of freedom you have because of the poor work conditions. Find the places your boss doesn't pay attention and improve those, automate the build, automate deployment, write little tools that make your life better, etc.
But I offer excuses. You're totally right about this and it's what I need to do to stay sane while I look elsewhere. It's either that or compulsively read HN whenever I get the chance.
My recommendation: always be on "learn" mode, always be on "job search" mode, it is the best way to keep moving up (salary wise)
My comment: the industry is full of mediocre programmers, just the fact that you care to learn puts you in a good position.
good luck
Example: http://academicearth.org/courses/the-structure-and-interpret...
Hopefully sometime soon someone will give me another chance. Keep interviewing if only to honing your skills, to see what people are asking for outside of job descriptions, and to get comfortable talking about yourself.
Now someone tell me how to get involved with the local tech scene, when the nearest meetings are hours away and you don't know anyone locally.
As for getting involved, if you're far away from meetups I'd say github is probably the way to go. I'm just starting to get to the point where I feel like I could maybe possibly try to contribute... I just have to figure out what I want to contribute to...
All I can suggest (and it's what I'm doing) is to be constantly on the hunt. Spend a couple nights a week dedicated to the job search. Any other free time, try to hone your skills. If you're interested in something, whip up something in your free time. Portfolios are a good thing to have, even if it seems like interviewers never take a look at them. Just keep at it, you'll eventually get out.