Technology

Performance Management Tools: Skills Matrix

I have often pondered what makes a Senior Developer “Senior” and what makes a Junior Developer “Junior”. Invariable such titles are bestowed upon software developers based upon where they are in their career and how many years of experience they have.

The idea that the number of years you have been doing a job is in my view quite an old fashioned idea. In some industries this may be valid; clearly I would prefer to be operated on by a heart surgeon with 15 years experience as opposed to a surgeon who is newly qualified – that said even in this context the newly qualified Dr may be versed in more modern techniques that the seasoned surgeon may not have knowledge.

I’m not suggesting that experience shouldn’t be considered but I would suggest that we are more interested in the skills that an individual has. Experience means that the individual has had longer to gain those skills but it in no way guarantees that the individual has used the time wisely.

With this in mind recently I’ve been giving some thought to how we should measure the performance of our developers and how to support them in building skills that benefit us as a company.

 

One of the tools that I have developed to help with this is a Developer Skills Matrix. The concept is really simple – across the top I list all of the skills that I want my developers to have and down the side I specify levels of knowledge (No Knowledge, Basic, Good, Great, Superstar).

React Hooks Axios Es-Lint React-Router Redux
Superstar
Great
Good
Basic
No Knowledge

 

Skills

When specifying the skills its important to drill down to a granular level of knowledge; being to broad brush doesn’t give you enough detail. In the example above you might be tempted to group all of the skills under the heading “React” – this would limit the benefit of the matrix as it is perfectly feasible for a developer to have no-knowledge of Redux and still be a great developer.

The idea is to create headings which cover areas that a developer might have knowledge or could be expected to have knowledge in order to effectively do their job.

Ratings

In order to make best use of the ratings its important to provide clarity on what level of knowledge you would expect an individual to have in order to achieve the rating.

I use the following guidance but it can be adjusted to suit your own context.

No Knowledge

You might have heard of the technology but you’ve never used it.

Basic

You have a working understanding and are able to make basic use of the concept or technology. You would usually ask a lot of questions and rely heavily on others to support you in any implementation work.

Good

You are comfortable using the concept or technology as part of your everyday work but struggle with some of the advanced concepts. Sometimes its good to get help from someone who has more experience than you.

Great

You are really comfortable with the concept / technology and feel you have a great working knowledge of most of the more advanced concepts. You can identify when people are incorrectly using the concept or technology and will offer support to assist them.

Superstar

You know this concept / technology inside out and are a subject matter expert. You are able to support, help and teach others at all levels. If a stack overflow question were asked related to this area you would jump right in and answer confidently.

 

Once you’ve set up your matrix ask your Developers to complete it. I like to ask Engineers to justify their ratings in each area – this in turn leads to good 1:1 conversations and also helps normalise ratings across the development team.

 

Scoring the Matrix

When the matrix has been completed by the whole development team I like to score the matrix. No Knowledge = 0, Basic = 1, Good = 2, Great = 3, Superstar = 4.

When view across the whole of the development team this scoring allows you to identify areas of team weakness, where perhaps you have limited knowledge as a company in a particular area. This can then inform your recruitment strategy by identifying the areas you want to particular focus on when interviewing potential new joins.

The scoring can also be used to identify weaker team members or to help inform performance conversations. I would caution that this is not a silver bullet and should not be used as the only way to measure an individuals performance but it does open up some opportunities to recognise your staff and to inform clear and quantifiable objectives.

 

Ways to use the data

There are many ways to use the data to help your teams with continuous improvement such as:

Objective Settings

Identify 3 skill areas where a developer has no knowledge. Set an objective that by the next performance review the developer will have basic knowledge in all 3 areas and ask the individual to provide evidence of their achievement. 

The knowledge can be gained in a variety of ways such as independent research, an online course or pair programming. The method isn’t important but the commitment to improvement will benefit both the individual and your company. You know this concept / technology inside out and are a subject matter expert. You are able to support, help and teach others at all levels. If a stack overflow question were asked related to this area you would jump right in and answer confidently.

Company / Team OKRs

If you use Objective Key Results within your organisation then this data can be used as a quantifiable measure of performance improvement.

Objective: As an Engineering Team we will continually improve the skills required to build our products:

Key Result: The average score for every skill should improve each quarter.

 

Common Pitfalls

The skills Matrix is not a silver bullet – it can be used as one tool to help with your overall performance management strategy.

When I first considered introducing this tool into my team I discussed with other Engineering Managers in my network and I heard horror stories of similar frameworks being abused – in one case engineers had nicknamed the tools “The redundancy framework”.

