38. What developers want
1.Room for growth of skills/knowledge
2.High caliber team
3.Positive organization structure
4.Opportunity to learn
5.Control over own work
39. What developers want
6. Excitement about company’s products
7. Convenient commute
8. High base compensation
93% of developers would accept an offer
of at least 10% less in comp from a
company who better fit these criteria
Poll – who is trying to hire their first developer? What do you want to get out of this course?
It’s like playing poker.1. Develop a strategic plan. 2. Find a match. 3. Build a bankroll. Retain employees for long term successintroduce me and Cyrus We craft custom software side-by-side with our clients and help spread best practice in the world of software development. We’ve spent the last 8 years building awesome tech teams, both ours and we’ve helped our clients build their tech teams as well.I have personally spent the last 16 years building tech teams, both for big brands like Kraft Foods, for dotcom era company MicroStrategy, and for the last 8 years, Cyrus Innovation. This is going to be an interactive course, I encourage questions and comments throughout.
The same 10 people wind up at the final table at the World Series of Poker each year. This isn’t by accident or by luck. Poker is a game of odds, but if you develop a strategy, you can beat those odds and find yourself at the winner’s seat quite frequently. Turn the random hand into a winner by developing a strategic plan.
Define your success criteria.What does success in this role look like in 3 months, 6 months and 12 months?Example: in 3 months, will be billable on a client project. Will be versed in our services and products, will have written code that’s in production.SMART – Specific, Measurable, Attainable, Relevant, TimelyWhat are your company values, how does this tie in to success in the role? Should the person fit in with these somehow?
Exercise - What are your elimination factors? Ex: At Cyrus, telecommuting is not possible, we pair program, so if someone can not work at our office, it’s an elimination factorIs working experience with Ruby an elimination factor, or something you can teach the candidate?Does your company sponsor H1B visas or no?
Should Sell your needSuccess FactorsElimination FactorsWhy Acme Company?CompensationBe interesting but sincereHave a developer write it if possibleHave different versions – titles, lengths
Map out the Cyrus path:A list of activities required to complete one hireThe time that each activity will take to completionThe dependencies between the activities.This will be your interview processStarting step – define your need. Final step - employee accepts offer AND starts workThings to include – company sell, time for questionsTo Do at home – List idle time between each step. Try to minimize all idle time.Try to get candidates from start to finish as quickly as possible.Cyrus process – write on board
Exercise - which is your most expensive step? Likely in terms of man hours? Try to move this back in the critical chain as far as possible and filter out as many people as possible until they get to this step?Which ‘cheaper’ steps can you move to the front? Ex: things that require candidates to do a lot but not your companyEx: Our 2nd step, take home exercise, takes no time from us, only 19% of people pass.
Cyrus’s 1:1 mapEach activity in your critical path should teach you 1 thing about the candidate.Exercise 2 min – for each quality, write next to it which step of your critical path specifically helps you evaluate this quality.For example: Ruby on Rails 3 – code exerciseYou may find that some things aren’t currently specifically evaluated in any activity. This tell you that you must create an activity that will evaluate this criteria.Or one activity may your answer for many qualities. In this case, you can consider breaking out this activity to be more specifically geared towards one or 2 criteria.
By the time you speak with your first candidate, you will now have – A job description based on success and elimination factorsA true understanding of your interview process and how you will evaluate each candidateIt’s now time to start talking to potential matches and get to know who is a fit and who is not.
"Hire and promote first on the basis of integrity; second, motivation; third, capacity; fourth, understanding; fifth, knowledge; and last and least, experience. Without integrity, motivation is dangerous; without motivation, capacity is impotent; without capacity, understanding is limited; without understanding, knowledge is meaningless; without knowledge, experience is blind. Experience is easy to provide and quickly put to good use by people with all the other qualities.”-Dee Hock, the founder and CEO emeritus of VisaWrite on board – integrity, motivation, capacity to learn, knowledge, experience.
If you can’t recognize good code from bad and need to hire a developer, have a third party to vett candidate code for you during the interview processAnd, have a technical advisor as part of your company who’s responsible for ensuring your developer(s) continuously produce good codeIf you can recognize good code from bad, code with the candidate as part of the interview process to see first hand how they develop code
If you have a day job and are moonlighting your startup: don’t expect a good dev to work 9-5 for youIf you don’t have money to pay:don’t expect a dev to work for equity if that equity has no value yetIf you don’t have a vision: don’t expect a dev to quit another job to help you make your dream a reality if you can’t verbalize that dream.
equity - should you give it - sure, but this won't lock in a solid dev, they want meaningful work and job securityCompensationEquityHours (40? 100?)
Legal interview question handout.
In poker, everyone knows that a royal flush beats a pair. Everyone who participates in the interview process should know the grading system before the interview starts How do you know if someone ‘passes’ each activity?Do you give thumbs up/thumbs down? Grade 1-10? Say Y/N? Something more detailed or complex?
if someone fails, do they get multiple chances to fail or do they end the interview process. For example, if you bring someone on site, do they talk to 3 people and then the 3 interviewees discuss, or, does the candidate get graded after each interview and if they get a thumbs down do they go home?Track the scores. Excel does a good job.
Track results to learn which activities work better than others.Excel is a good first tool to use+ / delta – what’s working, what could be betterFive Whys – ask Why 5 times.
Avoid batch processingPresent the entire offer and benefits package to them as a complete offering. Find out what it would take for them to say yes. Put a deadline on the offer, don’t make it open ended.
As soon as you identify that someone isn’t a match, stop the interview process. If someone is at your office and you think they are not a match, it’s ok to have them wait in a room while you talk about them in another room. They know they are there to be evaluated. offer to help try to make one connection for themFor those that you like but that stop - Future follow up–keep in touch down the roadGive honest feedback on why they aren’t a fit..
Build a bankroll by retaining your employees for long term success.Turnover is expensive. When you find a good match, put effort into keeping them.
Align your employees towards common values, goals and missionSurround yourself with vendors, tools and clients that support these values, goals and missionsToyota did this – became lean and required all vendors to be lean as well.
reward people for aligning with your valuesPeople don’t only want money, they want recognition among their peers, thoughtful recognition, knowing you value them.One of the Cyrus values - Improve as a company and as individuals through continuous learning, experimentation and feedbackLast month, one of my employees went above and beyond in the area of continuous learning. I bought him an AmEx gift card for $100, a card, wrote a nice note. Said I was really excited to have him as a team member, and appreciated his work on the task. Put it on his desk so when he came to work one morning he had it.Don’t make it future based. For example, don’t say, first one to 100 calls wins. Instead, make your values and goals clear, and if an employee does something well, recognize him/her for it genuinely and on the spot.
It’s ok to fire people.We’ve fired employees, clients and vendorshire slowly, fire quickly is mostly trueFire employees, clients and vendors quickly if they violate your core beliefs. Ex: Communicate honestly and treat people with respect.Fire employees, clients and vendors and clients slowly if they are honest and motivated but lack capacity or skill. When someone is struggling, the first question we ask is – Is this a motivation or capacity problem? Those that remain will respect you for creating a work environment comprise of strong coworkers, clients, tools and vendors
Enable developers to have a purpose, a meaning, for the work.- autonomy = self-governing, independentComplexity
It’s not always good to have a poker face. It’s ok to reveal how you feel.both positive and negativeone-on-one retrospectives 360 degree reviewsTeam lunchesIndividual lunches
A small win may not feel like much, but they add up over time.Act on the feedback you receiveMake your ‘win’ visible - email the team or the whole company, to say you are doing it. Give credit to the person or people that voiced the concern.