Five types of developers & designers I have worked with
I haven’t been in the Kenyan developer ecosystem for a very long time (5 years) but I feel I have seen a lot within that period!
I started out in 2012 as a web developer and later on took on project management alongside development. After 11 months I left the company I used to work for and venturing fully into freelancing. The interesting thing is that with freelancing, you don’t have a specific role. You are the CEO, CFO, CTO, Business developer, Senior engineer, junior engineer, and KYM (Kazi ya Mkono — errand boy) just to name a few. My stint as a freelancer lasted for about seven months before I joined the Build team (then called iHub Consulting) at the iHub as the lead. All along, I have worked as a developer or with developers. As a result, I have started seeing patterns with the people I have worked with.
I can categorize the developers/designers I have worked with into 5 distinct groups: the eager beginner, the diva, the hipster, the rockstar, and the team player.
The Eager Beginner
I think every developer has been at this stage at some point. When you first discover design or development you are eager to learn as much as possible. As a result, you will try many different tools and languages before you settle on one. Your first project might be built using Laravel, the next one using Go, the one after that with Ruby on Rails and so on so forth. The presence of mind to choose a tool based on the task to be accomplished hasn’t kicked in yet and as result, you will, in several occasions, realize that as an example, choosing Mongo over Postgresql for a particular project wasn’t a smart move.
Pros: it is part of the learning process. Learning by doing is a great way to learn
Cons: there is the danger of becoming The Hipster developer.
Hipsters know are always up to speed on trends. The way they dress and speak can tell you that.
Hipster developers know all the cool new technologies. There is a new JS framework? You bet the hipster developer knows it! There is a new language that promises to outdo all the existing ones? He/She has already done a showcase project available on their Github repo.
Pros: curiosity, despite killing the cat, is an amazing thing. This is the most reliable way to discover new and amazing things
Cons: it is hard to be really good at something when you are always trying out each new thing that hits the market
As techies, we are considered an eccentric bunch. The interesting thing is that among ourselves we have a further breakdown. We have designers and then we have developers.
From my experience, designers are some of the hardest people to work with! Design, by its nature, is something hard to critique and give feedback compared to building APIs, for example.
Diva designers will have you at their mercy. Timelines don’t mean a thing to them! Excuses I or my team members have got from designers have been bizarre to say the least.
Project manager: we were to finish up this last week? What caused the delay?
Designer: my cows were sick and hence I couldn’t finish the task as requested
Project manager: when will this be done so that we can do a demo?
Designer: you ask when it will be done? It will be done when it is done!
Working with diva designers involves massaging their egos almost all the time! How fast they deliver depends on how much the designer likes you. Unfortunately, it is hard to be liked all the time.
Pros: their work is outstanding. When you see the final output it just blows your mind!
Cons: the work you have received is mind blowing but it is a month late. Good luck pacifying the client
This guy/chick can pull off the seemingly impossible! Another developer might have been struggling with an algorithm for two days and he/she will get it working in less than four hours.
Algorithm (noun) — word used by developers when they don’t want to explain what they did
Such a developer has been in the industry for a long time and has a deep understanding of his/her domain. Everyone in the team knows that he/she is the best developer in the team. When the team needs a tie breaker he/she is the go to person.
Pros: who doesn’t want a rockstar in their team? Such developers help out a lot with the rest of the team. They also help you recruit as other developers as people always want to work with people they can learn from
Cons: most rockstars think they know everything. How can this be a problem? No one knows everything! There will be situations when someone else in the team has a good idea but the tendency is to go with the rockstar’s idea. Woe unto you if the rockstar doesn’t use modern development practices! You can’t read his/her code once the developer leaves.
The Team Player
This is my favorite type of developer/designer! When working as a lone freelancer, teamwork isn’t something you think about a lot. Once you join a team with more than three people teamwork becomes important. When you get to six or more team members it becomes critical.
A team player is able to work with any team member without the need for a personal relationship. He/She understands that each person in the team has a role to play and for a project to succeed everyone has to carry their weight.
Pros: you will get things done! Team players are very reliable. One of the designers I have worked with once woke up at 5am to complete a task because we had a presentation at 10am in the morning. Talk about reliability!
There are some interesting combinations you can get based on the five I have shared above.
- The Eager Beginner + The Hipster — you really don’t want this
- The Team Player + The Rockstar — this is a unicorn
- The Rockstar + The Diva — too much overhead
Are you a developer or designer? Do you fit in any of the categories I have outlined above? What have I missed out? Feel free to leave your feedback below or tweet me.
Enjoyed this piece and keen to share this with the world, colleagues and friends? Hit ‘Recommend’ a.k.a the lovely little heart at the bottom left of this post.