Like all tools its success is very much dependent upon its implementation – if implemented well as part of a wider performance strategy the framework can help identify areas of weakness within the team and help guide areas of focus for improvement over time.

 

Have you used a framework like this in your organisation? If you have I would be really keen to hear from you – please comment below or reach out to me on Twitter @stevewestgarth.

Categories: Engineering, Leadership, Technology | Leave a comment

The Invention of the Car in Modern Society

CarIn this day and age it is almost inconceivable to imagine a world without “the car” or other motorised transport. It is hard to believe that the car was only invented in the late 1880’s and even harder to accept that motorised transport has only been common place for the last 80 years.

During this time, society has moved at a tremendous pace, which has led to the introduction of health and safety legislation that now controls all aspects of our day to day lives. It is therefore interesting to ponder what would happen if the car had been invented today.

Let’s imagine that the automobile did not exist and that an inventor puts forward a proposal, suggesting that it would be a good idea to create a machine that has four wheels, controlled manually by someone, who for the purposes of this article will be referred to as the driver.

In order for the machine to work a large (typically 40 litre) tank of highly flammable liquid would be strapped to the underside of the vehicle and this liquid would then be ignited and pumped through an engine placed in front of the driver, in order to propel the machine forward.

The proposal would need to suggest that the flow of flammable liquid would be controlled at the whim of the driver via a pedal mechanism allowing the speed of the vehicle to be increased or decreased as required.

In order to mitigate the risks associated with the idea the proposal would suggest that rules would be put in place stating that the maximum speed that the machine would be permitted to travel and guidelines would need to be developed stating safe speed limits on each stretch of tarmac (roads) that the vehicle used.

In reality, however, nothing but the power of the engine would prevent the vehicle going far faster potentially reaching speeds of over 130 miles per hour in standard automobiles, but potentially far faster in some models.

Assuming this concept, by some miracle, was approved and allowed to go ahead, consider if you will how an inventor could sell the concept of producing 30 million of these machines and then allowing them to be used on roads travelling at these high speeds in opposite directions.

To push the boundary further is it conceivable that the idea of a motorway would be accepted; a road which is specifically designed to allow these machines to travel at high speeds and facilitate the concept of vehicles overtaking one another when a driver feels another driver isn’t travelling fast enough.

This description sounds almost farcical given that in today’s society it is necessary to do a risk assessment for the most mundane task. It seems ludicrous that such a dangerous proposition would ever be permitted to go further than planning stages, if indeed it was ever given any serious consideration.

This opens up a related debate as to whether modern health and safety principles are stifling innovation and creativity. Had the car first been proposed post millennium it is unlikely that it would have ever been allowed to go ahead; it is therefore conceivable that great inventions that could revolutionise the human race are being prevented due to bureaucracy, which, is not proportionate to the potential risks of the task, problem, or idea.

The argument can be applied in principle to many innovations that have allowed man kind to develop over the millennia, including electricity, nuclear power, and coal mining.

This article serves as a warning to society that our history is based on innovation and growth and in the modern world it would appear there is a real danger of stifling that innovation which could jeopardise progression and lead to a society that forgets how to innovate.

Categories: Invention, Technology | Tags: , , , , , | Leave a comment

Entity Framework: To the Unit of Work Design Pattern and Beyond

Recently I’ve been giving a lot of thought to design patterns within .NET Projects. I was invited in February to give a talk at DotNetNotts and I explored the Unit of Work Design Pattern which is often selected as a valid design pattern by developers due to the way it conforms to the requirements for separation of concerns.

The approach does however break several of the SOLID principles and this has lead many to favour other patterns and approaches.

Below is a recording of the talk given in February 2018. Would love to hear your feedback

Categories: Conferences, Technology, Tutorial | Leave a comment

Measuring Impact vs Hours Worked

I was recently given the pleasure of having a tour of the FaceBook Campus in Menlo Park, California.

There are many stories of how amazing Facebook is and it didn’t disappoint. The campus is very much focussed around people. Some examples:

  • There is as much food as you will ever be able to eat and all food is free, breakfast, noon and night. There’s also a candy and ice cream shop that serves up free desert.
  • They have a retro gaming room
  • There is a bike stop that will repair your bike if you have cycled to work
  • One of the buildings has a roof top park where you can go sunbathe or just have a walk.
  • They have a beauty spar on campus that offers massage therapy and other spar treatments.

All of the services above are offered to employees for free; if you didn’t have anywhere to live as a Facebook employee I’m quite certain you could move onto campus and live for 2 or 3 months with no real difficulty.

What I found really interesting though is that the investment Facebook makes into its people doesn’t end here. The culture at Facebook is to work as and when you want to work. Employees don’t have set hours, they instead are tasked with work to do and are sent away to do it. Facebook doesn’t care when the work is done as long as it is.

