Ask HN: I’m not cut out to be a programmer. What are my alternatives?
I’m in my early twenties. I'm a coder at a great software company. The company is successful, growing, and treats its staff well. They pay well. I have stock options. No pointy-haired bosses. Thing is, I don’t like it. I’m bored.
At school I was always good at math and science. And I loved computers; I loved building them from components, customising Linuxs, but never really programmed in my spare time. I got into a good school for college, found the programming course options pretty easy, and majored in Computer Science. So the default choice was a programmer, right? Well, one year out of College, I’ve realised; it's not what I want to do.
"If today was the last day of your life, would you want to do what you're about to do today?" -- Steve Jobs
I can’t help but think - is this it? I get up, and go to the same old desk, and write some stupid code. Whatever.
I love technology. But coding just doesn’t exite me. I could never get worked up about the subtle nuances of programming languages. I’m definitely not the sort to learn Haskell or Erlang in my spare time. Hell, or even code at all in my spare time. I just enjoy playing with the latest Apple product, watching TV, and reading Hacker News. What kind of life is that?
Should I quit? I make way more money than any of my non-coder friends, and that would be really hard to give up. I know there must be something more fulfilling out there. I have other, less geeky, hobbies and interests outside of tech, that I’ve let fall by the wayside. Perhaps I could combine the two into some sort of startup? I've also better social skills than the average coder (not bragging, just true, many coders can be quite socially inept), and I wouldn’t want this talent go to waste . Starting a company seems like the obvious answer, except, I’m scared, and I don’t have any good ideas.
So, HN, any suggestions?
70 comments
[ 3.7 ms ] story [ 112 ms ] thread- Most jobs are boring, especially after the first couple of years.
- Don't underestimate the importance of good pay.
- It doesn't sound like you have anything better in mind to do instead.
I'd go with some consulting. I personally found that working with developers all day doesn't do it for me (I did it for 3 1/2 years).
Of the people that I really enjoyed working with the most, a common theme emerged. They all had a background in customer facing consulting type roles. So I gave it a try... real customers with real problems that my programming/software design/architecture skills can solve, that's working for me right now. Sure, I still work with developers daily, and at some points in the project, I work as a developer. Mostly though I all sorts!
You need to find a project that lights your fire. Code is just a tool, and it alone will not keep you going. I don't know anyone who likes to code for the sake of writing code. Find something that you can use your tools on that are exciting to you. Find purpose.
I have a different perspective to offer. I found that for a fair few years in my teens, I loved writing code for the sake of writing code. Any project would do, and it didn't even matter if I finished it, I just loved writing the code.
I don't think the fact that I failed to finish most projects impeded my learning much. I learnt an unbelievable amount, and didn't even realise it because I was having so much fun.
What about becoming a tech journalist/blogger/analyst?
1. Happiness at work frequently has more to do with your circumstances at work than with what you do at work. The three major factors are Freedom, Mastery, and Purpose.
2. Unhappiness at work can usually be traced to missing one or more of those factors. You want to identify which ones you're missing, and come up with a plan to gain them without sacrificing the others. One major mistake people make is to make a career change that, e.g., gives them more Freedom but takes away the learning opportunities needed for Mastery.
3. Generally speaking, Freedom and Mastery are functions of how long you've been at a job. You get better at your work and gain more autonomy the longer you stay in a specific field. Purpose is usually a function of company culture. So if you feel like your company is doing great things and you're learning fast but the job is too restrictive, the best option is usually to stick it out and "pay your dues" until you have more autonomy. If you feel like you have plenty of autonomy and are good at what you do but your company is evil, then it's time to join something else.
So of those three factors, what does your current job give you, and what does it fail to provide?
For more on this topic, see self-determination theory: http://en.wikipedia.org/wiki/Self-determination_theory
I agree that oversimplifying can make things worse. There are really dangerous simplifications out there, such as "just follow your passion!" or "do what you love and the money will follow." But Self-Determination Theory[1] is a well-developed field backed by research and experimentation-not something pulled out of thin air like most happiness advice.
[1]: http://en.wikipedia.org/wiki/Self-determination_theory
http://en.wikipedia.org/wiki/Self-determination_theory
Autonomy, Competence, Relatedness.
It's not just work, but the rest of your life. This is something glossed over by a lot of people, particularly in the HN demographic. But I'd look at engagement with family, non-technical hobbies and interests, health and fitness, relationships, community, travel and vacation, and the like.
Work does matter, but it's only a part of the puzzle. The advantage of additional anchors outside the office is that these are often areas in which you have more control. You can be self-directed and cannot be fired in your hobbies, interests, and health (though relationships can and do end unpleasantly at times).
My suggestion is to provide more bases for your self-worth and engagement.
I went through something similar a few years ago. I didn't get a computer science degree but fell into programming on my own because I picked it up easily, but I didn't want to spend the rest of my life being a programmer and I saw that I didn't identify with other programmers that loved their jobs. I've always done some design with programming, worked around a lot of designers, and eventually switched to becoming an interaction designer (which allows me to be analytical with my work but spend a limited amount of time in code).
If there's a way for you to try something else at your current job, don't be afraid to talk to your boss and your peers about it. I thought I would get a lot of flack for not wanting to do the job I was hired for, but everyone in my company was extremely supportive. If you're a good employee, you can be as good doing something else and people want to be supportive of that (and keep you, no matter what you do).
http://www.cbsnews.com/video/watch/?id=10386642n
You say you enjoy 'playing with the latest Apple product, watching TV and reading HackerNews'. Unfortunately, I don't think you're going to find a job where those are the qualifications. However, dig deeper and you might find something.
Unfortunately, you haven't really told us enough to help you find where you fit, but look at the different jobs within your company, and maybe ask if you can shadow a few people for a day or so. Spend some time in Marketing, Finance, etc. etc. The non-programming roles that require an understanding or programming are often in Product/Project Management.
When I was 20, I was fortunate enough to work for a large company and they would ask me to join different teams about twice a year. So within a few years I had experience in Retail (in-store, warehousing and purchasing), finance, customer service, sales, marketing, PR, event management, product development (non-tech), and finally IT.
I don't think enough people spend time learning about the other careers within the company they work for, and miss out on finding something more suitable for them.
Since you are technical & have social skills, you might want to focus on trying out "hybrid" roles (e.g. growth hacker).
If you want to stay in a technology related field, just not programming, I think this is the right thing to do. Talk to your boss and explain your stance. As a company, they are probably more willing to keep employees because you already understand the products, processes, and the people you work with, and you would offer a good point of view in a new department.
Some options could be developing or giving training, high level support, sys admin, db admin, product management, project management, marketing, sales, etc.
If you don't want to stay with the same company, it might be difficult to convince another company of a career change without experience in it.
Given your lack of inspiration, I'd strongly suggest not starting a company just yet. Wait until it's a calling.
If you pick a company who makes products that interest you, that seems like a win. Ideally one where you can get some mentorship in product management as well.
Around that time, my manager's manager bought a copy of a book called _Now, Discover Your Strengths_ for everyone on his team. That book changed my life forever. The current edition is called "StrengthsFinder 2.0": http://www.strengthsfinder.com/home.aspx
What taking the StrengthsFinder inventory did for me:
- It helped me understand my personal talents better than I had ever understood them before, and it encouraged me to develop them into strengths. Prior to reading the book, I had focused on being "well-rounded". This was very eye-opening for me and it completely changed my attitude about my career.
- It encouraged me to find ways to play to my strengths in the job I hated, with the goal of finding a way to enjoy it more.
- When that didn't pan out, it gave me the courage to start looking for roles that might suit me better.
To make a long story short, since then I obtained a graduate degree that would help me develop the talents the StrengthsFinder identified, and I've had two quite different roles that both played very well to my strengths, to the point where I would call them dream jobs. It's difficult to describe just how much happier I am now than I was ten years ago.
In short, if you are looking for ideas, consider the StrengthsFinder. It seriously pulled me out of a rut, and I've seen it do the same for others as well.
As for the question about whether you should quit... consider sticking with it until you figure out what else you want to do. I didn't stay in the QA job I hated, but I did stick with QA while I was working on my Masters because it paid the bills.
After communicating with users for a length of time, you might find that you're passionate about it. You may also respark your love of building things, now that you've interacted with users. You could also find that you hate support and user interaction -- figuring out what you _don't like_ is just as important.
Product management, when done right, complements development and is a great career path for well-rounded individuals.
Not being a developer is prime evidence that a person is NOT a good developer. Everybody who tries to make this play claims they're a good developer that moved on but kept their skills. 90% of the time they didn't have the skill to begin with. There are people in PM roles claiming to be developers that, at least on paper, wrote code for literally six months.
Like engineers, there is such a thing as a 10x product manager. I hope everyone at some point gets to work with an outstanding product manager.
Maybe the original poster will make an outstanding product manager. It's certainly worth exploring.
If you were to work on a coding project that was filled with interesting problems, and fulfilled some core value of yours (maybe making the world better in a way you care about) would you still say you don't care about coding? If so, then yeah, look for something else... If not, then the answer is simple. Find a new job that's inline with your needs or start your own company.
Today, what I do is basically just for me because I'm in prison.
To understand me, imagine you die and go to heaven. You have a computer, but only you can use the programs you write. You have all the time in the world. You could do great things. You don't have to bother with documentation or compatibility. That's kinda sad. You write documentation just for pretend, like you had users. Once in a while, you get a half hearted urge to write something. Mostly it's heart breaking depressing -- you've made a party and invited guests but nobody shows up, so you invite homeless people.
God rewards based on work, even unproductive work. It is not crazy to work just for God to pay you, though reason says nothing happens. Some shit is nasty hard labor. AC97 might qualify. I have the earlier generation (PC Speaker)and the next generation (HD Audio) but not the AC97 generation. My HD Audio works more or less on my machine but not in VMWare. I made a wirewrap D-2-A/A-2-D ISA card on the side when in school, so I got the thrill of speakers, microphones and digital noise. It has zero fascination, for me now. I've done filtering, FFTs, DSP to my hearts content.
I did stepper motor controllers and robots to my hearts content.
I've had a lot of fun over the years.
In my experience working 9 a 5 job makes you numb, in one way or the other. Comfort-zone's a bitch.
Start living frugal, read less HN (start writing), try making things with physical components, and work out. Endorphins do unexpected things to your mind.
If your not happy now, make small adjustments till you find yourself happy with the new situation. And then; disrupt.
There is no answer to happiness. Find the philosophy that works for you; live it.
Good luck, I remember doing a 3 months internship at Agilent Tech yeeaaaarrss ago where at the end I was like - "No way am i ever working in this Dilbert socially backwards environment" Not to say it was a bad place, just not for me.
Since then, I've had 6 or 7 real jobs, in 4 or 5 different industries, travelled round the world, asked loads of questions, tried loads of things and still not satisfied.
It's a tough one, everybody's different and very few people figure 'it' out, hence why you most advice is stupidly simple, short and unhelpful like 'be yourself', 'do what you love', etc... the list goes on.
'Wear sunscreen' https://www.youtube.com/watch?v=sTJ7AzBIJoI
there is a good line in there
"Don't feel guilty if you don't know what you want to do with your life. The most interesting people I know didn't know at 22 what they wanted to do with their lives, some of the most interesting 40 year olds I know still don't."
My 2 cents:
- try everything while still young and while your responsibilities are small, and monthly nut is small. It's much more difficult to have a mid life crisis when you need $4000 a month for mortgages, cars and kids.
- don't chase the $$$ - you'll never be as good as the guy who's doing it cause he loves it
- most people aren't satisfied with what they do, which is why books by Tim Ferris and Chris Guillebeau sell so well, they sell the 'dream'
- as far as happiness... others have already said this, purpose tends to help, as well as self expression, the ability to create something is pretty fulfilling too
- ignorance is bliss
when you said "enjoy playing with the latest Apple product, watching TV":
I'd suggest trying out UX Design / Front End Development
UX Design is becoming more and more important, and so is front end development as browsers are getting faster and faster.
Apple has amazing user design, maybe that's what you love about their products, how they feel.
- get good at javascript / html / css
- build a few things in backbone.js
- dig into user design
- redesign some current applications into what you'd like them to look and feel like
http://www.hongkiat.com/blog/concept-design-facelift-notable...
- build a UX / front end portfolio
- watch these talks
http://www.smashingmagazine.com/2012/12/22/talks-to-help-you...
http://uxdesign.smashingmagazine.com/
http://www.alistapart.com/
http://en.wikipedia.org/wiki/User_experience_design
GOOD LUCK :D
Do you have any idea of what general fields you're interested in? There are still a ton of fields that can benefit from people with strong technical skills that can also get along with other people.