What’s required of our “Chief Software Engineer”?
Posted on January 4th, 2010 by Paul McArdle – 7 CommentsPost updated on 1st February 2010 to clarify the primary KPI.
This post is designed to provide an overview of what is required. Note that (if you are successful in your application) I would expect that you would be proactive in working with me to flesh out the details of this position, in terms of specific deliverables and dates!
I have spoken with a number of people (online and offline) over the course of the past few months, since I determined that we needed to hire you.
It seems that no job title that could encapsulate this role is universally understood. For this reason, you will be known as our:
General Manager for Discerning, Developing and Delivering what the Customer Wants
Bit of a mouthful, I know, but all three aspects of the role are important.
In the “Tale of Two Systems” there is a description of the Chief Software Engineer that sums up the type of person we’re looking for. In the book it notes that it is…
“a tough role to fill because it was an unusual combination of marketing manager, technical lead, and project manager”.
We know you will not be “average” and hence know that it might take some time to find you. We’ll just have to wait and see…
1) Summary
As our Chief Software Engineer, you will be an accomplished leader who will join us in 2010 and become the 2nd person in a 3-person Leadership Team we’ll be establishing in 2010 - along with myself as CEO and the GM Marketing & Sales (who we will recruit once you are “on the bus” and have started to generate some quick wins).
This leadership team will work together to ensure the company delivers on our vision for the future.
Note that this Vision has several aspects, including:
1) How we will grow our customer base 20 times ; whilst only
2) Growing the size of our team by 3-4 times in the same period.
3) We’ll get there by upgrading “the way we do things here”.Your particular focus will be on the enhancement of our software development capability, AND then the delivery of software to meet our customer needs.
Hence, the main measure of your success will be the extent to which you upgrade our core software products (and develop new ones) to deliver at least 20x the value that they currently deliver to clients. You will do this by:
1) progressively growing (and upskilling) our development team to about 20 developers,
2) progressively growing our product range, and the markets we serve, whilst
3) enhancing alignment to the core values of the company.
2) Responsibilities
.
UPDATED NOTE
In December 2010, I made this clarifying post, backdated as noted, about the core responsibilities/accountabilities we declared in the recruitment of our GM 3D WCW.
Your responsibilities would be as follows:
(A) Team Development
You will be entrusted with the responsibility of building our software development team, both in terms of capabilities and numbers.
As part of this development, you will help our team transition into a more agile development paradigm, which will entail a number of shifts, including:
1) You will help us to create, and instil, a culture that places the “customer perspective” at the centre of product development decisions:
I appreciate that this focus not adopted by all software development organisations (for instance, it does not seem to be front-and-centre of decisions made by Joel Spolsky).
2) You will help us to much more quickly implement an Agile Software Methodology such that we solicit, welcome, and quickly incorporate customer feedback during our development projects.
We have made some initial steps down this path, but are hampered by the fact that we have a young-and-inexperienced software development team, who “don’t know what they don’t know”.
3) You will also play a central role in developing the technical capabilities of our development team.
4) You will also be responsible for the ongoing development of the roles & responsibilities within your Product Development team.
We expect you will start with, but improve, the role descriptions currently in place for our:
1) Product Managers
2) Code Monkeys (a term they chose from themselves, though “Programmer” would be a truer description)
3) Support Guru (a role that is rotated on a monthly roster amongst those above)
4) Prototyping Manager (a position we will be seeking to create in 2010).(B) Product Development
You will accept responsibility for the ongoing development of the “way we do things here” in terms of the development and delivery of software that delights our customers.
In particular, I would like to highlight your need to manage both approaches to Innovation:
i. Incremental Innovation, for Mature Products
We currently have four products we classify as “mature” for the Australian electricity market. These products are currently being managed by our two aspiring Product Managers:
(a) Adam Myers is looking after NEM-Watch and NEM-Review
(b) Stephen Hurn is looking after deSide and ez2viewAustralia.
You will be ultimately responsible for the product upgrades produced by our Product Managers.
Hence, you will work collaboratively with them to ensure that we maximise the value delivered to clients with these upgrades.
You will also pay particular attention to the abilities of our Product Managers to carry out incremental innovation.
ii. Discontinuous Innovation, for Rapid Prototypes
To meet our Vision for growth in revenues and client numbers, we will need to be introducing new products for markets around the world.
We have done some of this in the past, with mixed success. The move towards Agile will be one factor that will help us to improve the way we do this – but we will need to be smarter in other ways, as well.
You will also play a key role in developing, and then managing, our prototyping process.
It is envisaged (though this will be for you to decide and implement) that this could be done through a Prototype Manager.
3) Your Core Competencies
For ease of reference, I have separated these into “hard” skills (to do with your technical knowledge) and “soft” skills (to do with the way in which you work):
(A) Hard Skills
i. You will be experienced in the management of software development projects, using Agile.
ii. You will have a talent, and a keenness, for talking with customers and eliciting requirements (especially being able to “read between the lines”).
This will be particularly important to you, given that it is almost guaranteed that you will know nothing about the electricity market. You will need to have the keenness, and capability, to learn over time.
iii. You will have the ability to make things understandable. The propensity for thinking visually would be a distinct advantage.
iv. You will have the ability, and the desire, to train up our development team.
v. Experience in .NET would be an advantage, but is not essential.
(B) Soft Skills
i. You will share a longer-term focus to the ongoing development of our business.
This won’t mean a singular focus on the long-term, to the detriment of short-term results.
Rather, you will have a focus that rejects the “tyranny of the OR”, in understanding that you can deliver BOTH short-term results, and a sustainable business, long-term.
ii. You will value self-managed teams. Hence:
a) you will be focused more on leading than directing.
b) You will be a coach and mentor to the Software Development team
c) You will support our culture of life-long-learning
iii. You will become one of the spokespeople for the company. Hence, good communication skills are essential.
For instance, we expect you will want to share your successes on (and seek interaction through) our “Behind the Scenes” blog – or through whatever medium we choose to use in the future.
iv. You will focus delivering results:
a) You will understand that the customer is the ultimate arbiter of value.
b) You will focus more on results, moreso on the process (but not to the extent of being Machiavellian “ends justify the means”)
v. You will need to “live” an agile mindset:
a) Agile (big “A”) in software development,
b) Nimble (or agile – small “a”), as the needs of the business change as we grow.
(C) Relationships
Your existing relationships are not so important – it’s almost certain you don’t work in the electricity industry (or even know much about it), for instance!
However, given that you have had many years experience in the management of software development, you will have some relationships that can benefit us in the adoption of Agile, and the development of your team.
What’s more important is that you will have the people skills needed to build, grow, and sustain, relationships both internally and externally.
(D) Final Note
The position title above is given as:
General Manager for Discerning, Developing and Delivering what the Customer Wants
We expect that, as you become increasingly familiar with the electricity market, and the needs of our diverse range of clients that operate in this market, that you will be able to gradually progress to being our:
General Manager for Discerning, Developing and Delivering what the Customer Needs
This will take many years – possibly even 10,000 hours – to fully realise.
If you have all of these, we’re keen to hear from you!
[...] [...]
[...] Here’s some notes about the type of person we’re looking for. [...]
[...] have made this post now, as we are about to commence our recruitment process for a Chief Software Engineer, to provide more background information about the type of person we’re looking for (and the type [...]
[...] role of the Product Manager follows a similar model as that we will apply to our Chief Software Engineer and, as such, the position might be equally termed: Manager for Discerning, Developing and [...]
[...] Our Chief Software Engineer will need to be someone who already has mastery in all three perspectives; [...]
[...] I have created a separate page on which I have outlined what we would expect of you. [...]
[...] in a 3-person Leadership Team we’ll be establishing in 2010 (along with myself as CEO and the GM for Discerning, Developing and Delivering what the Customer Wants (a.k.a. Chief Software [...]