Not True Facts About Software Engineers

Ferdinand Chandra
5 min readDec 16, 2020

--

https://id.pinterest.com/pin/304837468499583996/

Depictions of software engineers are scattered in media known to man. From movies to memes, to social media posts. All these pieces of information about software engineers often cause a misunderstanding about the job. It made rumors, hearsay, gossip… I don’t know the correct term 😂 It’s basically what a lot of people say and believe, but it is actually incorrect. So in this story, I would like to share what we (software engineers) are actually doing.

1. Typing All Day

https://giphy.com/explore/typing

Most people assume that software engineers are in front of their laptops, typing thousands of lines of code from 9 to 5 on a daily basis. I can understand though… since most Hollywood movies or popular American TV shows portray a “computer guy” as the role of a “hacker” (or should I say “cracker¹”). As in real-life scenarios, software engineers’ job is far from it.

Yes… we do have to write codes for our software, but we don’t do it tirelessly. Are you insane?!

The truth is, we spent only 20% of our day writing codes. Whereas for the other 80%, we spent on reading codes. Almost all of the software products are the result of a team of software engineers. This means as a software engineer, you almost never work alone. You always have a team who contributed and wrote codes in the same codebase. Sometimes you need to read a bunch of code first to give you a general idea where the best place to start your implementation. In the refactoring² scheme, you need to read the previous code to get the gist of what the previous engineers want to achieve and/or avoid. You also need to review someone else’s new code implementation before it’s merged into the codebase almost every day.

https://thomasomenos.home.blog/2019/11/20/please-review-my-code/

Another thing that we also that most people don’t know about, is that we sometimes had a “pause” moment. It’s when we put our hands away from the keyboard, and then stare at the blank slate or through our office windows.

Photo by Ethan Sykes on Unsplash

It’s mostly because we are in a deep thought kinda situation. Software engineers’ job is basically problem-solving. This state is the actualization of the activity itself. We were actually thinking inside our heads! How do I explain it… It’s like we’re running a “simulation”, weighing up whether our code is the correct one while simultaneously asking ourselves: “Is this code good enough? Will it break in the future? Is there any case that we miss out that can cause our product to burn in flames?”.

https://github.com/qw3rtman/git-fire

So if you happen to encounter a software engineer who seems to be lost or staring at a blank slate — no… they’re not high nor lazy. They’re just thinking.

2. Lack of Human Interaction

“You’re so lucky, you’re a software engineer. You don’t need to deal with people — just the computer” is a common phrase that I often hear. There’s this belief that a software engineer's job is to only type a bunch of code as soon as they receive the requirements.

https://id.pinterest.com/pin/66357794481844715/

I can confidently say that this is completely wrong, it’s actually the other way around.

Software engineers are actually still dealing with a bunch of people. In fact, we regularly deal with people. People that I can think of are the [1] product managers [2] the designers and [3] the QA who test our code.

https://www.slideshare.net/angela_sw/product-teams-software-development

We don’t just accept requirements, we also discuss the requirements thoroughly with them: What’s the goal of our product? How do we measure success metrics? What’s the product’s expectation? What if a certain edge case happens?

Even if you don’t work closely with them, let’s say you’re a junior developer — you still need to also communicate with other peer engineers.

As I’ve said above, software engineers are working in teams. Large tech companies tend to have a dedicated team that has specific objectives. You need to be able to understand how to reach this cross-functional team. You need to be able to state your request and work collaboratively with them.

https://www.youtube.com/watch?v=4FMdbwDdHlw&t=869s&ab_channel=JomaTech

So if you pursue a software engineer career and expect to not have human interaction at all… sorry mate, you’re in the wrong lane.

https://giphy.com/gifs/high-quality-highqualitygifs-dhsBE8zk1xd9wUE8yS

Finally

So yeah… I guess that’s wrapped it up. Those are the things that I would like to debunk on this occasion. We’re not typing in front of the computer all day, we’re not a robot. There’s a lot of occasional staring or pauses throughout the day. We are not lacking in human interaction, it’s actually the opposite. Software engineers are required to be able to work collaboratively in a team, so there’s no way we only have to deal with monitors and keyboards.

Hope you like this story 😀
Thank you for reading.

Cheers 🍻 — Ferzos

--

--

Ferdinand Chandra
Ferdinand Chandra

Written by Ferdinand Chandra

Opinionated Frontend Developer 🇮🇩

No responses yet