Software engineers are weirdos in the media. On screen, we’re either eccentric geniuses or socially awkward losers.
In the movies, programmers have magic powers, like they can hack the CIA in an instant. Or people see the stereotypes and think, “That’s not me, I can’t be a software engineer.”
But that’s simply not true.
Let’s debunk some common myths about software engineers we see in movies and TV shows. It’s okay to laugh about them–a lot of tropes have a kernel of truth.
#1 Software engineers use a lot of math
The first myth is that software engineers use a lot of math. People think that programming takes trigonometry or calculus.
Programmers use logic, yes, but we rarely do advanced math.
Some domains like graphics or machine learning might use advanced equations. But if you’re just building a webpage, you want to make it as simple as possible. There’s no need to use calculus to measure the position of the “send” button on the user’s screen.
In reality, most software engineers use very little math.
#2 Software engineers are all nerdy loners who live in the basement
Hollywood has created his trope of the solo hacker who wears a dark hoodie, plays World of Warcraft for 12 hours a day, and drinks copious amounts of mountain dew.
Nothing could be further from the truth.
Real software engineers are ordinary people. Moms and dads. Charismatic people, outdoorsy people, social people. They come from every continent and connect through terminals and whiteboard meetings.
Some programmers are the stereotypical white male loner type who can’t get a girlfriend. But that’s a fraction of every profession. You don’t have to be a dork to be a programmer (to be fair, I’m a pretty dorky guy myself).
#3 Software engineers never need to talk to people
There’s this idea that software engineers stare at computer screens all day and do nothing else. They never talk to other people, and if they tried, they wouldn’t know how.
Unfortunately, developers do have to talk with other people.
At the start of your career, it’s mostly your manager, teammates, and product owner. You write emails and design docs. You ask for advice choosing between solutions A and B.
Later, you talk with people on other teams, users, and customers. Junior engineers come to you for advice. Maybe you become a people manager.
Eventually, you’re not limited by your technical knowledge. Instead, you have to learn how to communicate better to coordinate with other engineers. After all, communication is a superpower.
#4 A single software engineer can build an app in a day
I remember watching The Internship and one of the characters got an idea for a mobile app. Another one of the interns said “I’ll code it up on the bus ride back”.
Hold up. You’re telling me you can code the model, the view, the view controller, the networking classes, and add in the system API calls, all in 1 hour? I’m guessing you’re going to skip UX design, architecture, the settings page, accessibility, color blind mode, privacy, security, authentication, error messages, low-connectivity edge cases, on-device storage, cloud storage, and bugfixes. And don’t even think about unit tests.
Oh, and if you want it for both Android and iOS, double the time commitment.
So, no, it’s not possible to build a full app on the bus ride between San Francisco and Mountain View. Once the app gets big enough, it’ll take one hour just to compile. (I wish I was joking.)
It is possible to program a simple app in a weekend. But it has to be simple. Building a high quality piece of code takes effort. If you rush, you’ll end up with the a buggy product that no one wants to use. To build something more complex, you’ll need more people or more time.
#5 All software engineers know how to hack the government
In every movie with a hacker, there’s a scene where the action hero tells a programmer to “hack” the government. It happens instantly and flawlessly.
Pardon my language, but that’s a load of baloney.
First, you have to be specific about what you’re trying to do. Are you trying to modify some rows in a database table? Are you trying to read from a file you don’t have permission to? Are you trying to take down a website?
Additionally, if you really want to hack a well-defended system, the job would take weeks. Governments and corporations spend billions of dollars securing their data with professional engineers who know the tricks of the trade. The hack might take longer than expected, or it might not succeed at all.
Being a real hacker is hard. But if you want to pretend like you’re in a movie, there’s always hackertyper.net.