Types of Software Engineer You‘re Likely to Come Across
We, software engineers, are a strange species. We are very active in writing posts, commenting, and liking them, but unlike others, we mostly do that on Stackoverflow (and not Facebook). According to us, a bug is not an insect. And we are shit scared of the phrase — “And one more thing”.
What is your idea of a perfect date ?
DD/MM/YYYY. The other formats are a bit confusing.
That's how we look at things.
Today I woke up thinking of building a calculator. By end of the day, I had developed a decent version of it, but did not know what to do with it. That's how crazy we are to the outside world. But even within the software development community, there are certain programmer archetypes that other programmers find strange.
Let us look at a few of these personalities.
Donald Trump believes that immigrants will take the jobs of Americans. I am no Trump, but I am sure that these engineers will take the jobs of many fellow engineers. A normal engineer works 8 hours a day, but this species of engineers can easily hit 18 hours. That’s a minimum of two engineers in one.
These are the folks your managers are always comparing against.
Look at X. He is still working
Look at Y. She is here so early
They don’t worry about small issues like work-life balance, fitness, etc. Their favorite phrases are:
Don’t worry, I’ll take care of it.
I’ll do it over the weekend
I’ll work on it tonight
Sometimes when you are busy hiking on a weekend, or on a romantic date, they are busy adding a test case to your code, or optimizing a particular block of code in your package, or even adding comments to your repo.
Their desks always have an empty pizza box and a few cups of coffee. Sometimes they may stink as well. But hey, who cares.
The real problem is that no one ever asked them to work like this. And they will even try to guilt-trip the rest of the team with comments like,
Yeah, go home and enjoy dinner. I’ll finish up the next three week’s worth of code by tomorrow.
The Master Theoretician
They are a walking encyclopedia on programming, and software development, and project management, and the theory of relativity, and Area 51. You ask them a theory they know it. Not only do they know the theory they will spend a couple of hours explaining it to you, even if you don't want to know.
They set a very high standard for themselves, which means that the code that you will develop, test, and deploy in a day, will take them 15 days. But their code will be like a Van Gogh’s masterpiece — half of the world will not be able to decipher anything out of it. But it will be a piece of beauty.
The Master Theoretician can be turned into one great asset if you can get them to focus on the project itself and stop spending time working on The Ultimate Sorting Algorithm.
4 Key Habits I Learned as a Software Engineer | Data Driven Investor
I am almost 3 years into software engineering. Honestly, I don't think I am that good at it yet (I don't know if I'll…
The Information Bearers
They are never at their seats. You rarely see IntelliJ open on their machines. They don’t believe they are good at these tasks. But they have one skill — they hunt and gather information.
They rarely go to a cafe alone. They may not smoke, but you may find them in a cigarette station. Their sole purpose is to engage with others to get leaks about other teams.
There are like a secret agent going to different countries to get vital information. Their sentences are usually like this:
Do you know that there is a reorg being planned under Mr. A
I have solid news that Mr. Y is going to get fired
I know that their personal relation is not going too well.
They love spreading information as well. It may be wrong, but that’s not their problem.
They are a force of nature that cannot be stopped. They can do work two or three times faster than anyone else. They are an expert in google search. They don’t bother understanding what they copy, as long as it works.
The problem is, at least half of that speed comes from cutting corners and shot cuts. Their code is as difficult to understand as that of the Master Theoretician, but it is because their code quality is shite. They do not have test cases or comments. Their code is not optimized. Their code is a part of the “don’t do this” example of a programming textbook, but it magically works.
You cannot put two of them on the same project, as it is bound to fail — They will trample on each other’s changes and shoot each other in the foot.
Give them a call if your project is not able to deliver on time, and the priority is just making it run somehow. You may need to create a separate project to optimize and refactor this, but that is a different problem for later.
They love games, period. Ask them any questions on the latest games, or even not the so latest ones. They have an answer. They know the new features of FIFA 20. They know the solution to all of your gaming problems, starting from
I am stuck at the 4th stage of The Last of Us Part II
My PS4 is not booting
Look away if your problem is software engineering related. They may not know the answer, but more than that they do not care about your development bugs. They only work fast so that they can go home and play the next level of The Legend of Zelda: Breath of the Wild
These folks are super confident about any work you give them. A normal interaction with them looks like this:
→ Get them a task
→ Promises to finish by next day
→ Goes missing for the entire week
→ Get’s a reminder
→ Promises to finish by next day again
→ Finally finishes the task a month later
They are the reason the team is missing deadlines. But that does not change their attitude in the future. Whenever a task is allocated to them, something ticks off in their brain that says — It can be done by tomorrow.
They mostly take more work than they can complete. They are usually seen juggling between tasks, and finally screwing up the deadlines for all their tasks.
Last but not least is the average and mediocre. All software industries are filled with them. They lie somewhere in between the master theoretician and the Short Cut Con. Their work is plain normal. “Good enough” is the best you will ever get from Mediocre Man.
Their code is not exemplary, neither is it shit. If you ask them a very technical question, chances are they will go silent, avoiding eye contact.
They do most of the work in a project but are respected the least. They do not talk much in meetings. They hang out with groups of their own and mostly discuss bugs and tasks and deadlines. Most of the time, they are banging their head against an IntelliJ (or Eclipse) window.
They are mostly in awe of the above groups of people.
So, what type of software engineer are you?