Recently I wrote about why you should become a software developer and all the benefits that come with it. It's a great career and an awesome field to study. I for one am glad I chose it among the many possible options in life. But now it's time to dive into the reasons why you should not get into this field, based off of my own experiences and friends and coworkers alike. I've been doing this for about a decade now, and there have been more than a few times when I've told myself that I should of been a doctor, or Alaskan crab fisherman. Suitcase packed up and ready to go, I always come back. And that says alot about the field. Once you get over the frustrations that are inevitably involved with any and all jobs, you get to see it for what it is. And it's a pretty awesome thing, for some people.
1. If You Don't Want To Work Too Hard
Software development can be a difficult task, depending on the company of course. Managers might not know what "difficult" is sometimes. At my previous jobs, they knew what difficult was, and they dished it out. But I've had friends at different companies tell me what they were working on, and as my jaw hit the floor, I felt a bit bad for them. Not because it was difficult work. No no, quite the contrary. Because they were spending weeks on tasks that I would have only 1 day to finish. Once they leave there thinking they are the kings of the web onto new ventures, they are going to have a hard time. Also, companies like Microsoft and Google probably won't hire you if all you've done is spent the past month making a new menu with "hover states". Yeah, I know someone that did that, and they were the lead in their department. It happens.
Initially, none of us are good at anything really. That's the blunt truth. Years of mistakes and bugs and hundreds of hours spent with knowledgeable people helps us become better at any job. Sometimes. I've worked with plenty of people that didn't want to learn from their mistakes, hated talking about development and just did the bare minimum to get through their days and not be fired. At some point down the line, most of their acquaintances moved on to higher paying jobs at different companies and they were sort of left behind maintaining some pretty crappy code that they wrote at some point.
2. If You Value Your Personal Time
This job can sometimes suck. Working for teams of people leads to unrealistic deadlines and even worse, impossible tasks. Big project due next week and your lead read the specifications backwards? Well tough luck. I've had jobs where I've worked Mon-Sun straight for 2 months. Jobs where you go home, take a 1 hour nap, then jump on your laptop for the hourly meeting setup. It's tough, and not really rewarding in that moment. But it's the reality of the job. When you work on a high traffic website, things happen. Visitors are lost, competition springs up, and really bad bugs are found. The next quarter when your last project brought earnings up by 5%, that's the rewarding moment when you can sit back and enjoy a drink.
Alot of times you will be taking your work home with you. Not necessarily doing the work from home, but at the minimum trying to figure out how you're going to implement it. My first big project was creating an AJAX chat application that could be used across a whole suite of websites. I had 0 previous experience with anything web related. But I was a young guy and the managers wanted a fresh take on it. For 2 weeks, my entire life revolved around this project. Being told that a major corporation paid big bucks in advance to advertise on the app did not help. About 60% of that project was figured out at home at some point in the weekend. Notes were taken and plans were made, then on Monday morning in the office I could get to work and ask advice from my fellow co-workers. Those type of projects happen constantly sometimes and some people can't handle it. I for one, didn't really mind them. They were challenging as heck. It's like the ultimate midterm in a way. Some people might think I was crazy to not just come in Monday and quit my job. Well, every Monday I came in ready to quit my job. But then you would end up letting alot of people down and I'm not one to run away from responsibility because it's a bit tough.
There is a reason many of todays major tech companies offer their employees sleeping areas and full kitchens. It is because they are going to be there a while. It's a silent agreement. The company knows it, and the employees know what they're getting themselves into and they continue to flock in, because personal time has many different meanings to different people. Do I wish I could spend my day with friends coding awesome stuff? You bet I do.
3. If You Just Want To Make Money
looks very nice, I know
A good software developer is worth his weight in gold. And at current gold prices, well that price is declining..but regardless. That's not always what they are paid though. The median average for a software developer is roughly in the 80-90k range according to various online job statistics sites. Which isn't a bad salary. But, unfortunately, you probably won't make that for a while. In my relatively short career I've seen way too many people unprepared during interviews, unprepared for the job, and they get waved by until the right candidate is found. Eventually those people end up working for some small company and making the bottom 5%. Alot of those numbers are also based off of very large tech companies that can afford to pay their employees well, but in return require a higher level of skill. If you work for Google or Amazon, you will probably not have to worry about cash for a while. But that's if you work for Google or Amazon, and there is a looong waiting list in the department. Those companies make it a point to hire top level talent to work on the future pretty much.
I've had good friends who have tried to get into the Software Development business. A year after, with no luck or prospects in sight, they head into a different field. I've seen plenty more people come through making 40% less than what I've made, mainly because they hadn't worked much in their lives or maybe the interview didn't go so great, but management figured they can get someone for cheap and pick up the work as they go along. You can be paid alot in this field, but unlike those dreams of grandeur from college, you might be tired of the job before you can get to that point.
4. If You've Seen The Matrix Too Many Times
Or Swordfish, or Hackers, or any other film where computers work in awesome and awe-inspiring ways. Sometimes the job is not very glamorous, to the outside world, but it's equally as rewarding as anything that Zero Cool or Tank ever did. And also let's be honest, those guys weren't doing anything that exciting anyhow. Loading a "Jump" program sounds like typing exe jump on a terminal to me. I'm normally good at watching movies with their own versions of user interfaces, but when I see someone in a film reading 1's and 0's, I cringe a bit.
This is more or less how I start a new project normally. Nothing too crazy or exciting about it. I hit "New", and before my eyes a new website is created for me. Then I fill in the gaps. I mean, I get it, the movies wouldn't be too exciting if we just saw people staring at a screen for 2 hours, just to realize they had a semicolon in the wrong place.
5. If You Don't Love It
If you love what you do, then you don't feel like you worked a day in your life. I heard Jim Koch say that in a Sam Adams commercial. I personally love this career, which is why I spend 12+ hours a day doing it, learning about it, becoming better at it and talking about it. Just as you would want your doctor to care about his patients, you would want your software developer to care about the websites, phone apps, and desktop apps that they build. Too many people spend way too much time hating their jobs and just going along with the motions. If you get excited whenever you talk about the next project at work, you're probably in the right field.
I'm sure no astronaut ever said "space again?". Sometimes it sucks, sometimes no one knows about your accomplishments that day, sometimes you fall asleep doing it and then end up typing nonsense which you try and decipher the following day. If any of that sounds like something you wouldn't want to deal with, you probably shouldn't become a software developer.
Did you find this article helpful?
Stay up to date with my weekly coding tips!
Walter G. is a software engineer, startup co-founder, former CTO of several tech companies and currently teaches programming for a coding bootcamp. He has been blogging for the past 5 years and is an avid BMX rider, bio-hacker
and performance enthusiast.