Ask HN: 21-year-old coder recent grad has no idea what to do with his life
I am 21-year-old coder who has recently graduated with the highest degree (like it matters), got a job that starts in a few weeks, and I just don't know... I am just sad. I am not sure what to do with my life. I've always wanted and always believed that I would do something special, something interesting, create my own startup or work for one that I truly believed in even if it had only 1 percent chance of making a huge impact. But instead I had to do a reality check and find a job. And this job of mine just does this software for money, nothing special, it's just business... I tried reaching out interesting companies, but I was unsuccessful, because I am terrible at socializing and blew those interviews even though I was successful at technical stuff. I have to feel lucky I got this boring job at all. And I must take this work, who else is going to pay my bills. I've been coding since probably like 12-13 years old, I've created dozens of projects but they were all unsuccessful. Realizing that you are just an average guy who will be just as everyone else, and you'll never ever create something that truly changes the world and has impact on it is fucking scary. I really enjoy implementing my own ideas into software even if I know it'll be most likely unsuccessful, I can spend hours and hours just coding, and I love it. However, I haven't had any unique (at least a little bit) ideas in months, and it's killing me. And now with starting a 40-hours a week job I'll probably be tired to think of anything new or code something for my own pleasure. I just don't know. I am not sure what I am asking here with this terrible non-sequential writing. Maybe for an advice, or maybe I just wanted it to get it off my chest. Ah, life sucks being ordinary. And it's so funny, people elsewhere have real problems, like what to eat for dinner, or how to survive a war, and I'm just sitting here, being privileged pretentious asshole with self-made problems. Omg, I am an idiot.
60 comments
[ 4.7 ms ] story [ 61.3 ms ] threadThere's no need to be so hard on yourself. You don't go about dismissing other people because they haven't reached the pinnacle of success at 21, do you?
You're already hacking on code 40 hours a week, it may be time to hack on something else in your spare time.
I did the same thing, but without the added benefit of making any money like you're doing now. I had such a strong notion of what I wanted to do, and as I spent more time messing around with ideas in my spare time and learning more about what I wanted for myself, those notions changed so radically that I went from stem cell research to IDEs in a matter of years. The thing that helped me the most were the people around me. I was able to talk out all my thoughts and worries and anxieties. I was able to share in other people's interests and passions to see if maybe those were mine too. It made me feel like I wasn't alone, like things weren't hopeless, and like I had the potential to be extraordinary if I wanted to be. Ultimately the things that have truly begun to define my life came from utterly unexpected places, and almost entirely from the cast of friends and family around me.
Hang in there, the path gets clearer.
I've had some luck with meetups.com and going to a couple of them. For example, I recently joined a non-profit that makes/helps maintain other non-profits full stack websites. Even though the programming isn't challenging, I get enjoyment from the idea of helping others. Try to broaden your interests. You (and me) are only 21. We have our entire lives ahead of us. You know a highly marketable skill, so you don't have to worry about getting a job. You can shape your own adventure, make your own life and do stuff that makes your happy.
Beyond that, why don't you try to push yourself at work by taking on more work or by creating new work for yourself? There are hundreds of posts about jobs that are boring and how to improve them. Luckily for you, software engineers are often given a lot of freedom to experiment.
When I lived in Brighton I got to meet O'Reilly authors and core devs of popular languages.
It's also great for building confidence (by doing talks) and getting hired.
You can always work on interesting things in your free time.
2) Read some Stephen R Covey books. The best thing I ever took from Covey was his statement about life "To live, to love, to learn, to leave a legacy" When I question myself, I ask if I am fulfilling one of those 4 goals.
3) Stay out of debt! Debt will ruin you.
4) Don't wait for tomorrow. It never comes. (To live)
5) Mentor someone (To leave a legacy)
Good luck!
Don't take your 40-hours a week job as a death sentence. Take it as a way to make ends meet while you plot your course.
Before I took an office job, I could make small projects but couldn't program beyond maybe 1000 lines of code without running into trouble. At my job, I learned to be a great programmer, an engineer and a software architect. I became focused and patient. It is often a necessary right of passage for those 'great engineers' and 'people who change the world' to work in an office. It can take years, but you can become a better engineer than you ever dreamed you could be.
Trust me on this: you might like it a lot more than you think.
What I wish I'd have been able to do at your age is learn the stuff I'm learning now. Design patterns, how to refactor. Test-driven and Behavior-driven development. But that's just me, your problems might be different and need a different approach.
If you don't have any ideas, learn more about the world. That will give you ideas about what you can do in the world. Just go with your gut. Do you feel like learning new programming techniques? Take your first paycheck and buy a bunch of books. Do you need problems to solve? Get out and meet some people. If there's one thing about 'people' that's remarkably consistent it's that they all have problems. Do you just want to have more fun? Try a local bar or save up some cash and travel.
There are tons of directions to go in the world. All you have to do to feel fulfilled is to pick one and start moving.
It's a huge adjustment, and I still find myself backsliding, but you can train yourself to dedicate that bit of time you have free to working on your own stuff. It won't happen overnight, and you have to be understanding with yourself when you're tired, but a 40 hour a week job doesn't limit what you can do.
I find this to be very true. When I started out in the professional world, I rarely wanted to work at all on my own professional development after work. After a year or so, I became much more comfortable with my responsibilities at work and was a much more competent employee.
I found that frustration at work fueled my motivation to rise above the 'average' developer and truly master the technology stack that I currently work in. I started identifying activities that were eating up my time and my productivity (too much web browsing, too many games, etc). I started working on SMALL projects with realistic scope. Completing these small projects motivated me even more and the momentum helped me continue the trend.
Now coding outside of work is fun again, and even though I'm not changing the world, I know it made a noticeable impact to my skills as a developer.
OP, I think a lot of us have been in a similar boat. Making the transition into the real world can be an anxious or even scary time. Don't worry, keep your head up and don't try to focus on all of the unknowns at a once.
Look at your current employment as an opportunity for personal growth. If you are confident about your technical abilities, hone your interpersonal relations instead. Use the time wisely and try to reflect on your progress as objectively as possible. Try to find someone at work that you can get along with and maybe ask for advice from time to time.
The 1% club can't be inclusive, that's just how it works.
Also, you say you've created dozens of projects but they were all unsuccessful. Why? What caused them to fail? You might be able to use your office job to learn skills that will help you avoid those failure modes in future projects.
(One common failure mode, which pg talks about in many of his essays, is not making something people want. Your office job should at least help you learn how to do that--even if it's making what your boss wants instead of what users want. But that still helps you get over the mental block of thinking that whatever you have coded must be important because you coded it. If you're coding for fun, it's fine to think that way; but if you're trying to make a "successful" project, then you have to face the fact that you don't get to define what success is. Don't feel bad if you have that mental block: most coders do--I certainly do. It's just something you have to learn to deal with, and that takes time.)
Find mentors at various stages of life. Talk to them, figure out what worked for them and what didn't. And why they're there.
If you don't like what you're hearing, take a counter-strategy. At a previous job, I noticed most of my coworkers were out of shape, divorced, and unhappy. Also completely out of touch with technology.
I did the opposite and I got out after a year or so.
Hope this advice helps in some fashion.
So stop achieving objectives and start answering questions. Pick a question, any question, and answer it. If you need a starter question ask this one "What is the difference between a life well spent, and one that is wasted?" There are a number of written works where the authors have talked about the answer. read at least six if them, do you agree with any of them? all of them? What do you disagree with? Why? Answer that question. Continue until you die.
One day you'll cherish the day you realized you were ordinary.
Think about all the people who run, run, run, all their lives, chasing some fantastic dream of success (whatever that means), only to retire slightly wealthy and die of a stroke 2 weeks later. They never got that insight, and they lost their entire lives for it.