cbillowes/curious-programmer-oxygen

View on GitHub
content/posts/2016/2016-05-26-reignite-the-passion/index.md

Summary

Maintainability
Test Coverage
---
title: "Reignite the passion"
cover: "https://picsum.photos/1600/800/?image=1011"
date: 2016-05-26 22:21:22 +0200
category: "tech"
tags:
    - Comfort Zone
    - Productivity
    - Mindset
---

> Do you remember how excited you were when you wrote your first program? It's easy to
> forget when you've been in the real-world for a long time. Sometimes we just need to
> reignite that passion that we once felt and spread the feeling throughout our teams.

Office politics and company drama is exhausting. We get frustrated when it
feels like mountains need to be moved to make even the smallest change.
Eventually people become disengaged by
[complicatedness](https://www.ted.com/talks/yves_morieux_as_work_gets_more_complex_6_rules_to_simplify)
and lose their passion they once felt for software development.

In 2006, Rob Walling shared
[nine things developers want more than money](http://www.softwarebyrob.com/2006/10/31/nine-things-developers-want-more-than-money/).
I completely agree with this ten years later:

1.  Being set up to succeed
2.  Having excellent management
3.  Learning new things
4.  Exercising creativity and solving the right kind of problems
5.  Having a voice
6.  Being recognized for hard work
7.  Building something that matters
8.  Building software without an act of congress
9.  Having few legacy constraints

Don't get me wrong. I don't want to work for free. I just value the quality of a
working environment and what I am working on more than the salary.
On the other spectrum, I hear of many people who put up with bad working
conditions simply because of the money.

Unfortunately the reality is that there will always be some form of pain or
trade-off that we need to deal with. Prove to me that there is a [company](blog/the-perfect-illusion/)
to work for without any problems.

Problems are different to each individual. We all have our own perspectives.
That means we are surrounded by people with different states or emotions
whether it be happy, comfortable, frustrated or completely disengaged.
Sadly it only takes one person with a sour mindset to bring an entire team
to its knees.

To top it off, there are so many different ways of achieving the same thing.
Everything has risk attached to it. When people become driven by fear,
the need for change stagnates. It's also overwhelming when so many technologies
emerge and we constantly feel like we have fallen behind.

When we find ourselves in such predicaments, what can we do to avoid
spiraling down the same rabbit hole?

**Remember the day you wrote your first applications!** That excitement you felt
when you got your code to run even if it was just spaghetti. Bring that feeling
back to the now and read on.

Here are three things I've done to help spread that feeling.

## Think like an entrepreneur

I'm not an entrepreneur. I've been too scared to go down that path but I'd like
to someday.

If I were one, I would need to make the best decisions to give me
the biggest return of investment in a short amount of time. I'd have the user's
best interests at heart. I'd also know that the people working with me will make
this a reality.

I try to be cross-functional; do my best to help out where I can within my team
and across teams.

I'm not advocating working long hours, missing out on life and doing the work
of others. Rather working together, being passionate, understanding the
business side of things and having the ability to
make appropriate trade-offs to deliver quality software to the market.

## Share the passion

If we radiate a positive energy and share the passion we have for making quality
software and guide - **not force** - others to do the same it can become
contagious.

Let's say someone is new to TDD and is told to write tests first.
They probably won't. It's more code; more effort. There are deadlines.
If someone is coached to see the benefits and understand how easy it can be,
with time the mindset changes and confidence is built.

In other words, people are used to doing things the way they feel comfortable
with. It's never a good idea to impose new ways of doing things on people.
We can gradually show how a technique can better productivity and
reap more benefits.

Grab opportunities to pair program with someone who is passionate and
patient. If two people are just bickering about the smallest things pairing
won't achieve much. Empathy to a person's background and circumstances is
important.

## Talk to the right people

Many developers are introverts. They won't always get up and speak to the right
people when something is getting in their way. They will keep trying to
fix it on their own.

Building strong relationships is essential to solving problems quicker
especially when there are dependencies that are outside of your control.

I encourage people to talk to the right people. This is a great way to
acquire new knowledge about the people in the company, domain, infrastructure
and technologies. If they don't know how, I do it with them.

This builds confidence and exposes us to other people. We get introduced to
other passionate professionals that we can learn from.

## My final thoughts

Passion is the basic building block of my career. I never want to lose it - but
I did.

The transition from smaller companies to larger companies was tough on me.
I got so caught up in my craft that I lost my confidence and the fun of
actually writing code. I was also overwhelmed by everyone's opinions
which often contradicted each other.

When we work at corporates we are exposed to all sorts of people from all
walks of life. We aren't aware of their past experiences. People will lose
their passion and find it again.

I managed to pull through and reignite my passion thanks to many awesome
people I work with and some highly influential
developers like [Iris Classon](http://irisclasson.com/) and [John Sonmez](https://simpleprogrammer.com/).
By sharing my passion, I can see how it rubs off on others.

Now, open your favorite editor or IDE and go write something that kicks ass.
Don't forget to share your passion and what you learn with those around you!