3 ms·
Programming isn't for everyone. Now, before I answer your question, let me echo what most other people are saying. Unless you were already a good programmer b
by mikekchar 8y ago
Programming isn't for everyone. Now, before I answer your question, let me echo what most other people are saying. Unless you were already a good programmer before you started, or you spent your university days holed up in your room coding for fun, the chances are that you will be absolutely crap when you graduate. You have the advantage that you already know it (most people, including my young self, are considerably more deluded). You've got more than 40 years of a career to become uncrap. It's too early to give up.
Having said that, my first sentence is still valid. Programming isn't for everyone. If you don't enjoy it and you don't want to do it, you don't have to do it. First, don't constrain yourself with your CS degree. If you don't want to do that kind of work, then don't do it. There is an entire world out there. Yes, you've spent 4 years and a metric tonne of cash, but that's a sunk cost. Do what you want to do.
I will have to say that as someone who has mentored a fair number of people in your situation, I can guess your next statement. "But the thing is, I don't know what I want to do. I don't really want to do anything." If I'm wrong, then I'm happy because you can just ignore this next part and get on with your life. If I'm right it's only because it's stupidly common.
Here's the thing. If you don't know what you want to do, then don't stress about it. You can be a programmer for a while and suck at it. In fact, you might as well. Just give yourself permission to suck. It's OK. It's just the time you are taking to find out what you really want to do. I mean, you can work at Taco Bell instead if you want and I won't think any less of you. But programming pays more and you did already pay that metric tonne of cash for the degree. Might as well take it out for a spin around the block.
But if you are afraid that you can't get a programming job, or if you kind of like the technology sector, but want to do something else, you are in luck. There are lots of jobs. I'll list many, but there are many more if you look.
QA -- there are less of these jobs around because it is not as popular an activity as it once was, but you can still find it. Best to look at older, established large software companies.
Sales, pre-sales and sales engineering. A friend of mine gave up being a programmer and got into sales. But he sucked as a sales person. Luckily, his manager noted how good he was at explaining the technology to the customers and he was moved into sales engineering. The cool thing about sales is that you can get a job anywhere and get experience. Expect your ass to be fired about a billion times before you get good at it though. Luckily nobody cares if you were fired as a sales person.
Support and/or technical (or even non-technical) documentation. Maybe you aren't good with solving logic issues, but you are good at explaining stuff. Then this is a good bet. I have a friend who moved from programming to technical documentation basically because he was forced into it (they were desperate for people who understood the system to write docs). Eventually he grew to love it and is now in super high demand.
Project management, etc. It helps to spend a few years as a programmer before you move into this field. It doesn't matter if you are the worst coder on earth before you move. If you write on your CV, "I've been a programmer for the last 3 or 4 years, but I really want to get into project management", you may have to take measures to protect your physical safety as people rush to grab you (programmers, as a rule, do not want to do this job, but their experience is necessary).
System administration. This is really a special skill (well, not unlike everything else I've mentioned). It takes a particular mindset to be a good sysadmin. You need to be a self starter and self reliant. However, the job is more about handling the complexity of the systems than handling the complexity of code bases. It's also got a lot more short term stress as opposed to long term stress -- it's better for some kinds of people. These days you can run the gamut of some guy who pulls wires through buildings all day, to guys who administer networks, to operations specialist all the way to dev ops. Sorry if I'm pidgeon-holing some of this stuff -- I don't want to imply that these jobs are equivalent or even similar. It's just that I don't have infinite space to write about it.
One last anecdote. I had a friend who got a degree in CS at a bad time. He couldn't get a job to save his life. He ended up working as a janitor at a local high school. Whenever there were problems with the computers, he would wander in and fix them. The school made him their full time sysadmin and eventually he worked his way up to be in charge of the computer labs for the whole school board (after which I lost track of him).
Your path in life is not fixed. You can tread any path you wish to tread. I know it is insanely stressful (for some bizarre reason, I tried to be a theoretical physicist at one time in my life -- didn't last long...) As the saying goes, the journey of a thousand miles starts with a single step. But, there is another less well known part of that saying: Which of the steps is the most important? The first? The last? Some innocuous step in the middle? Even if you don't know it, the small things you do in life are just as important as the ones that stick out in your memory.
Good luck!
- xor1 8y ago>Project management, etc. It helps to spend a few years as a programmer before you move into this field. It doesn't matter if you are the worst coder on earth before you move. If you write on your CV, "I've been a programmer for the last 3 or 4 years, but I really want to get into project management", you may have to take measures to protect your physical safety as people rush to grab you (programmers, as a rule, do not want to do this job, but their experience is necessary). As someone without a CS degree but 3+ years of software experience (and a non-STEM Bachelor's), how do I go about doing this? I feel like I would need to go somewhere that would train me on project management, and I don't see job positions like that. It seems like PMs are promoted from within or hired with prior experience. As crazy as it sounds, I think I would enjoy PM work.
- Kagerjay 8y agoDo nonprofit work and implement a solution solving a real problem, this is what I am doing atm. I hadnt done it before but its actually easier than i thought it would be, really its just alot communication and coordination on slack
- mikekchar 8y agoYeah, getting promoted from within is the easiest route. If you are employed now, try talking to your manager and seeing if there are any opportunities. If it's a small team, you may find that you can transition pretty easily just by volunteering to do all the grunt work for planning and writing up acceptance criteria and talking with stake holders, etc. If you already have project managers in your company, I would get friendly with one or two and tell them that you are interested in learning how to do the job. If you work with one in particular on your team, then ask them if you can sit in on stake holder meetings (with your manager's approval of course!), etc. If that avenue is impossible, then I would try to find a recruiter you can trust and say that you are looking for a job where you can transition to that kind of role. Recruiters are often looking for that kind of person. Experienced project managers are often quite expensive. It can be a bit of a gamble when you are hiring them because the job is quite difficult and skill levels are pretty variable. If you can imagine the impact of a developer that has a bad attitude, now imagine the impact of a project manager with a bad attitude :-) One of the cool things about the role is that you can have a kind of multiplier effect -- but that effect can be fairly destructive if there is a problem. Anyway, I've definitely worked in groups where we were begging recruiters to find someone who could start as a developer and then transition into a project manager... Never even got a single person to interview :-). As far as training is concerned, it's probably not going to be possible. In the ideal world, organisations would know what they needed and be able to train up people to fulfil that role. In the case of project managers, usually they just wing it :-) (As a sidebar, the absolute best project managers I've worked with were either trained as building architects, or worked their way up from being a personal assistant -- so you can get an idea of the kinds of skills you need). Again, if you don't feel confident in doing the role right away, I would inflict yourself on your current team and experiment :-) There is just so much work to be done all the time on gathering requirements, understanding acceptance criteria (and documenting it), writing up notes for the "big picture", making charts to help people understand progress, communicating with stake holders (even if it's just walking up to them and being friendly, so that there is as to build up a good rapport), etc. If I was on a team that didn't welcome some help in that department, I would start looking for another situation anyway. As is often the case, you may have to put in a few hours of overtime here and there so that you have time for the extra work, but eventually people will start to depend on you and you can easily justify it in your normal day job.