Performance at Facebook is measured in terms of impact; as long as you as an employee are having impact on the organisation and are getting through the work that has been assigned to you everyone is happy.

The other really cool thing is that if something doesn’t work, or makes people miserable they change it. A great example: In the early days of Facebook code used to get pushed on a Tuesday evening so often engineers would work into the night. As a result people always felt sluggish and unmotivated on a Wednesday and didn’t want to focus on meetings. To address this all meetings were cancelled on Wednesdays and the day is now known as “No Meeting Wednesday”.

Speaking as a business owner the model portrayed above is a scary thought. The idea of saying to your staff work when, where and how you want to work but just get the job done is a great idea but conventional wisdom would say that it shouldn’t work. I mean, if people don’t have to work why would they choose to?

The fascinating thing is that not only does it work at Facebook, it clearly works brilliantly! Everyone I spoke to seems to have a common purpose, working towards the same goal; all part of the same team working towards the same end point. This is the culture that I really believe most companies can only dream of creating.

Having toured Facebook there are ideas I now have that I want to put into practice within our own working environment at Footsqueek; in some ways having seen it work at Facebook it feels like some of the ideas they have about there working practice is common sense.

One thing that really interests me (and also massively scares me) is the idea of letting staff work the hours required to do the job. Facebook would argue that there is no point being at work 40 hours a week if you can do the same work in 10 hours and also do it better because you are well rested and motivated having had a good massage.

If you are reading this the challenge I lay down to you is to look at working practices within your organisation and then ask your staff what would make like better. If they say working less do you have the guts to say “Ok, work when you want to work; just get the job done”? Even if you think that’s to extreme, I wonder want other changes would make your staff happier?

 

Categories: FaceBook, Social, Technology, Uncategorized | Leave a comment

iOSDEVUK Review 2016

IOSDEVUK is over for another year; our annual pilgrimage to Aberystwyth always end in a sad train journey home – all the better for the knowledge we’ve gained throughout the week.

As is tradition, here is my round up of the week and my very best bits!

Running A/B tests on your app using Firebase Remote Config and Analytics

Todd Kerpelman

Prior to iOSDEVUK I hadn’t come across Firebase. This tool is phenomenal and can do brilliant things that allow you to control detailed configuration of your app without the need to submit your app for an apple review. Watch out for a blog post tutorial soon showing how you can set it up in a basic project.
Todd was a brilliant speaker, very engaging. One of my favorite talks by far!

Diagnosing Allergies

Emily Toop

This was quite simply interesting. Emily sneezes a lot and is using iOS to track her sneezes in order to help work out what’s causing it. It’s a real world use case for how mobile technology can be used to collect high volumes of data, analyze it and then make use of it in the real world. If you get chance to listen to Emily talk about her sneezing I would highly recommend it.

I’m an Idiot

Richard Turton

Sometimes as developers it does us good to remember that we are all human, we all make mistakes, miss the blindingly obvious and ultimately we are all idiots …. Sometimes.
This talk reminded me that if we need help, we should ask for it and if we share knowledge the community is stronger for it. My take away message from the talk though was that under no circumstances should you ever try to be CLEVER! It always backfires.

img_5097-2

Steve Scott

Steve Scott

Scotty is a brilliant speaker! He has a habit of stating the blindingly obvious in a hilarious way. Scotty reviewed where we have come from as developers and where we are going to; the underlying tone of the talk was the fact that while iOS is a very rich place today for developers this is unlikely to remain the case forever. This changing landscape is part of evolution and even visionary entrepreneurs can’t predict the future! He also emphasised that sometimes people do get it right – can you believe that less than 40 years ago it was considered ambitious to have a computer on every desk, in every work place and in every home!
img_5090

Review of the Year

Dave Verwer

No-one knows the world of iOS like Dave Verwer, writing iOSDEVWEEKLY really does give him an insight into our world like no-other. The stats Dave is able to create showing who is reading iOSDEVWEEKLY are a portal onto the iOS Development Community that just blows you away. Brilliant speaker and in my view Dave is one of the cornerstones that makes doing what we do so interesting.

Dyson Hackathon

img_5100 img_5099

This totally blew me away! I’ve been to hackathons before and they are always brilliant fun but then Dyson entered the room with 16 robotic vacuum cleaners! Words cannot describe how good this event was – I still say we were cheated as our balloon burst itself in the final battle, the stewards’ enquiry is still open in my eyes; but I’m not bitter.
Serious kudos though for a job thoroughly well done.

