Chasing the Nerd Clout (or, Why Would You Choose Software?)

So.

There’s less than three days left for you to pick a specialisation.

Are you ready to decide what to do with the next 45 years of your life?

Okay, let’s calm down a little bit. It’s not like you’ll be forced to even start a career in your chosen discipline when you graduate. You can even switch specialisations without much fuss in your first few weeks next year. Nothing is final and you aren’t trapped, like you can be 4 years into a medical degree.

But still, it probably feels a bit rank to be making another Big Career Decision so soon after you had to agonise over what to do leaving high school. (Unless you didn’t – shoutout to the gap year and mature student gang.) That sucks, so let’s try and get it right the first time. Might that involve picking Software as your first choice? Let’s break it down.

First of all, a preamble note – you’ve almost definitely heard the whispers about how software is ~competitive~. They’re probably screams rather than whispers. It is true that in the past few years software has ended up with the highest minimum GPA requirement, but please don’t let this discourage you from picking it even if your GPA is low. The previous years’ numbers are never too trustworthy, as it’s relative to how difficult that years’ exams were. Additionally, I know of people who were very much on the borderline of entry, and were accepted after a quick interview with the Faculty. If they had decided their GPA was too low and so to just not apply, they never would have gotten that chance.

The best thing to do is to rank the specialisations in the order you’d like to be doing them. If you want to do software the most, rank it first. Don’t think your GPA is definitely below the border – nobody knows where that border will be. Even if it turns out to be, you lose nothing by trying.

Alright. Now that the icky part is over, let’s talk about the reasons why you might want to do software, and reasons why you might want to let it pass by.

Why You Might Want to Do Software

You enjoy a challenge. Realistically, if you’re an engineer, this applies to you, regardless of specialisation. There’s no running from the hard work that lies ahead of you. But if you don’t get something out of the difficulty, it’ll be an especially tough struggle. This doesn’t mean that you have to enjoy studying – but the more of a kick you get out of figuring out the thing, the easier it’ll be to do the thing.

A bunch of sweaty nerds seated in a lecture theatre with their arms raised.
(Most of) this year’s cohort praising the existence of StackOverflow.

You enjoy coding. Duh. In all seriousness, coding comes in many different forms. If you enjoy coding in all of its different forms, you’ll enjoy all the different kinds of stuff you’ll get to do.

You enjoyed ENGGEN 131, even if you weren’t the best at it. One of the paradoxes of life, amongst time travel and Auckland buses only travelling in packs, is how well ENGGEN 131 represents software as a specialisation. It kind of does and doesn’t at the same time. It does because it’s coding, and you learn many fundamentals in 131 that you’ll use throughout your career. It also doesn’t because it takes a heavy, Engsci-style slant to using code to solve problems in a slightly mathsy way. Softeng-coding is different – it’s less about figuring out how to solve the problem, and more about what the best way to solve the problem is, such that somebody else can actually work with your code. So if you struggled to figure out vectorisation in MATLAB, that doesn’t mean you’re not cut out for software engineering.

You want to impact people’s lives in a very subtle but important way. Software is the backbone of a lot of what the world runs on today. If all software vanished, we’d be rather screwed. However, the work that you as an individual do will likely not shake the Earth to its core. Unless you create a Facebook or Google, you will most likely be making small changes to one bit of software that some people will use. But the changes you do make will matter to those people.

You want to work in an industry that’s growing super quickly. The New Zealand tech industry is growing a lot, and fast. While there’s no such thing as easy guaranteed employment, software is one of the fastest growing disciplines of engineering at the moment.

You want nerd clout. Nah, I’m joking. If you want real nerd clout, you should do Engineering Science.

Why You Might NOT Want to Do Software

You like seeing your work in physical form. This is probably the most important deterrent to software. All of the stuff we do is confined within the bounds of a computer. That computer can come in many different forms, but you aren’t responsible for making that computer – compsys and electrical engineers are. If you like working with your hands to make something physical, something real, almost any other specialisation is a better choice.

You enjoy doing calculations. Personally I don’t, so this was a real plus to me, but it turns out that you don’t need to work with a calculator much to write code. If you want to, you can – certain areas like graphics involve a fair bit of linear algebra – but there are lots of pathways that involve you immediately forgetting everything you learn in ENGSCI 211. If you like this kind of work, software won’t give it to you.

You enjoy working outdoors or generally away from a desk. Engineers get involved in lots of cool things outside of the office – construction sites, manufacturing, labs with big expensive equipment, etc. Software engineers design and write code … most of which is produced on a whiteboard or a computer. I mean, I guess you can take your laptop outside with you … but you get what I mean.

A group of sweaty nerds in formalwear at a social dinner.
Just some of the people I’ve met this year! (The rest couldn’t get tickets to the SESA Dinner)

You don’t need to take software to have a career in software development. This is a big one that a lot of people seem to miss – evidenced by how every year, some people don’t get into software, and then drop out to do compsci instead (more on this at the end). Software and compsci aren’t the only avenues to a job title of Software Developer. There are other specialisations that involve a fair amount of coding while also applying it to other aspects of life. This can actually add value to you as a developer, as you bring a slightly different perspective.

You want to socially interact with other people. Yeah I’m just kidding – software is as socially shut-in as any other specialisation. I’ve met some awesome people this year! It’s all what you make of it. (Joining SESA is a great way to start.)

A Final Note: Software is Awesome, But It’s Not the Pinnacle of Existence

Software engineering is awesome. It’s been tough, but it’s awesome – which is the impression I’ve been trying to give off throughout my series of blog posts. I’m glad it was my first choice and I wouldn’t imagine picking anything else first.

That being said, I think Software can be a bit over-glorified, in the same way that first year biomed students over-glorify medicine. Whether that’s because it’s ~competitive~ and comes with a weird kind of nerd clout or something, I don’t know. (Again – do engsci for that.) But if it’s the coding you’re drawn to, there are many other specialisations you should also consider, like Computer Systems, Engineering Science, Biomedical Engineering, or Mechatronics.

All of these specialisations involve various degrees of coding, but instead focus on other stuff that you can apply code to. Computer Systems in particular can basically become a pseudo-software degree if you want, but you also get the additional experience with hardware. Not only is this valuable to have, but you might simply enjoy it more than learning about disjunctive normal forms and other non-coding material in the Software courses. Whatever you pick, make sure that you’ll enjoy the next three years as much as what you want to do after uni.

A Final, Final Note: If I Don’t Get In, Should I Drop Out and Switch to Compsci?

No. Remember what I said about not needing to take software to become a software developer. If you do this, you miss out on what makes engineers engineers. Plus, you’d miss out on everybody’s favourite lecturers, Jim and Rob. How you could possibly pass on that?

You’re taking an Engineering degree potentially specialising in Software, not a Software degree specialising in Engineering.

———————————————————————————————————————————————

So comes the end of my time writing novels about Part II Software and calling them blog posts. Thank you for reading my posts and especially this one – it’s long, but I had a lot to say. Hopefully I and the other bloggers have helped you make the best choice you can for the rest of your degree – whatever it may specialise in!

And if it’s Software – sorry, Engineering Science – enjoy the nerd clout.