I’ve recently been thinking quite a bit about attitude and how it impacts own our happiness and effectiveness. In my developer community, devanooga, I see negative attitudes ruin people’s happiness, engagement, and the vibes of the greater community almost every week. This post is about an attitude shift that I want to see in the greater developer community, and in my own life.
Your Attitude in your Community
Whenever I’m talking to an engineer, especially someone early in their career, I always recommend that they join a local developer community. Networking as a nerd is particularly difficult as we tend to be a bit more anti-social than most. Writing software is often a very solitary practice and that tends to draw a certain personality type.
When you join a community, your attitude and the attitudes that community fosters are the most important part of the health of that group. No one wants to be part of a community of curmudgeons and negative people that are constantly pointing out everything they hate.
My goal in my career, and the community that I’ve founded and worked for nearly a decade to curate has been to be the person that people think of as being reliable and down to tackle hard problems. I want people to see me as someone that can communicate my ideas, consider alternatives, and execute on the consensus. I love to teach people and if someone has a good attitude and is motivated, I will certainly bend over backwards to do everything I can to make sure that they are well equipped to tackle the problems they have, start the career they want, or simply build some goofy fun project – whatever it is.
The one thing I hate to see in my community, more than anything else, is complaints without ideas. Complaints like that never come from people that are capable of making a change. They never come from people hoping to help. They never come from people with a good attitude. Some examples of what I’m talking about:
Windows sucks at handling audio
Ok, maybe it does. But have you considered using macOS or Linux? Have you considered an external audio device? Have you tried audio routing software? Do you want to fix this or do you just want to complain?
PHP is a horrible programming language
Right, we get it. It has lots of problems. Oddly, I tend to hear this mostly from people that write JavaScript on Node, which is measurably worse in many ways. I’m all for languages like JavaScript and PHP being an introduction to programming for people even if they are flawed. They are both languages that are ubiquitous and used everywhere. They can both be used to teach strong programming practices and paradigms like OOP, DI, SoC, etc. But like most tools, they can be wielded improperly and create foot-guns.
AI is useless slop
AI/LLMs, whatever, is not perfect, that doesn’t mean it’s useless. AI will never be able to replace the value I provide. But used as a tool, it can increase your productivity. Learn the tools at your disposal. Learn to use them properly and in the appropriate context. If I’m using an AI agent to implement a feature in software, I know that I will be relying on my ability to read and fix code that I didn’t write. If you can’t do those things yet, then learn the fundamentals. Use AI to create things and learn why it’s flawed so that you can get better at the things that are truly valuable in your career.
How Negative Attitudes Hurt
In every community, or in your workplace, the most vocal people also tend to be the most negative. I’ve definitely been guilty of this too. It’s easy to find a problem and point it out. It’s hard to find a problem, find a better path, and present it.
If your contribution to a community is to point out things you hate, then everyone will see you as a hater. You’re bringing down the collective attitude of the group to meet you instead of contributing solutions. This attitude is a poison pill in every organization that it appears in.
Does your helpful coworker want to work with you to fix your problem if you can’t even be bothered to do the most basic research? Does the smart and capable person in the developer community want to speak up to help you and risk being the next victim of your bad attitude?
It’s become my personal goal to point out these negative, community hurting attitudes where I see them and course correcting for the good of the overall community.
Your Attitude on Tools
Learning new tools is hard. Finding ways to incorporate them into your workflow
is especially hard. I’ve been a die hard vim
user for decades, but that’s
manifested in many different ways. I used emacs
as my primary editor early in
my career with evil-mode
so that I could keep my beloved vim
modal editing.
I use a Vim emulation mode for VS
Code for the
same reason. I know that there are limitations with using vim
directly, and I
know that tools like VS Code or Zed bring great feature sets that I can use and
I find ways to use them.
AI tools have been a struggle for me. I tried them very early (maybe too early) and was disappointed with their output. This weekend, I decided to set aside my previous experience with these tools and reset. I know that plenty of people find value in using them to write software and there’s no reason that I can’t do the same.
Adjusting my attitude, picking a goal, and working with an AI Agent to write code was a great learning experience. I knew that I would have to do some rewrites and spend a good deal of my effort on reviews and bug fixing, but I learned where my own weaknesses are as well. It’s sometimes hard when you’re staring a blank buffer in your text editor trying to decide exactly how to start and getting that first draft “on page” is a roadblock. AI tools can help get the juices flowing. Getting that first draft out, no matter the quality, is more important than never starting. Flexing my skill in reviewing and debugging is always a good thing. Taking the effort to describe to the tool exactly what I want helps solidify my own ideas and my own vision for what I’m trying to build.
Don’t Be a Luddite
The person that can never adjust their attitude to their problems will never progress.
The engineer that can’t embrace new technology and new ideas will always fall behind.
The complainer that drags everyone else down will never climb out of their bucket.
Be the person that helps, but protect your time. Be the evangelist for new tools that you believe in.
Call out those bad attitudes when you see them. It’s a service to your community and it’s a service to yourself.