Conferences are an essential part of our learning as developers and have a huge impact on companies. I want to say a massive thank you to Chris, Neil, John and the team here in Aber; once again you have raised the bar and delivered a brilliant event!

So that’s it; iOSDEVUK is over for another year. If you can’t wait a whole year for another conference check out what we are doing in Chester 17th – 20th April 2017. CodeMobile is a brand new developer conference focusing on both Android and iOS Development. We need more events of this type in the community because when you bring developers together it really does create magic!

Categories: Apple, Conferences, Invention, Robots, Social, Technology | Leave a comment

What’s next for the iPhone?

I can’t believe its almost time for Apple’s September event! It seems like only 5 minutes since apple released the iPhone 6s and 6s Plus and yet here we are anticipating the release of the iPhone 7.

I always find following predictions about what Apple are going to do very interesting. The issue is that over the years it has become increasingly hard for Apple to wow me because much of my tech wish list is now complete. In the early 2000’s when I was still in school I used to dream about a phone that could connect to the internet, that would allow me to record video, share photos and listen to my music. I remember being delighted when I got a pocket PC but in reality being really let down by what the device actually did.

All of those troubles are long behind us. So now I ask what else do we want from Apple and more specifically from the iPhone? What is my new wish list? Here are some ideas:

Wireless Charging

This has been tried by a number of companies but its still not quite here. The idea of simply being able to put my phone onto a surface (ideally any surface) and have it charge is a brilliant concept although I accept that it comes with a lot of challenges. This is definitely something I would like to see brought to market with apples usual flair of simplicity and elegance.

Battery Life

Over the years battery life has improved dramatically however the power demands of devices have also increased significantly. I really want a battery that lasts. When I say lasts I want a battery that can take 12 hours hard use and still not give up – I hate having to carry around my charger.

In the absence of a brilliant battery that never dies what about exploring ideas to extend the battery life. I would love to see a solar powered phone that charges from the sunlight.

Dual Sim

This can be done already but its expensive. I really want the ability for my phone to have 2 telephone numbers, 1 for work and 1 for home. It would be great if I could select which SIM I want to use for certain numbers and then also allow incoming calls on the SIMS to be denied based upon a schedule.

Personal Assistant

Siri is brilliant but I still think there is a lot could be done in terms of improving Siri’s artificial intelligence. Is it plausible that one day we could have a conversation with Siri and that the system would answer in an almost human like fashion?

Ubiquitous Internet Connections

This isn’t in Apples control but its important to draw attention to it. I’m writing this while sat on a train on my way to iOSDEVUK. I havn’t had a mobile signal since Shrewsbury. Large towns and cities have now got 4g and that’s great but what I really want to see is 4g everywhere. Some would argue this isn’t worth the investment especially in rural Britain but when you realize what the internet can do for small communities I think its not only worth the investment but is actually an essential investment.

Life Interaction

The iPhone is now an extension of me it therefore makes sense that my iPhone should interact with the world around me. With iBeacons and location services my iPhone is now very aware of where it is but I would like my iPhone to be more intelligent. For example when in any restaurant wouldn’t it be awesome to be able to see the menu on your phone; to be able to call the waitress and even ask for your bill and pay without having to attract someone’s attention? When queuing at Alton Towers wouldn’t it be awesome if you could see an estimated length of time you were going to be waiting; or even avoid the queue to buy tickets altogether by being prompted to do so as soon as you arrive.

Linked to this is the idea of my iPhone being able to do everyday tasks. Homekit has introduced great new features in terms of being able to control my house; heating, lighting etc. I would love to see this expanded and a much greater rate of adoption – why do I need to carry keys for example; surely I should be able to unlock my house and car without a key? Also as soon as I leave home my phone should prompt me to turn on the intruder alarm.

The other thing that would really help us as developers to achieve this is if Apple were to open up the NFC chip so that we can develop applications that use it.

Apple Watch

Quite simply this needs to fully function without a phone. This is beyond running native apps; I want to see full WIFI, 4g connectivity and have the ability to use all features when my iPhone isn’t close by.

 

I’m sure I want and need more from my iPhone and there are a lot of things I could add to this wish list but I’m very aware that Apple Engineers are busy people. If its possible to just achieve the above this year, the rest of my wish list can wait until 2017 J

 

 

Categories: Apple, Technology | Leave a comment

Brilliant UX

I’ve recently found myself talking to people more and more about what makes UX either really really good or really really bad.

I came across this image online which I think sums up best practice of user interface design.

CqKlrrHXYAAZLfQ.jpg-large

Its important to look at how this manifests itself in real life. The best example of exceptional user interface design that comes into every day life is the common Door Handle.

