Software engineering is a pretty hot topic now. I want to give my take on if you should become a software engineer and answer some questions I’ve been asked before about this career path. Let me warn you… the answer is as clear as mud.

The Good

person holding fan of U.S. dollars banknote
Photo by Sharon McCutcheon / Unsplash

Money

Let’s get this one out the way. Yes, the money can be good with software engineering jobs. However, it’s just like any other field. You have to be decent at what you do and have a track record to prove it. Just because you’ve finished an accelerated boot camp doesn’t grant you access to the super secret $100k+ per year club.

I know developers that I would consider better than me that earn less per year than I do. The inverse of that is true as well, developers that are worse than me earn more than me in some areas.

I’m super motivated by money and luckily this field has a high enough ceiling to keep me entertained, but! I don’t think it should be the sole reason as to why you would want to become an engineer.

The Power To Create!

As much as I love me some money, the power to create sure comes in at a real close second. Think about this for a second… If I can think of it I can create it. That’s pretty sweet to me.

I don’t have to wait around for someone else to do it. Just me, my laptop, and a code editor. I can see instant results too. As soon as I begin typing I’ll either get an error or see something on the screen. This little feedback loop is just simple enough for me to stick around and add one more feature until the project is complete.

You don’t have to work alone either. You can contribute to something bigger than a small project of your own. You can contribute to open source or find a job that allows you to hone in on what you’re really good at within software engineering.

All Personality Types Are Welcomed — Encouraged Even

I know that most of us still think of software engineers as overweight neckbeards that sit in a dark room looking at a screen all day with no outside communication to the world, but that’s not true. Are there people with some of those characteristics? Sure, I think you’ll find that within most lines of work.

One of the most important skills as an engineer is communication and working in teams. Bigger projects require more than one person and different skill sets so you’ll be talking to people a lot. I would go as far to say that if you don’t like talking to people then you’ll find yourself unemployed fast. No one likes to work with “that person”, so don’t be that person.

The Bad

It would be foolish for me to sit here and paint a picture that everything is just so great and magical, but there are some things that may turn you away if you’re not aware of them.

four people holding bubble chat boards
Photo by rawpixel / Unsplash

Communication

So… Like I said communication is pretty important and this is usually where things start to fall apart within teams and companies even. What usually happens is there is a disconnect from the engineers and the business.

The business doesn’t completely understand how to work with engineers and will at times have different expectations for a feature set or deadline. If communication isn’t flowing and more importantly understood by both worlds it may not be a healthy place to work, unless you like being a change agent within an organization.

No Real Way To Determine What Makes A Good Software Engineer

This is a roundabout way to say that interview tests suck. Since there isn’t a really good way to tell what quality of engineer you are, you may find yourself going through brainteaser interview questions with companies until you land a job.

Luckily, most of these stupid brainteaser questions are on YouTube and there are plenty of books, and blog posts on how to sidestep these things. However, this just brings us back to the same problem. If you study all of the hoops that interviewers make you go through and commit them to memory then what good is the test in the first place? I sure don’t know. /shrug

Trading Your Time For Equity

Once word gets around that you can “make apps” all kinds of idea people will crawl up out of the woodwork. They’ll explain to you that they just need a developer to make the whole thing come to life. Some might even have investors on the hook, but trading your time for a lottery scratch-off is usually not a good idea.

Make sure there is a clear exit plan and make sure you get a nice chunk of equity if you’re going to entertain these folks. Make sure they understand that you could easily go get a job at a big company and make 6 figures, so why would you want to take a pay cut and equity?

As a software engineer paired up with an “idea person” chances are you’ll be doing A LOT of the work and there will be A LOT of pressure for you to make things happen all for a measly salary and lottery scratch offs. I’m looking at you “startup hustlers” 😘.