3 Things Software Developers Don’t Need to Know

3 Things Software Developers Don't Need to Know Featured Image

Everyone talks about the skills you need to know to be a developer, but has anyone wondered which tips you can ignore? That’s my goal today! We’ll take a look at three topics you definitely don’t need to know to be a software developer, and don’t let anyone tell you otherwise.

Table of Contents

The List

If you stick around developer forums for too long, you’ll notice that everyone in the community loves to share their two cents. Of course, if you followed everyone’s advice, you’d never have enough time to actually learn anything. As a result, I thought it would be fun to put together a short list of things I don’t believe you need to know to be successful in the field. Hopefully, we don’t piss too many people off today.

Math

Right off the bat, I’m going to start with a topic that is sure to get some backlash: math. I don’t think you need to know math to be a good developer. In fact, I would go as far as to say that the amount of math universities teach developers is often useless. Not once in the last ten years have I needed calculus in my day-to-day work, and I expect to go another ten years without the need for that knowledge.

For the most part, you can get away with knowing arithmetic. In some cases, algebra is useful. I’ve done a bit of algebra when working with graphics. Even then, there are so many libraries out there that do math for you that you’ll never need to implement any of them yourself.

That said, the deeper you go in the field, the more math you should probably know. For instance, if you go into machine learning, you should definitely know a lot of math. Any scientific application of software will probably demand a bit of math. Even game developers should know some math.

Overall, my general advice would be to only learn math as you need it. It’s a bit weird that I was required to take three calculus courses and a differential equations course only to use addition on a regular basis.

Syntax & Semantics

In general, you should know the syntax and semantics of the particular language you’re using, but I don’t think it’s necessary to have all of it perfectly memorized. Outside of the core language syntax, there are probably thousands of libraries you’ll use where you’ll spend much of your time reading directly out of the API. That’s okay! Don’t waste your time memorizing every function.

Over the last ten years, I’ve used a lot of programming language features and libraries, and I’ll tell you what: I could not recite a function’s parameters to you off the top of my head. And why should I be able to do that? Libraries change all the time. As soon as you have something memorized, it’s probably changed.

What I would recommend instead is to get really good at reading documentation. You’re ability to make sense of someone else’s work is your biggest asset going forward. And if the docs suck, you should be good at looking things up.

Computers

It may seem kind of silly, but there are no developers who know everything about computers. While I’ve built my own computer, I certainly don’t know how all the pieces work. Like, I have an understanding of how semiconductors work, but I certainly couldn’t build a processor myself (even with the right equipment).

Outside of hardware, there are several other topics to contend with like networking, databases, file systems, operating systems, etc. There is not a person on this planet that knows everything about these topics. Instead, folks specialize. Therefore, you might really get to know how operating systems work because you want to work on them, but don’t expect a web developer to know how they work too.

The unfortunate side of this misconception is that most folks outside the field hold it. To them, you are an omniscient wizard, who can fix prints, speed up laptops, and build websites all before lunch. Even in the magic world, wizards specialize. Why wouldn’t we?

Knowing What to Know

The ultimate challenge in becoming a developer is learning what you actually need to know, not what some YouTuber or Blogger told you to know. The best way to figure that out for yourself is to embrace your curiosity. You’ll never know what you need to know if you don’t try and fail at something. So, take a risk and make something!

If you’d like to try learning something with me, check out some of these related posts:

Likewise, if you’re interested, consider helping The Renegade Coder grow. We’d appreciate the support! Otherwise, that’s all I have for you right now. Take care!

Jeremy Grifski

Jeremy grew up in a small town where he enjoyed playing soccer and video games, practicing taekwondo, and trading Pokémon cards. Once out of the nest, he pursued a Bachelors in Computer Engineering with a minor in Game Design. After college, he spent about two years writing software for a major engineering company. Then, he earned a master's in Computer Science and Engineering. Today, he pursues a PhD in Engineering Education in order to ultimately land a teaching gig. In his spare time, Jeremy enjoys spending time with his wife, playing Overwatch and Phantasy Star Online 2, practicing trombone, watching Penguins hockey, and traveling the world.

Recent Posts