Software engineers are more valuable to companies than money

CNBC posted an article last week that really resonated with me.

From their article:

A recent study from Stripe and Harris Poll found that 61 percent of C-suite executives believe access to developer talent is a threat to the success of their business. Perhaps more surprisingly — as we mark a decade after the financial crisis — this threat was even ranked above capital constraints.

I’ve been working on recruiting for FATMAP for the past few months. Whether for internal positions, or freelance, not only are qualified engineers more and more difficult to find, it is increasingly they who are alone dictating the terms of their employment.

When I first started recruiting engineers back in the early 2000s, engineers applied for a position. The employer set the terms of the employment. Now, it is increasingly the engineers who set the terms.

It’s no longer companies interviewing candidates. It’s candidates interviewing companies. Companies must convince the employee, rather than the other way around.

This is of course great for employees. But when I look at the candidates coming through, sometimes I worry that this generation of developers are being conditioned by the extremely employee-friendly environment to respond to the wrong incentives.

With so much competition for engineers, is there less incentive for engineers to focus on doing great work and developing themselves…?

There are so many companies with so much capital, which leads to so much competition for engineers, and when the demand for something goes up, so does the price. That price is being borne out not just in salary, but in an expectation of perks and other benefits.

At FATMAP, we place a lot of focus on finding the right people for the team. We look for missionaries rather than mercenaries. We want people to be in it for the mission; people who share our values but most importantly who believe in our company and want to share in our success.

We believe that building the most talented team of missionaries is the key to success. We’re not climbing on the mercenary engineer treadmill.

I only hope that the next generation of new software engineers follow incentives to build great products that customers love and that make a difference – and don’t just chase the big money and free snacks.

A Scrum Master/Agile Coach job description

I’m often asked for help putting together a job description for a Scrum Master, so I thought I would post an extract of one we’ve used recently.

We are a product team of developers, QA experts, user experience and visual designers and product owners who are looking for someone to help us get better at what we do. We’re pretty good at the basics of agile software development but can always use new ideas about how and where to improve. We’re less concerned about what it’s called (Scrum/Kanban) and much more excited about results, whether that means moving towards continuous deployment, using ATDD, or seeing our active users grow.

You are someone who leads by example rather than by dictate and you know how to bring out the best in people. You’re not afraid to deal with conflicts. You know when it’s good to say “No” and when to push for more results.

In addition, we’re looking for someone to act as a galvanizing force for our whole wider team in terms of sharing Agile knowledge across the company. Whether it be organizing 1-day open spaces for our agile community, or organizing cross-team workshops, the goal is for you to establish an Agile center of gravity around our team.

Your main responsibilities will be:

  1. Act as Scrum master for 1-2 scrum teams with a focus on guiding the teams towards improving the way they work.
  2. Facilitate sprint planning, retrospective and sprint demos
  3. Assist the product owner with keeping the backlog groomed
  4. Ensure cross-team coordination
  5. Reach out to the larger company network for impediment removal
  6. Maintain relevant metrics that help the team see how they are doing
  7. Coach and mentor other scrum masters in our product team. Ensure that our ways of working are consistent across the teams.
  8. Liaise between the developers and User Experience/Visual Designers. Foster better communication between the disciplines.
  9. Act as a project manager when necessary. Take responsibility for managing dependencies between our team and third parties or between our team and other scrum teams.
  10. Strengthen the presence of our team as an Agile centre of excellence. Actively contribute to the company’s Agile and Lean Community. Keep the rest of the company network aware of our activities.

Qualifications:

  1. Knowledge of the software development life cycle
  2. Certified scrum master/scrum practitioner
  3. Knowledge and/or experience of Kanban
  4. Excellent communication skills in English in written and spoken form
  5. At least 3 years experience working in an agile environment, preferably in a variety of situations

Feel free to use this, re-use it and copy it. I hope it’s helpful!

What would you add to make a better Scrum Master job description? Share your tips in the comments.