When you hear the statement “software developers are weird”, do you think this to be factual or a stereotyped opinion? Being a software developer and working in the tech industry for decades now, I can successfully say this to be an accurate conclusion to the personality type of most software developers. Don’t get me wrong, I know no two software developers are the same, and with the developer position now reaching younger generations of software developers, the stereotype of what a classic software developer, programmer, engineer, etc., is has changed. Good or bad that’s up to personal opinion but like the technology we’re creating, change is what keeps success thriving.
I know the term ‘weird’ might be jarring to some people because weird can be seen as something negative. But on the contrary, weird is something great. Merriam- Webster defines weird as: Of strange or extraordinary character: Odd, Fantastic. This goes to show that the quirks or attributes that set us apart from others are what sum up our uniqueness and abilities.
In all of my years working with other software developers on the technical side of the technology industry, it’s obvious that we do have our certain quirks. To better help, you understand my reasoning I have come up with a list of reasons why developers are weird.
1. The Isolation
It’s normal for developers to be isolated from people most of the day. The work of a developer is usually a lone path of computer confinement. Looking at a computer screen for hours of the day is the normal routine for every developer. To be in this position you have to be okay will being alone, having limited conversations with people, and your computer being the only thing you see throughout the day. Of course, everyone’s routine is different but for the most part, your workday involves you sitting at a desk, looking at code. Being isolated is a common occurrence within this position.
Many developers are remote workers, so the isolation is more severe. Most of us, thrive in solitude and the ability to have a quiet space to get things done, so being isolated can be a great thing in our line of work. Of course, solitude can be great for mental health reasons and for completing tasks but some people can’t handle the loneliness of it and that’s what makes or breaks the developer. Being isolated a lot of the time is the norm and what is expected, even wanted from developers.
Do you experience positive isolation?
- Likes to spend hours alone.
- Improved concentration.
- Limited distractions.
- Ability to prioritize tasks.
- Elevated creativity.
2. Our Introverted Nature
The mental stamina of a software developer is one of the many attributes that developers have. Introverts are usually very self-aware, you know what you like and dislike, they prefer quiet spaces and are usually comfortable being alone. The role of being a developer is heightened by the necessity of you being able to work independently and effectively. You always have to be prepared, ready for constant change, ready to make constant mistakes, and be able to redo what you already did. When working in software and technology, you typically are working in frustrating circumstances. Being able to complete a project and do it again right after, is the main attribute of the introverted developer.
Are you an introverted developer?
- Like the quiet.
- Like to be alone.
- Get worn out or drained from being around people.
- Self-aware of who you are.
- Take time making decisions.
3. The Analytical & Logical Mindset
Thinking like a computer is a normal circumstance that comes so naturally to us. Thinking logically I know that every problem has a solution. Finding the problem and correcting it is the action that so many developers love to work through. It’s the love for the complexity of numbers, symbols, and letters that keeps the developer interested. The idealistic nature of developers and their ability to create something from literal blanket pockets of data is what sets the analytical, logical mindsets from the rest.
Being a logical thinker in software development is crucial to the work process. Not being able to visualize your solution, pay close attention to details, or make efficient decisions regarding your work is detrimental to the quality of your code. Being logical and analytical gets you the effective solutions you need in the developing community. To write code is to write logical statements of accurate measures to get to the end goal. Software development in itself is logic.
Signs you have a logical or analytical mindset:
- Everything is a problem to be fixed.
- Enjoy the challenge.
- Fact driven
- You like what you like
- Make decisions using your brain, not your emotions.
4. Routine Driven Personalities
Having a routine has been proven to help an individual be more effective and efficient in their day-to-day tasks and activities. Routines help drive positive daily habits that make or break our personal goals for the day. Time management and focus are such an impactful part of software development, so routines help ensure that you’re staying productive and performing to the standards needed to complete your task. Having a successful routine that works for you is dependent on your circumstances and end goals. My routine includes some type of physical activity because of the little movement I do during the day. Writing code at times can be stressful, so breaks are a crucial part of my day. I always suggest regular breaks throughout the workday because of the magnitude of how much time is spent at the computer. Sometimes taking a 5-10 minute break can help me get back into my work. We’re all different and have different working needs. Figuring out what you need during the day, how you need it, when to start a task, and when to end one can help you dictate the effectiveness of your day.
Signs you’re a routine driven developer:
- Like to stick to the same routine.
- Don’t like to be thrown off schedule
- Time management is your forte.
- Your concentration is dependent on your routine.
- You like the order of a routine and how concise a routine enables you to be.
5. Limited Social Interactions (Usually)
Working in tech as a developer, you usually work alone with very few encounters with management and other developers. When your job makes up the sum of your day, you are sometimes bound to the conditions of what you do. Since developing is a more isolating role, you become accustomed to the limited number of social interactions that you have. This doesn’t mean you don’t have friends or you don’t do any other activities besides code but the nature of software development is indeed lonely creation. Developers do such a great job of connecting creativity to digital concepts, but connecting with others proves difficult to the common introverted developer.
Signs you have limited social interactions:
- Mostly working alone.
- After work is done, you still are disconnected from the world.
- You can’t remember the last time you went out with friends.
- You have limited contact with friends.
- Work is the only important part of your day.
6. This State of Mind: “People are Messy, Computers Are Not”
Computers are complex in what they can do and the potential that they instill and create. I look at a computer as a fixable problem. No matter the situation or circumstance regarding a computer, a solution can be reached. People, on the other hand, are unpredictable in their actions and state of being. You always know what you’re going to get from a computer- If something happens that’s unexpected, it’s not usually the computer’s fault but the person using it.
Mistakes happen in software development all the time- It’s a natural occurrence in our process but human error is the reason why computers make mistakes. So the mindset of “People are messy, computers are not,” comes from the notion that it’s us that create the problems for ourselves. It is people sometimes, that create a greater challenge than needed due to their limited ability to solve surface issues with logic, instead using emotion to solve those issues.
Sign’s you have the “People are Messy, Computers Are Not” mindset:
- Prefer code to talking to people
- Think computers are easier to read
- Have less energy after interacting with people
- You believe computers don’t judge as people do
No two developers are the same. I want to reaffirm that I’m not claiming we are. We all have our individual work processes, ways of doing things, quirks, and attributes. I haven’t gone through every life circumstance you’ve gone through and vice versa but we as developers do have some shared experiences, not necessarily with each other but we have shared backgrounds, shared interests, shared skill sets, shared goals, and so on. My weirdness might be different in some type of context from yours but we all have a commonality- That common thread that’s knitted in us all. Our commonalities are greater than our differences and our “weirdness” is what allows our creativity, concentration, and abilities to flow. The weird in us is what makes us the great software developers that we are, so next time someone asks why developers are weird or socially awkward the answer should be “because without this weirdness the job couldn’t be done”.