doorhandleThe door handle is a brilliant example of user interface design because it is quite simply one of the most intuitive objects of everyday life.

I don’t ever remember being told how to use a door handle; and its a concept that in thousands of videos online you see conquered by children and animals alike with absolutely no direction.

This is so true that in nursery schools often the door handle is moved so it is out of reach of the children because staff know if the children can reach the handle then they will be able to open it.

The door handle is quite simply an elegant solution to a complex problem. It hasn’t been over engineered and actually goes unnoticed for the vast majority of the time. Yet imagine the issues we would have if the humble door handle didn’t exist? We would struggle to open doors, wouldn’t be able to lock doors and secure our property, car boots and cars more generally would face difficulties; and if expand the concept to cover the generic handle how many every every day objects would be effected.

Compare and contrast this to UI on the web. We regularly see examples of good clean UI, simplistic in its nature, not over engineered and easy for our users to understand. One of the best examples of stunning UI on the web can be seen on the gov.uk website.
Screen Shot 2016-08-28 at 19.45.46
This website learns from the simplicity of the door handle by making it very obvious what to do. A user has w very clear options when they visit the home page, search or click on a relevant link. When you consider the volume of information published on this website it really is a triumph that it has been categorised into 16 clearly defined areas.

Now lets consider the navigation on this website

Screen Shot 2016-08-28 at 19.56.55

I acknowledge that I have selected an extreme example; but in the website above the navigation is confusing, over engineered and doesn’t help the user to find the content that they are looking for.

The creators of the website above have worked on the principle that everything on the website should be accessible within 2 clicks. While this is a good principle in theory there are times when the rules doesn’t work and simply isn’t helpful to our users. As designs as we search to optimise or users experience by reducing the number of clicks we often find ourselves giving users a greater number of choices which only serves to confuse our users.

The moral of the story here is that we should all try to make our websites more like Door Handles; emulate the simpicity and improve our users flow as they access our online content.

Categories: Design, Technology, UX | Leave a comment

Developer Conferences

If you’re anything like me then you will love a good developer conference! The opportunity to share and collaborate with like minded people is sometimes just what the doctor ordered to help make sure those creative juices are flowing.

Unfortunately, in the UK we seem to have a lack of events; especially outside of London. There are a couple of independent events like iOSDEVUK and a few others organised by the tech giants such as Microsoft and Google. The issue is that the vast majority of events tend to happen in the south, in and around London and often us up here in the North feel a bit left out.

I’ve recently been chatting about this phenomena to some of my developer friends and colleagues; and the conclusion we have come to is that if there are no conferences happening locally to help promote knowledge share and collaboration between developers, then the only solution is to set one up ourselves!

We got chatting with some friends; those friends made some introductions and the result is CodeMobile – a conference specifically created for Mobile Developers. The event will take place just after easter next year (18th, 19th and 20th April), is a 3 night residential and has 2 tracks, one for Android Developers and another for iOS Developers.

In creating the conference we’ve deliberately tried to make it as accessible as possible for developers from all backgrounds. The ticket price is as cheap as it possibly can be (Super Early Bird, £275 & £350 Full Price) which will hopefully allow Indie Developers who are not backed by big corporations to come along; and we’ve been fortunate enough to attract a plethora of speakers from both the UK and internationally.

Putting the conference together over the past few weeks has been an absolute whirlwind of an experience and I’m delighted we’ve had so much support and encouragement from within the developer community. We are now in the process of finalising the speakers list (there are still some great speakers to add to the list) and also confirm details before tickets go on sale on 1st September 2016.

As this is a new conference any help and support you can give will be very much appreciated. In particular we need help reaching out to developer networks and communities to make sure everyone is aware of the event. If you’re involved in a local meet-up or know any developers who might be interested a tweet mentioning the conference website or that tags those who might be interested would be hugely appreciated.

We’ve also opened up the possibility of winning some free conference tickets! If you want to be in with a chance then you just need to get your tweet on on follow the instructions on the Free Tickets page of the conference website.

I would love to hear any feedback about the event that you might have! Also if you have any speakers you would like to see at the event please drop me a line – I can’t promise but we will certainly reach out to those speakers and see if its possible to get them to attend.

My dream for this conference is that the developer community take ownership of it and that it becomes a true community event; to that end if you have any ideas or suggestions please drop me a tweet.

Once tickets go on sale please show your support by signing up to attend if you’re interested and able. It would be brilliant to see you at the event! You can also follow @codemobileuk on twitter, and find all related information on the conference website www.codemobile.co.uk

Categories: Android, Apple, Apps, Conferences, Social, Technology | Leave a comment

Blog at WordPress.com.