Posted in Development, People, Work Styles

Fear and Coding at Powershop

Starting a new job is an experience that falls somewhere between ‘somewhat stressful’ and ‘utterly terrifying’. When I started at Powershop 10 months ago I was very anxious, not least because it was my first job as a Software Developer.

My mood one week after starting at Powershop was the polar opposite. I still felt like the ‘new guy’ in a lot of ways (I didn’t yet feel comfortable coming to work in jandals and shorts, for example), but my anxiety had been replaced with confidence and excitement. This transformation can be largely attributed to the unique training program that all new Ruby on Rails developers go through at Powershop called the “Devtrain”. This blog post explores the Devtrain experience, in particular as it pertains to employee fear and anxiety.

Before we get into that, though, let’s take a quick look at where I’d come from prior to joining Powershop:

  • Hospitality
  • Construction
  • Agricultural Contracting
  • Sales
  • Evangelism
  • Inbound Call Centre
  • Software Testing

Although this is a rather eclectic mix of professions, one thing they had in common is the very similar experience I had when I first started. I always felt some degree of fear before starting these jobs, primarily because I was worried that I wouldn’t be good enough. Different employers handle training and on-boarding differently. My experiences have run the gamut from a hasty 10-minute walkthrough of a tractor cab, to many weeks of tedious book learning before being allowed anywhere near real work. 

“There is only one thing that makes a dream impossible to achieve: the fear of failure.” – Paulo Coelho, The Alchemist

Something quite unique to Powershop that I had previously never experienced is that we deliberately confront the fear of failure and encourage each other to fail openly, early, and as often as necessary to arrive at the desired outcome.

With that context in mind, I hope you’ll take me seriously when I say that my experience aboard the Devtrain was easily the best I’ve ever had at a new job. The time I spent on the Devtrain was fantastic, but this was not because I immediately felt at ease and was spoon-fed knowledge, nor was it because of intense competition and pressure. It was such a positive experience because we were encouraged and challenged to make mistakes in a sandbox environment, where there were no silly questions and we didn’t risk losing the company money.

We were able to do so with steadily increasing challenges and very high expectations on the quality of our work. Although we had a wonderful license for experimentation I never got the sense that any of us were stagnating in our learning. It’s this fine balance between comfort and intensity that I’d like to explore, both from the perspective of a new employee and from that of an employer.

To that end, let’s endeavour to answer two questions:

  1. How can a new employee harness their fear, anxiety or nervousness when starting a new job?
  2. How can an employer create an on-boarding or training process that fosters the right balance of instructed learning and practical work, while ensuring their new staff feel comfortable enough to ask questions and make mistakes?

The Employee Perspective: Harnessing Fear

Starting a new job is like being the new kid at school; you’re eager to impress but also worried about making a fool of yourself. The difference is that schools are focused on instructing you, while many workplaces (in my experience) are the opposite; you’re there to provide value to the company so any learning can unfortunately be seen as ‘wasted time’ or ‘un-billable hours’.

The first thing to remember when you arrive at a new job and begin feeling pressure to perform, is that every minute you spend learning now will save hours in the future. Here’s what a Powershop Devtrainee said on the subject:

“There are no points for finishing early, so use your time wisely to try new things and grow your skill base.”

I can’t emphasise this enough – when you first start at a new job your primary goal should be to soak up as much as you can. You know your own learning style, so if you’re not put in the ideal situation to learn then do whatever you can to get there. Ideally you’ll know what the training program is like before even agreeing to start a new job.

While I was on the Devtrain I found that my natural tendency was to try and rush through so I get into some ‘real work’; I had to keep reminding myself “your job at the moment is to learn”. It also really helped that I had great mentors who reminded me of this regularly.

Another really important aspect to being a good learner is honesty and openness, especially when it comes to your own weaknesses. If you can get into the habit of being open about the limits of your own skills and knowledge, you’ll find that you’re presented with numerous opportunities to learn. You’ll also be encouraging other people to do the same – curiosity is contagious!. When we asked our Devtrainees what was good about their experience, here’s what one of them said:

“Being able to ask stupid questions, try everything, and explore the things that I’ve been historically bad at.”

When asked if they had any advice for people who might be thinking about joining Powershop, another said:

“Bring yourself (all of you), and just give it a go. Be brutally honest about who you are, we’ll be brutally honest about what it’s like here.”

This attitude is a huge part of what made my time on the Devtrain unique, and I think it’s a critical quality for any employee who wants to excel at their profession and keep getting better. Whether you’re training with a group of other new employees or get placed onto an existing team, if you’re honest about your own strengths and weaknesses you’ll be contributing to an environment where everyone learns from each other.

