Creating software in your own image

Dorota Parad
Bytes and Senses
Published in
4 min readMar 17, 2018
This cat demonstrates how to get a reflection of your image.

Have you ever noticed how the software eventually takes a shape that closely resembles who created it? I certainly see it all the time.

I’ve allowed myself to save you all the trouble of learning what to expect from a given developer through trial and error, and compiled a comprehensive list below. (I will also not take any responsibility for the outcomes of hiring decisions made based on this list.) Enjoy!

The Nice Guy

It’s that person who never does any wrong and avoids confrontation at all cost. He also never says no. Everyone likes him.

His software works well and fulfills all the requirements. Even those that make no sense bigger picture. It’s just designed to please. You can fully customize every aspect and there are tons of settings, many of them can only be adjusted by a developer though. The code is rife with “if” statements, and a lot of edge case handling is hardcoded.

Crazy Genius

Very smart, but doesn’t talk much. If he talks, most people don’t understand him anyway.

His software is very performant, ultra reliable, and does magic. No one understands the code. The code may rely on common libraries, but will rarely call other components.

The Extrovert

Loves team building activities. Organizes all the parties and frequently shares stories from his weekend activities. You’re actually not sure how he got a job as an engineer.

His software is a composite of code written by someone else. It relies heavily on external libraries, and all the interfaces are chatty. If there’s any data being handled, you can be sure it’s all unsecured, and all communication is unencrypted.

The Perfectionist

He knows when you’re wrong and will not hesitate to tell you. Can be sometimes seen cleaning the dishes or arranging stuff on the shelves very neatly.

His code is clean and beautiful — for some definition of beauty at least. Everything is covered by unit tests. You may find some weird logic that duplicates content of an existing library, but you’ll know that the library must have had a serious bug. You will not actually see much in terms of features, but all the infrastructure will be perfect, and the process extremely optimized.

The Old Guy

He’s ancient. He was already coding while your mom was still wearing diapers. Nothing worries him, as he’s seen it all.

His software is a bit slow, but very predictable. There are hardly any bugs, and if there are some, you consider them features. The code is very readable, although many lines could be replaced with a simple library call. Don’t expect to see any newer languages. All dependencies are at least two major versions old.

[Insert Programming Language] Guru

He knows ins and outs of [insert language] and everyone comes to him when they have a related question.

His software will be well written, as long as you allow him to use [insert language]. But even if you don’t, he will find a way to convince you that [insert language] is the best choice, regardless of what everyone else in the world says. And if he fails to convince you for some reason, before he does any actual work, he will write a framework to make your language of choice closely resemble [insert language].

Hipster

Everyone knows a hipster when they see one.

His code is difficult to make sense of. It’s either using technology so new that you haven’t even heard about it, or so old that it’s been long forgotten. The software actually looks good, although you may not be sure what exactly it does. There may be some useless methods in the code, added there ironically.

Apple Fanboy

You can recognize him by a giant logo of an apple in front of his face (that is, on the back of his monitor).

His software works well, but no one understands why. The interfaces are minimal but tidy. If you want use it for something else than the basic use case, you will likely have to write an adaptor. Also the higher the version, the less features you can expect.

Linux Nerd

It’s a bit hard to recognize him, because he may look and behave like a regular nerd. What betrays him is his love for doing stuff himself, even if it seems inconvenient.

His software is the most secure and performant thing you’ve seen, even if it’s a bit hard to setup (to be honest, setup probably takes days of tinkering and typing weird commands in bash, and in the end you don’t even know how you made it run). Hopefully none of the features are essential for your company’s competitive advantage, because most of the code is already open-source in GitHub.

Girl

Whoa, girls can code???

Originally published at bytesandsenses.wordpress.com

--

--

Dorota Parad
Bytes and Senses

CEO at Rhosys. Loves making awesome software, but humans keep getting in the way.