6 ms·
Ask HN: I'm a beginner working a job I hate. What next?
I went to school to be a classical musician. I spent about 15 years of my life (since I was 12) focused on my instrument, and I got to be pretty damn good. That being said, the life of a freelance musician is not a candyland of great music and concerts. It's teaching little kids who don't care, playing pops concerts for old folks, and occasionally managing to put together a concert of great music that is rehearsed enough to sound the way it deserves, but not getting paid.
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
- suking 16y agoWant to move to CO?
- rquantz 16y agoI've heard great things about it, though I'm pretty happy with NYC right now. Are you hiring?
- stonemetal 16y agoI 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. 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.
- rquantz 16y agoYou are right on the money -- I had that very quote in mind as I was writing (gotta love the Marx brothers). You're also right about the lack of code reviews. I've been able to sneak in a few things that would probably be frowned upon. But there's a limit to how much I can pad my timesheets to hide extra things (though I say this as I've wasted... how much time? ...here today), and the kind of refactoring that would make it possible to add tests to our mix of classic ASP spaghetti with a smattering of C#, webforms, etc., would definitely not go unnoticed. 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.