Many people can't even imagine correctly what they'd rather be doing, some because they've never had the opportunity to have a taste of what they want to do. Finding your calling is an iterative processes.
My recommendation: try many, various, wide-ranging things. Then just like software design, refine, refine, refine. It doesn't always mean starting your own company.
I absolutely agree. In the past four years I've switched from scientist (well, grad student) to mechanical engineer to software developer. Transitioning can be stressful and difficult, but I'm really happy with where I am now. I look at it as if I'm focusing a microscope. When you begin, you use large, coarse refinements until you get approximately the right focal length. Then you can worry about focusing in on smaller details.
While working for my last employer, a big software company, I had lots of free time ... milestones lasted a month, and the work we did in a milestone could have been made in 3 days of hard work by talented engineers with no endless meetings, and no internal systems to integrate to. And we used the worst tools ever.
Having free time was great, but in my contract was specified that everything I worked on in my free time belonged to the company.
Now I'm working at a small consultancy company that's run by an old friend of mine. It's not bad, but we offer consultancy services and that means ...
- at least 3 projects I have to work on simultaneously
- the projects have to be finished as soon as possible, such that we can collect the money :) This means we can't give too much love to those projects (although I'm learning a lot about meeting customer expectations and cutting features that aren't essential ... which is great)
When I joined I thought it would be great since I will have enough time to work on my own projects, and no contract to stop me from doing it. That's not the case :(
At home, when I feel like working on something, I end up working on tasks that are late at work.
Actually, that's the law: if you're employed as a programmer, any programming you do in your free time is copyrighted by your employer. At least in the Netherlands. (More info at http://www.iusmentis.com/copyright/crashcourse/ownership/ .) And yeah, that's pretty sick from an employee perspective, but great if you want to protect yourself as a company. When I was employed, I actually read my contract, so I had a side-note added with exceptions. If you're involved in any open source project, that's probably a smart thing to do. (Again, at least in the Netherlands, but I'm pretty sure that's not unique, since copyright laws tend to be very old.)
Some advice that's stuck with me, "In your 20's you should try everything you can, in your 30's you should focus on what you like best, and in your 40's figure out how to make money doing it."
This advice is best if you plan not to have children. I believe it's well understood now that the best time to have kids (for the health and development of the children) is when you're young, since autism and other problems have much higher risk when the parents are older. Unfortunately, knowing this won't help me now, since I'm in my later 30s already. :)
correct me if I'm wrong but the age of the father matters much less to the developing fetus than the age of mother, no?
I guess I am also assuming you are of the male gender.
My first thought was "Your mom!" but that only goes to show how juvenile my sense of humor is.. :)
Seriously, though, it's a powerful question and I've seen so many people redefine themselves and their lives by answering it. One alternative way to frame it that seems to have worked for others is by planning out your "ideal average day" in detail, hour by hour. Your perfect day might involve a date with Jessica Alba, skydiving, and winning the Monaco Grand Prix, but you couldn't do that every day so the word "average" is key.
Now, I've heard people complain that it's taken them hours to come up with a plan but that it's opened their eyes. Me? I'm currently on the weeks timescale.. indecisiveness, indecisiveness..!
Why working at a startup? You have an image of an ideal that may be a fallacy. I work at a startup and it's not all fun and games. 1) It's a lot of work, 2) there is a lot of bureaucratic red tape (just like any real world business environment) 3) startups are more fluid and flexible, meaning they can succeed quickly, but fail just as fast. My point being that it's not fun to watch your friends get fired because the startup suddenly cannot pay them anymore.
Perhaps what you meant was "Working on my startup." To which I would agree. If I could be doing anything right now it would be working on my own projects and working towards being able to sustain myself through the application of my own skills. Perhaps that's not what you meant, but heed my warning, startups are not a panacea for programmers.
Me too. But why not work on side projects if you're bored? I'm building a web site in my downtime (compiling, honest! :p). Might as well plan for the future if you're not happy with the present
In the past I would build stuff and rapidly open source it. One of those cases where it's easier to ask forgiveness than permission, I figure. If you're not looking to profit from it most companies don't care to come after you.
It seems both significantly less effort and less unpleasant than all the effort and time required to build a new life, or to become happy and accepting with this one.
It is, in short, the easy way out. And who isn't tempted by the easy way out?
Generally I want to work for my rational self-interest. My goal is to attain a state of non-contradictory joy, i.e., happiness. I want to preserve my life, and my liberty, and my property. If I preserve my life, liberty, and property, I at least have a chance to be happy. This is what it is all about. The individual pursuing his own happiness.
So, if I am working towards my own rational self-interest, there is nothing I would rather be doing.
If however I working for the Collective, then I would rather be working for my own rational self-interest.
That is all there is to it. Work for your own rational self-interest. And if you are not, then I would suggest changing that, because you cannot exist for others. You can only exist for yourself. So if you are not working for yourself, for your own self-interest, then it is time to do a re-think. If you work for an employer, that is fine, so long as it is to your mutual benefit. Everything you do must be to your own benefit in the end, and as soon as it is not, then you should cease and desist.
In brief, I will work for me. If I cannot work for me, then I will go Galt, I will disappear, and I will stop the motor of the world (or at least my part of that motor).
I hope, for your own sake and that of your loved ones, that humanity's interests overlap with your own self-interests, for it's better to serve the greater good by accident than not to serve at all.
I think many people don't "find" their passion, because they are afraid of what happends when they commit to follow through. So they find many things interesting, but deep down they are just dishonest to them selves out of fear. I want to argue that a good way to not only find your passion but to living it, is to tackle one's fears and eliminate them. Kill your inner daemons and the dream will appear.
My recommendation: try many, various, wide-ranging things. Then just like software design, refine, refine, refine. It doesn't always mean starting your own company.