As some of the people who are close to me (and whom I trusted with this information) I will as the end of this month start looking for a new job. This has been coming for a long time now (I've been training my substitutes for this day over six months).
My first order of business is to find out WHAT career I'd like to peruse.
As you can see I've got six possible career paths I can choose to peruse which vary on payment and amount of time I'd have to invest in that job.
Let me start of by saying that all of these jobs are careers I'd love to peruse. The big question is WHAT I WANT to do. There are three big categories of careers: Freelancer, Salaried Employee (In Hebrew: שכיר) or senior management.
freelancer
As a freelancer I've got two major options: Instructor and Consultant. As an instructor I'll give two 3 hours classes each day. I LOVE teaching things I'm passionate about and I'm very passionate about anything related to the .Net Framework. A good part of my current job is making sure everyone in my deportment are up to speed in whatever we're working at the moment. There were periods I spent over 50% of my time at working with inexperienced developers in training to higher levels in their perspective fields. Probably the main reason I got my MVP award is my ability to talk with people at their own level on various technical subjects.
While I enjoy teaching, the pays sucks in comparison to any other career. While money isn't my main motivation, I won't lie - It's important to me. I work hard and I know how much I'm worth.
Another option as a freelancer is becoming a consultant. Basically helping various companies create a variety of solutions on a per-project basis. That's basically what I do on my current job. There were periods I juggled half a dozen projects at the same time, so I've got a lot of experience in ALOT of fields. I know I've got a lot to contribute.
The main advantage of this kind of job is also it's main disadvantage - you never strike up roots where you work. You keep moving between different work environments and different companies. It's good because you gain ALOT of experience that way, but it does require a lot of hard work to keep bringing companies up to speed.
Although the headline of this possible career path is "Freelancer" I am currently not considering opening my own business as a software company. I'm good with other people, I love working with people and sharing knowledge between us. Working solo just isn't me.
Salaried Employee
My definition of a "Salaried employee" is "You've got a boss and you have a well-defined base salary". My current boss is a great man and I love him dearly. It's also very nice to know that at the end of the month I get a paycheck with a fixed base salary.
A possible career is being an every-day run-of-the-mill programmer. You get up at the morning, you go to work, you churn some code and you go home. You don't worry about schedules, you don't look at the great picture and you don't care about the customer. I don't see myself being this kind of person. I'm a big picture kinda person. But I sure would love going home at six PM and the moment I leave the office - I leave the office behind me. The pay is good, I'll have more time for my personal life, and I could possibly sleep more then three hours each night.
Another option is doing a career change to an architect. I LOVE coding. I love going from the big picture to the macro level. But I could do more staying only on the big level. If I change my career to an architect I'll no longer be the big fish in the pond. I'll have to start as a junior architect because my architecture expertise is limited. Actually, I'm pretty sure I wrote this option up just to make sure I consider all possible options. I don't see myself working as an architect right now. It's just no me.
My current job is a senior developer and it's a great job. I don't spend all my time dealing with schedules & customers like team leads do, but I'm up-level enough to be a project manager. I know the schedule, I know the features and I know what we need to do to get the software up and running. It's like being armed with every possible weapon and a platoon soldiers and going to battle everyday. You can't just go storming in and wasting everyone's time. You've got to have enough of a plan to make sure you know what you're doing and you've got to know every big bump in the road. This job is very time consuming as you're never actually of the clock. Your MIND is always working on some problem. Wether it's a class you can refactor, a business logic you have no idea how to code, or adopting a new technology. I defiantly seeing my self being a senior developer at my next job.
Senior management
Well, I've got the skills and the experience to manage a small development deportment of up to 16 developers. A position I'd love to have is the Dev VP of a small Startup. I could definitely be great at this kind of job as it will take all my skills to the max. I'll have to use everything I know and the some more. It means managing people, being a 100% in charge of making a project work and of every possible aspect of the development process.
This kind of job will be a lot of work, I'll have to search for this kind of job a lot, it would take a lot out of my life and I'll get a lot out of it. But it could be great.
To conclude one of the longest personal posts I've ever written, I've got some thinking and decision making in front of me. If anyone has any input or advice, I'd love to hear it.