TL;DR We spend ridiculous amount of time on verifying job candidates' technical proficiency, analytical thinking, communication skills, but we rarely ask them for what they really aim for. Companies enforce their career models & internal goals / definitions of success w/o examining what really drives a potentially new hire, what are their ambitions, what impresses them and lights up sparks in their eyes. It's a gross oversight as nothing unites & strengthens the team as much as the common goal & shared motivations.
I've never have hidden (especially on this blog) that fact that I'm totally fascinated by the topic of building high-performing, top-quality engineering teams (whole units even). I give this subject a lot of thought, have plenty of my own conclusions, that are usually not that much about technology itself, but more about so-called "soft-stuff": people motivations & ambitions, different life/career expectations, personal styles, borders of so-called comfort zone, etc. One of the key considerations in this area is about (criteria of) personal success. Why so?
- if you want a bunch of people to achieve something together, it makes a lot of sense to confirm that they share the same goals or at least that their goals are consistent and convergent at some point
- if you want to attract new talent, ambitious, intrinsically motivated people prefer to work with successful individuals (according to their own measures) - presumably, their role models - someone credible enough to learn from
What makes a successful software engineer then? This question ain't as trivial to answer as it may seem at the first glance. I've assembled a quick list of potential definitions of success - all these are real & collected from IT people I personally know:
- proven technical capabilities - having people respecting me for what I know & do on daily basis
- the breadth of technologies mastered - being a jack-of-all-trades who always has an answer to any question
- always working on the bleeding edge tech & not bothering with as painful nonsense as maintenance, legacy, refactoring or brownfield in general
- moving from writing business code to infrastructure code - building tools for other devs, re-usable frameworks, sophisticated algorithm implementations & all of that within 2%-5% market niche (frequently considered as an elite caste among the devs)
- building a successful product / platform (even if it's not owned by you) - something that has earned money / got noticed & is (was) growing
- building something that has actually helped people (product with its "mission", made by people with vocation) - something that hasn't just earned money, but has actually changed world in a good way (by helping to save the environment, fixing social problems, etc.)
- mixing engineering skills with entrepreneurship - turned development capabilities into business success as an owner / founder of the business, regardless of tech sophistication
- mentoring, coaching juniors, finally - building (organically) a team / unit - out-scaling yourself by raising, mentoring & influencing the next generation of engineers
- gaining community respect (thanks to public appearances, blogging, etc.) - building visibility, respect & "social rank" among people who share your interests & asirations - all of this due to your community activity
- Open Source contribution - putting your own brick(s) into something that may not be financially beneficial in a direct manner, but is widely adopted & considered useful
- big brands in employment history - some prefer being associated trendy bleeding edge tech brands ("unicorns"), some are OK with global enterprises or even local market hegemons
- money - kind of success synonymous with dinero, dead presidents, dough, loot, ...
- rich & diverse portfolio / project history - same as "the breadth of technologies ...", but this one is not about capabilities & skills, but well documented, rock-solid testimonials
- numbers of users / range of users (who use product you've created) - there's something oddly satisfying in knowing that your product has been regularly used by millions of people worldwide, including the random passersby who stands next to you gaping into his mobile
- measurable ratings / opinions regarding the product you've created - or other similar metrics, like average rating on Google Play or iTunes Store.
- breaking the boundaries, one after another - reaching higher, further, faster - what is important is only the challenge: to lead, instead of follow; setting new paths and standards; putting your next step somewhere no-one was before (even if few care ...)
- just having fun (at work) - carpe diem! enjoy all the little things, don't bother yourself with thinking to much about long-term metrics / targets / successes or achievements - this industry offers so much work for anyone able to code that there's no point in generating excessive pressure anyways, just make sure you remain useful ...
Looks likes quite wide variety, don't you think? And one can easily imagine discrepancies between team members who aim only for technical challenges & ones transfixed by the vision of breakthrough public utility product. Also, someone who has a documented track of significant OSS contributions may not really inspire individuals driven by purely extrinsic, financial motivations.
But still, it seems that we all would like to bask in glory, but this glory may have very different origins / flavors.
Wait, do we really?
Actually, I had met many IT professionals who had no explicit definition of success on their mind. It's not that bad if such individual is still a junior / youngster seeking her/his path, but what does it say about someone who already has few years of professional experience? Is such a person capable of being truly engaged? Can (s)he be really inspired (& inspiring)? Will (s)he be able to give her/his best to the work without having any skin in the game?
This is the point of this whole blog post - during the job interviews I perform (frequently more than 1 per week, for several years already) I keep asking questions about personal motivations, definition of the success, criteria one follows when choosing a new job - very few people treat these questions seriously, almost no-one has an answer already well thought through & 99% don't think their answer really matters.
Quite the contrary.
Pic: © detailblick-foto - Fotolia.com