A week ago I saw an article on Hacker News titled – What’s awful about being a {software engineer, tech lead, manager}?. The article was spot on and it got a lot of attention. It also left me feeling depressed about my profession.
My great grandmother used to say: “Don’t compare yourself to people who have more than you do. Compare to those who have less.”
Her point, I believe, is very important. No matter how much I have or achieve in life, there is always going to be somebody smarter than me, who has more. It’s easy to get trapped in the negative thoughts and to forget just how good we have it.
That is why I wanted to write down a list of things that I believe are great about being a Software Engineer. Since I don’t have a ton of tech lead or management experience, my list will only cover Software Engineering 🙂 .
- Opportunities
- Money – I am a regular Software Engineer, yet my income is in top 20% in the US and even better % in the world
- Location – Software Engineers are able to find employment almost anywhere
- Impact – Sky is the limit, you can literally change the world
- Reach – Products are used by millions of people
- Options – Many paths to pursue, choose your own adventure
- Demand – Shortage of Software Engineers is probably here to stay for the next 10+ years
- Business – Easy to start your own service or product business
- Learning
- Never ending supply of fun things to learn
- The job itself keeps the brain active, no need to do puzzles
- Blogging – a fun way to share and learn
- Cool Perks
- Flexible work schedule
- Snacks and Catered Food
- Work From Home options
- Travel opportunities
- Comfortable work environment (compared to a construction workers, for example)
- Access to expensive software and equipment
- All other “standard” benefits like medical and paid time off
- Fun Job
- Sure we still have to work for a living, but at least our days are comfortable and fun
- Often I enjoy my work so much, I have to set an alarm to go home on time
- Debugging is a lot like playing a detective
- Creative
- Writing clean code is a creative process
- Instant feedback from your work, you can “see” your code “do” stuff
- Various cool side-projects to pursue
- Being able to automate the boring stuff
- People
- Working with smart people
- Networking with even smarter people. (May vary by location, but in the San Francisco/Bay Area it’s fairly easy to meet some of the greatest minds of our time)
- Altruism
- Teaching and helping others
- Volunteering for Non-Profits
- Contributing to Open Source
I have been a software engineer all my life, so it is hard for me to tell what is the best aspect compared to other fields. What made me fall in love with computers and being an engineer was the ability to be both artistic and scientific at the same time. Software development is an art and a science, and you literally build machineries without getting your hands dirty. It is like being a writer, but with a debugger. Thank you for posting.
Great post. My two cents: Don’t compare yourself to others. Compare yourself to who you were a week ago, a month ago, a year ago. Then you’ll know if you’re going in the right direction.
Great point!
I have been making software professionally for 30 years. Here it is late on Friday night and I am reading Hacker News. I am still absolutely delighted by the vast majority of what I can do as a result of my career choice. I love puzzles, and I get paid to solve them. I love working with smart people. I love that I am constantly behind and need to learn new languages and tools and techniques and practices. I love to teach and motivate, and have ample opportunity. I love to be taught and to be motivated. I love that most of what I learned when I started is both obsolete and still present — I learn from history. And in my mid-fifties I love that I can mostly keep up with people half my age. And let’s not forget the beer.
You are an inspiration Mr. Tom Harrison !
The you can “see” your code “do” stuff part is what got me interested in frontend development. The first two bullet points don’t hurt either. Great post, just in time for Friday.
“Don’t compare yourself to people who have more than you do. Compare to those who have less.”,受益颇多
Thanks, I needed that.
Agree with each point
Interesting, I like this, “Debugging is a lot like playing a detective”.