In short, get used to saying things like “I don’t know” and “how does that work?” at every opportunity. I’ve found these simple statements have continued to be useful long after graduating from the Devtrain, and I’ve also heard them from our most experienced developers. Never underestimate what you can learn from the people around you.

The Employer Perspective: A Balanced Environment

“He has not learned the first lesson of life who does not every day surmount a fear.” – John Dryden (1631-1700) British poet, dramatist and critic.

As an employer you can expect a certain amount of trepidation in your new employees – this is a sign that they care about their work. When asked, 70% of our recent Devtrainees said they felt at least a bit nervous prior to starting at Powershop, with a smaller group saying they felt anxious. Not all ‘fresh blood’ will feel this way, however. One of our respondents actually said they felt ‘nonchalant’ when they started. The important thing is how you manage this inevitable variety of moods and confidence levels.

There are a number of ‘obvious’ little things we can do to create an awesome environment for newcomers to our workplace. I’ve listed just a few I could think of:

  • Be there to greet your staff when they arrive on their first day
  • Allow time to show them around and let them meet people
  • Reiterate some basics about what they’re going to be doing in the first few weeks, even if you’ve covered it during the interview process (it’s easy for someone to forget what was said in an interview, especially if they were nervous at the time)

In addition to being generally welcoming, there are some less obvious factors that contribute toward a healthy learning environment. Firstly, I think it’s really import to tailor your language to your audience. If you’re in the habit of hiring folks from a wide range of backgrounds (as Powershop is) then your language should reflect this.

“Fear of a name increases fear of the thing itself.” – J.K. Rowling, Harry Potter and the Sorcerer’s Stone

Using lots of acronyms, jargon or technical terminology will make your less experienced staff feel immediately lost. Use clear language and don’t make assumptions about what your new hires do and don’t know. This will actually benefit your more experienced staff as well; you can never predict where a veteran might have a gap in their knowledge. Accessibility for anybody improves it for everybody.

There is also the flip-side of what we talked about from the employee perspective: it’s absolutely crucial to provide ample opportunity for people to confront and overcome their fears. This can be done in a variety of ways, particularly by giving them tough challenges to tackle along with plenty of support when they need it.

At Powershop we’ve got a few mechanisms for doing this, in particular we do regular group code reviews. This means that at least once a week one of the Devtrainees will have their code reviewed by the rest of the group and some mentors. For most employees the prospect of having a bunch of people you’ve just met scouring through your work looking for flaws is almost as nerve-wracking as public speaking, but the reality of this experience at Powershop is actually nothing to be afraid of.

Teaching new staff (experienced and inexperienced alike) how to give and receive constructive criticism in a positive environment is fundamental to creating an environment where feedback is welcomed and even sought after. If you train your staff to seek out quality-improving advice from their peers, you’ll see the work of every individual benefit from the experience of the collective.

Finally, if you combine the additional ingredient of hiring diversely with a great learning environment, you’ll see something wonderful happen within the first few days of bringing new people into your organisation: your new hires will begin to train each other. This happened during my time on the Devtrain, as some of my fellow Devtrainees had a wealth of experience they were happy to share with me, and the result was that we all came out of the experience with a shared understanding, knowledge and attitudes that had been refined in the crucible of friendly debate, and some awesome relationships. I’d never experienced this at a new job before and I think we need lots more of it!

Graduation: Dealing with the Fear of Real Work

“Things done well and with a care, exempt themselves from fear.” – William Shakespeare (1564-1616) British poet and playwright.

Once I graduated from the Devtrain I expected things to change drastically. I thought “well that was nice, but now I’ve got to do some real work”. What I found was, because the existing employees I was now working with had the same attitude towards learning I’d been taught on the Devtrain, not much changed.

Sure, I was now working on production code that would be used by real customers, but my fear of failure had been transformed into a healthy sense of caution and a confidence. I knew that if I remembered what I’d learned and continued to be honest about my knowledge and abilities, then I could contribute meaningfully to building some amazing things for our users.

Closing Thoughts

I’m confident that the experience I had on the Devtrain is entirely reproducible in other workplaces and industries, providing both employee and employer are committed to an open and honest learning environment.

If you’re considering a new job, take the time to examine what your training will look like before taking the leap. Once you’ve committed, consciously push yourself to confront your fears and weakness. Be generous with advice for those around you. If you’re an employer and are planning to hire new staff, try to put yourself in the shoes of your trainees and imagine how they might perceive your expectations and directions.

In summary: throw yourself into new challenges, embrace and learn from mistakes, and enjoy yourself!

“Buy the ticket, take the ride.” – Hunter S. Thompson, Fear and Loathing in Las Vegas