SlideShare a Scribd company logo
Why other people don’t get it

@sandromancuso
The Technical Assessment
Which ones are the good
developers?
You tell me
You fucking hired them
Sandro Mancuso
@sandromancuso
Manager: Why developers…?
Managers complain about developers, but:
Do they know what a good developer looks like?
Do they know how to hire good ones?
Developer: How do I convince … ?
1. Define the culture you want to
have in your company.
1. Don’t make your problem
bigger. Hire allies.
1. Help people to help you.
Changing the recruitment process
Look for passion
job descriptions are bad
Java Developer - J2SE / J2EE - Financial Software
Java Developer (J2SE or J2EE) with SQL experience required for a permanent
role with a growing and extremely successful Financial Software organisation.
The ideal candidate for this java development role will possess a passion for
technology and a desire to have exposure to, and learn more about the Financial
Services arena.
Salary: £50,000 - £60,000 plus benefits and bonus
Skills and Experience
Applicants must have strong core Java skills gained in a commercial
environment along with the following technical skills and experience:

• 5+ years intensive Java Development (J2SE or J2EE)
• 3+ years intensive SQL (some knowledge of SQL Server and Oracle)
• Experience with web technologies (ideally HTML 5, CSS 3, jQuery, Spring
MVC)
• Strong OO analysis and design experience
• Experience of the full software development lifecycle (SDLC)
• Ability to clearly communicate with peers, business analysts and subject
matter experts
Java Developer - J2SE / J2EE - Financial Software (cont.)
The following skills would be beneficial but not essential:
•
•
•
•
•

Development on high performance distributed systems (in java)
Experience with both real time and batch systems
Experience with distributed technologies such as Oracle Coherence
Experience with Spring , Hibernate
Experience in an agile environment (including TDD, JUnit, etc.)

The java developer role will involve close interaction with the Systems
Architect, Java Team Leaders and other members of the development team
and will demand a high level of design and coding to implement and deliver
enhancements.
There will be ample opportunities for the successful java candidate to
quickly expand on their banking and funds management experience, with
plenty of business exposure.
[Ideal candidate] … will possess a
passion for technology
What if a job description is needed?
Developer (senior) - Development Team
We are looking for smart, self-motivated software developers to join our truly
exceptional development team. Good working TDD experience is essential for
this role.
About you
•
•
•

You care about software; you have a passion for what you do which you can
clearly convey by your actions rather than just waffly personal statements
on your CV.
You have an eye for software design and can talk eloquently on a range of
topics due to your experiences and also from reading and experimentation.
For you it’s more than a job.

TDD
Among other things we’re strong advocates of TDD. We think it represents
such a particular mindset we’d only consider you for a senior position if you
have significant working experience with it. If you do have working experience
with TDD, great! We want to know more. How much? How did you do TDD?
How have you used TDD on a recent project? What problems have you faced?
The more the better!
Developer (senior) - Development Team
The role
Our teams are cross-functional, self-organising and highly autonomous. No
architects, project managers or middle management, you’ll be working directly
with our Product Managers and stakeholders in a highly collaborative manner.
This approach requires a huge amount of teamwork and maturity and is not
right for everyone, but we believe it’s the best way to create great software.
Among other things, Pair Programming, TDD/BDD, Refactoring, and
Continuous Delivery are deeply embedded and we’re constantly striving to
improve the way we work. We know typing is not the bottleneck, so among
other things:
• Have around two sessions a week spending time doing things like Katas,
Dojos and discussing practices and technologies.
• Each get up to two days “innovation time” a month we can use to play with
new toys or product ideas.
• Regularly attend conferences and community events, both as participants
and contributors (we’ve recently ran sessions at QCon, SCUK and SPA).
• However, we’re not perfect and not afraid to say so. We recognise we have
many problems which need solving and a long way to go on our journey of
continuous improvement.
Developer (senior) - Development Team
Technologies we use
Most of our stack is C#/.Net but we’re using and investigating many other
languages and technologies (e.g. Ruby, server side JavaScript, C++, Python).
We’d be interested in candidates from any background as long as you have a
keen understanding of Object Oriented languages. Here’s a (not exclusive) list
of technologies we currently use:
• C#, Ruby, JavaScript
• ASP.Net MVC, OpenRasta, Nancy, ServiceStack, Nhibernate, Windsor,
StructureMap, NUnit, RhinoMocks, ReSharper, NDepend
• Cucumber, Rails, RSpec, Rake, Capybara, Selenium, Watir
• REST, Oauth
• MS SQL, ElasticSearch, Solr
• Mono, Windows, IIS, Nginx
• RabbitMQ
• Git, TeamCity
We’re also very keen on open source. We contribute to some of the
technologies listed above as well as maintaining our own forks (+ publishing
other things we’d like to share) on our GitHub account
Culture & Values
You can’t be serious about
building a great team if you don’t
have time to interview
filtering developers by passion
The interview process
code submission
technical conversation
pair programming session
final conversation
Don’t blame the developers
Ask yourself how they were hired
Ask yourself how they were nurtured
The longest and hardest recruitment
process in history
culture of learning
switching projects for an iteration

pet project time

book club

communities of practice
group code reviews

tech lunch

hands-on sessions

roundtables

switching projects for a few hours
It’s better to ask forgiveness than
to beg for permission
What if others don’t join in?
fear and incompetence
responsibility vs. accountability
autonomy, mastery, and purpose
hire, nurture, empower
Dear Manager,

The reason why people don’t give a shit
is because that’s the behaviour you
unwittingly nurtured.
Yours sincerely,
Sandro
Dear Developer,

The reason you have to put up with a lot
of shit is because you haven’t done
enough to change the situation.
Yours sincerely,
Sandro
Thank You
@sandromancuso
sandro@codurance.com

http://leanpub.com/socra

More Related Content

PPTX
Voxxed Days Thesaloniki 2016 - The Long Road
DOC
ravi_resume
PDF
Software development learning path - board infinity
DOCX
PDF
Adam Boyse
DOC
Gaurov Ojha - Resume
PPTX
Effective Tips to Hire Expert Java Developers for you Next Project
PDF
From 0 to product, a decision driven path to success
Voxxed Days Thesaloniki 2016 - The Long Road
ravi_resume
Software development learning path - board infinity
Adam Boyse
Gaurov Ojha - Resume
Effective Tips to Hire Expert Java Developers for you Next Project
From 0 to product, a decision driven path to success

What's hot (9)

DOC
Curriculam
PDF
Board Infinity Data Science Brochure - data science learning path
PPTX
Leading Software Development Teams
PDF
Most in demand skills for software development staff augmentation
DOCX
Resume_Updated
PPTX
Building Great Software Engineering Teams
PPTX
Email05 test slides
PPTX
Recruiting the right people quickly public
PPTX
HP's Dev Ops Summit 2021, Better Together: An Inner Source Journey
Curriculam
Board Infinity Data Science Brochure - data science learning path
Leading Software Development Teams
Most in demand skills for software development staff augmentation
Resume_Updated
Building Great Software Engineering Teams
Email05 test slides
Recruiting the right people quickly public
HP's Dev Ops Summit 2021, Better Together: An Inner Source Journey
Ad

Viewers also liked (20)

PDF
What You Need to Know About Lambdas - Jamie Allen (Typesafe)
PDF
How Hailo fuels its growth using NoSQL storage and analytics - Dave Gardner (...
PPTX
Bringing your app to the web with Dart - Chris Buckett (Entity Group)
PDF
Design is a Process, not an Artefact - Trisha Gee (MongoDB)
PDF
Are you better than a coin toss? - Richard Warbuton & John Oliver (jClarity)
PPTX
45 second video proposal
PDF
Real-world polyglot programming on the JVM - Ben Summers (ONEIS)
PPTX
Interactive media applications
PPTX
Interactive media applications
PDF
Garbage Collection: the Useful Parts - Martijn Verburg & Dr John Oliver (jCla...
PDF
Databases and agile development - Dwight Merriman (MongoDB)
PDF
How Windows 10 will change the way we use devices
PPTX
Legal and ethical considerations redone
PDF
Streams and Things - Darach Ennis (Ubiquiti Networks)
PDF
The state of the art biorepository at ILRI
PDF
Big data from the LHC commissioning: practical lessons from big science - Sim...
PPTX
Practical Performance: Understand the Performance of Your Application - Chris...
PDF
Packed Objects: Fast Talking Java Meets Native Code - Steve Poole (IBM)
PDF
Lambda Expressions: Myths and Mistakes - Richard Warburton (jClarity)
PDF
Scaling Scala to the database - Stefan Zeiger (Typesafe)
What You Need to Know About Lambdas - Jamie Allen (Typesafe)
How Hailo fuels its growth using NoSQL storage and analytics - Dave Gardner (...
Bringing your app to the web with Dart - Chris Buckett (Entity Group)
Design is a Process, not an Artefact - Trisha Gee (MongoDB)
Are you better than a coin toss? - Richard Warbuton & John Oliver (jClarity)
45 second video proposal
Real-world polyglot programming on the JVM - Ben Summers (ONEIS)
Interactive media applications
Interactive media applications
Garbage Collection: the Useful Parts - Martijn Verburg & Dr John Oliver (jCla...
Databases and agile development - Dwight Merriman (MongoDB)
How Windows 10 will change the way we use devices
Legal and ethical considerations redone
Streams and Things - Darach Ennis (Ubiquiti Networks)
The state of the art biorepository at ILRI
Big data from the LHC commissioning: practical lessons from big science - Sim...
Practical Performance: Understand the Performance of Your Application - Chris...
Packed Objects: Fast Talking Java Meets Native Code - Steve Poole (IBM)
Lambda Expressions: Myths and Mistakes - Richard Warburton (jClarity)
Scaling Scala to the database - Stefan Zeiger (Typesafe)
Ad

Similar to Why other ppl_dont_get_it (20)

PDF
java advert
DOC
Jitendrasinh Jadon
DOC
Devendra_SrJavaJ2eeDeveloper
DOCX
Raju SpringMVC Hibernate 2Year Exp (1)
DOC
deepak2
DOC
Jitendrasinh Jadon
DOC
Alaguraja.Ramasamy
DOC
Amit_Resume
DOC
Lakkakula Sunil Kumar
DOCX
SAIGANESH CHINTALA_JAVA
PDF
JAVA DEVELOPERS
DOC
Jd java app developer
DOC
Resume_Anton_Boshoff
PDF
SENIOR JAVA DEVELOPERS
KEY
Recruiting great developers
PDF
Junior Developer Resume. The ProcessOrder Placemen
DOCX
Shyam Patil - Resume
DOC
Javacurriculamvite
DOC
Arnab Chakraborty CV
PPTX
Becoming-a-Full-Stack-Developer-With-Full-Stack-Course.pptx.pptx
java advert
Jitendrasinh Jadon
Devendra_SrJavaJ2eeDeveloper
Raju SpringMVC Hibernate 2Year Exp (1)
deepak2
Jitendrasinh Jadon
Alaguraja.Ramasamy
Amit_Resume
Lakkakula Sunil Kumar
SAIGANESH CHINTALA_JAVA
JAVA DEVELOPERS
Jd java app developer
Resume_Anton_Boshoff
SENIOR JAVA DEVELOPERS
Recruiting great developers
Junior Developer Resume. The ProcessOrder Placemen
Shyam Patil - Resume
Javacurriculamvite
Arnab Chakraborty CV
Becoming-a-Full-Stack-Developer-With-Full-Stack-Course.pptx.pptx

More from jaxLondonConference (20)

PDF
Conflict Free Replicated Data-types in Eventually Consistent Systems - Joel J...
PDF
JVM Support for Multitenant Applications - Steve Poole (IBM)
PDF
Introducing Vert.x 2.0 - Taking polyglot application development to the next ...
PDF
Are Hypermedia APIs Just Hype? - Aaron Phethean (Temenos) & Daniel Feist (Mul...
PPT
How Java got its Mojo Back - James Governor (Redmonk)
PDF
Java Testing With Spock - Ken Sipe (Trexin Consulting)
PDF
Big Events, Mob Scale - Darach Ennis (Push Technology)
PDF
What makes Groovy Groovy - Guillaume Laforge (Pivotal)
PDF
The Java Virtual Machine is Over - The Polyglot VM is here - Marcus Lagergren...
PDF
Java EE 7 Platform: Boosting Productivity and Embracing HTML5 - Arun Gupta (R...
PPT
Exploring the Talend unified Big Data toolset for sentiment analysis - Ben Br...
PDF
The Curious Clojurist - Neal Ford (Thoughtworks)
PPTX
TDD at scale - Mash Badar (UBS)
PDF
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
PDF
Put your Java apps to sleep? Find out how - John Matthew Holt (Waratek)
PPTX
Project Lambda: Functional Programming Constructs in Java - Simon Ritter (Ora...
PPTX
Do You Like Coffee with Your dessert? Java and the Raspberry Pi - Simon Ritte...
PDF
Little words of wisdom for the developer - Guillaume Laforge (Pivotal)
PPTX
Large scale, interactive ad-hoc queries over different datastores with Apache...
PDF
Designing Resilient Application Platforms with Apache Cassandra - Hayato Shim...
Conflict Free Replicated Data-types in Eventually Consistent Systems - Joel J...
JVM Support for Multitenant Applications - Steve Poole (IBM)
Introducing Vert.x 2.0 - Taking polyglot application development to the next ...
Are Hypermedia APIs Just Hype? - Aaron Phethean (Temenos) & Daniel Feist (Mul...
How Java got its Mojo Back - James Governor (Redmonk)
Java Testing With Spock - Ken Sipe (Trexin Consulting)
Big Events, Mob Scale - Darach Ennis (Push Technology)
What makes Groovy Groovy - Guillaume Laforge (Pivotal)
The Java Virtual Machine is Over - The Polyglot VM is here - Marcus Lagergren...
Java EE 7 Platform: Boosting Productivity and Embracing HTML5 - Arun Gupta (R...
Exploring the Talend unified Big Data toolset for sentiment analysis - Ben Br...
The Curious Clojurist - Neal Ford (Thoughtworks)
TDD at scale - Mash Badar (UBS)
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
Put your Java apps to sleep? Find out how - John Matthew Holt (Waratek)
Project Lambda: Functional Programming Constructs in Java - Simon Ritter (Ora...
Do You Like Coffee with Your dessert? Java and the Raspberry Pi - Simon Ritte...
Little words of wisdom for the developer - Guillaume Laforge (Pivotal)
Large scale, interactive ad-hoc queries over different datastores with Apache...
Designing Resilient Application Platforms with Apache Cassandra - Hayato Shim...

Recently uploaded (20)

PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Cloud computing and distributed systems.
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
cuic standard and advanced reporting.pdf
PPTX
Big Data Technologies - Introduction.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Electronic commerce courselecture one. Pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
Per capita expenditure prediction using model stacking based on satellite ima...
Digital-Transformation-Roadmap-for-Companies.pptx
Understanding_Digital_Forensics_Presentation.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Mobile App Security Testing_ A Comprehensive Guide.pdf
Unlocking AI with Model Context Protocol (MCP)
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
The AUB Centre for AI in Media Proposal.docx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Cloud computing and distributed systems.
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
cuic standard and advanced reporting.pdf
Big Data Technologies - Introduction.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Electronic commerce courselecture one. Pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Advanced methodologies resolving dimensionality complications for autism neur...

Why other ppl_dont_get_it

  • 1. Why other people don’t get it @sandromancuso
  • 3. Which ones are the good developers?
  • 4. You tell me You fucking hired them
  • 7. Managers complain about developers, but: Do they know what a good developer looks like? Do they know how to hire good ones?
  • 8. Developer: How do I convince … ?
  • 9. 1. Define the culture you want to have in your company. 1. Don’t make your problem bigger. Hire allies. 1. Help people to help you.
  • 10. Changing the recruitment process Look for passion
  • 12. Java Developer - J2SE / J2EE - Financial Software Java Developer (J2SE or J2EE) with SQL experience required for a permanent role with a growing and extremely successful Financial Software organisation. The ideal candidate for this java development role will possess a passion for technology and a desire to have exposure to, and learn more about the Financial Services arena. Salary: £50,000 - £60,000 plus benefits and bonus Skills and Experience Applicants must have strong core Java skills gained in a commercial environment along with the following technical skills and experience: • 5+ years intensive Java Development (J2SE or J2EE) • 3+ years intensive SQL (some knowledge of SQL Server and Oracle) • Experience with web technologies (ideally HTML 5, CSS 3, jQuery, Spring MVC) • Strong OO analysis and design experience • Experience of the full software development lifecycle (SDLC) • Ability to clearly communicate with peers, business analysts and subject matter experts
  • 13. Java Developer - J2SE / J2EE - Financial Software (cont.) The following skills would be beneficial but not essential: • • • • • Development on high performance distributed systems (in java) Experience with both real time and batch systems Experience with distributed technologies such as Oracle Coherence Experience with Spring , Hibernate Experience in an agile environment (including TDD, JUnit, etc.) The java developer role will involve close interaction with the Systems Architect, Java Team Leaders and other members of the development team and will demand a high level of design and coding to implement and deliver enhancements. There will be ample opportunities for the successful java candidate to quickly expand on their banking and funds management experience, with plenty of business exposure.
  • 14. [Ideal candidate] … will possess a passion for technology
  • 15. What if a job description is needed?
  • 16. Developer (senior) - Development Team We are looking for smart, self-motivated software developers to join our truly exceptional development team. Good working TDD experience is essential for this role. About you • • • You care about software; you have a passion for what you do which you can clearly convey by your actions rather than just waffly personal statements on your CV. You have an eye for software design and can talk eloquently on a range of topics due to your experiences and also from reading and experimentation. For you it’s more than a job. TDD Among other things we’re strong advocates of TDD. We think it represents such a particular mindset we’d only consider you for a senior position if you have significant working experience with it. If you do have working experience with TDD, great! We want to know more. How much? How did you do TDD? How have you used TDD on a recent project? What problems have you faced? The more the better!
  • 17. Developer (senior) - Development Team The role Our teams are cross-functional, self-organising and highly autonomous. No architects, project managers or middle management, you’ll be working directly with our Product Managers and stakeholders in a highly collaborative manner. This approach requires a huge amount of teamwork and maturity and is not right for everyone, but we believe it’s the best way to create great software. Among other things, Pair Programming, TDD/BDD, Refactoring, and Continuous Delivery are deeply embedded and we’re constantly striving to improve the way we work. We know typing is not the bottleneck, so among other things: • Have around two sessions a week spending time doing things like Katas, Dojos and discussing practices and technologies. • Each get up to two days “innovation time” a month we can use to play with new toys or product ideas. • Regularly attend conferences and community events, both as participants and contributors (we’ve recently ran sessions at QCon, SCUK and SPA). • However, we’re not perfect and not afraid to say so. We recognise we have many problems which need solving and a long way to go on our journey of continuous improvement.
  • 18. Developer (senior) - Development Team Technologies we use Most of our stack is C#/.Net but we’re using and investigating many other languages and technologies (e.g. Ruby, server side JavaScript, C++, Python). We’d be interested in candidates from any background as long as you have a keen understanding of Object Oriented languages. Here’s a (not exclusive) list of technologies we currently use: • C#, Ruby, JavaScript • ASP.Net MVC, OpenRasta, Nancy, ServiceStack, Nhibernate, Windsor, StructureMap, NUnit, RhinoMocks, ReSharper, NDepend • Cucumber, Rails, RSpec, Rake, Capybara, Selenium, Watir • REST, Oauth • MS SQL, ElasticSearch, Solr • Mono, Windows, IIS, Nginx • RabbitMQ • Git, TeamCity We’re also very keen on open source. We contribute to some of the technologies listed above as well as maintaining our own forks (+ publishing other things we’d like to share) on our GitHub account
  • 20. You can’t be serious about building a great team if you don’t have time to interview
  • 22. The interview process code submission technical conversation pair programming session final conversation
  • 23. Don’t blame the developers Ask yourself how they were hired Ask yourself how they were nurtured
  • 24. The longest and hardest recruitment process in history
  • 26. switching projects for an iteration pet project time book club communities of practice group code reviews tech lunch hands-on sessions roundtables switching projects for a few hours
  • 27. It’s better to ask forgiveness than to beg for permission
  • 28. What if others don’t join in?
  • 33. Dear Manager, The reason why people don’t give a shit is because that’s the behaviour you unwittingly nurtured. Yours sincerely, Sandro
  • 34. Dear Developer, The reason you have to put up with a lot of shit is because you haven’t done enough to change the situation. Yours sincerely, Sandro

Editor's Notes

  • #3: Managers asking for team assessment (who is good, who is not?)Common question asked by managers. “We give them the ‘freedom’ to do stuff but they don’t care”.
  • #4: There is no way I would name someone, unless I think there is someone that will destroy the team. It’s not right to spend sometime with developers, earn their trust, and then betray them.
  • #5: Managers asking for team assessment (who is good, who is not?)Common question asked by managers. “We give them the ‘freedom’ to do stuff but they don’t care”.
  • #7: "Why do things take so long to be done? Why the developers don't care?Why is it so hard for them to understand the business? I don't think this Agile thing is working for us. We need better developers—talented people, people that can get the job done.”Whenever this question is asked, I know that the problem is much deeper than that:Incompatible attitude. What is good, what is not? (devs vs. managers)
  • #8: Mr Manager: Good developers are not the ones that do what you want.Good developers are the ones that can
  • #9: "How do I convince my team to do TDD? How do I convince my boss about pair programming? The other developers in my team don't care. What do I do? How do I convince my boss that we need more time? How can I find a good company to work for?"
  • #10: When thinking about this talk, I wanted to talk about many things. Everything we did in the past 2 / 3 years in a large IB. However, I decided then to focus on recruitment, since I consider it to be thing that should be changed first. 2. Stop recruiting the same type of people you are trying to get rid of. 3. Provide an environment where they can learn and flourish. Help them to get the knowledge.
  • #11: Company wants good developers. The problem is that good developers also want good companies.Unless your company is in the middle of the Brazilian rainforest or the Sahara desert, consider that your company is not good enough to attract good developers.
  • #12: Reasons:Promote keyword matchingDesigned to weed out the worst instead of attracting the bestNot used for internal promotions
  • #13: Created for mass marketJ2SE (OR) J2EE? Old acronyms (J2EE instead of JEE). Old rolling spec that no one cared to update?Passion for technology, as long as it is Java. Small salary range: as if all developers were equal.Seniority measured by years, not by knowledgeSDLC: Planning, Analysis, Design, Implementation, Maintenance (inclination to waterfall)
  • #14: Agile / TDD is not essential. Mix Agile with TDD and Junit (as if they were the same). The “etc.” after Junit reinforces that Agile is just a bunch of not essential stuff they don’t care much.Hierarchical environment, with architects and team leadersNo interaction with real users or business (POs).Subtle message: Gaining experience in the business will help you move on with your career, becoming a manager.
  • #15: In the previous job spec, this is total bullshit. No one values passion for technology there.
  • #16: Design it to attract passionate developersAbout You sectionTechnical practices are more important than specific technologiesState the company structure (no architects, PMs, middle mngmt.Time for learning and sharing
  • #17: About You: Tailored to attract passionate developersTDD: They know that solid technical practices are more desirable than knowledge in a specific technology.Seniority measured by experience.Clearly states their culture and values.
  • #18: Technical practices more important than knowledge in specific technology.Time to practice and learn is embedded in their culture and highlighted in their job description.
  • #19: - They talk about technology they use, not the technologies that are essential for a candidate to know.- Value OSS, contributing to OSS projects. - Have their own GitHub account.
  • #20: This is not just about a job spec. This is about a company’s culture and values. What is your company culture? What are the values?Mr. Manager? What have you done for enabling your company to be like that?Mr. Developer? What have you done for enabling your company to be like that?
  • #21: Every one complains they don’t have time to interview. Mistakes: Delegate interview to recruiters and vendors; Inefficient filter criteria; Failure to find good developers; Failure to understand what good developers look like. First change: Empower the team to hire
  • #22: The first change in our selection process was to filter by passion:No attention to CVPublic profile: GitHub, Pet projects, Blog, open source contributions, Twitter, Tech Communities, Books, Whichever filter criteria you use, you will always leave good people out.
  • #23: Code submission (using their own GitHub)Complex enough to use a few classesNo technology requirementNo deadlinePair programming sessionTime to start, not to finishBring your own laptopChoose your own language and tools
  • #24: You may have a much bigger problem. A people hire A people. B people hire B and C people.C people just hire D and E peopleBeat the passion out of the devs.
  • #25: No formal interviews. Just a 30 minutes conversation.Recruiting from community.
  • #27: Managers: Enable your team to do itDeveloper: Take the initiative and organise the sessionsAvoid consensus delayDon’t ask for authorizationDon’t complicateEstablish a rhythm
  • #28: That’s what I’ve done at UBS. I kept pushing the boundaries. Managers want people to get stuff done and many times they are just happy that some one goes there and does something.
  • #29: Not everyone at UBS joined. Frustrations. 80-20 Pareto’s law. 20% of the people can make a 80% improvement in the company.Be an exampleFocus on those who careDon’t forceFew people, big improvements
  • #30: Two of the main reasons why we have bureaucracy and politics inside companies.
  • #31: Ivory-Tower architect storyManagers: If you are responsible, you should also be accountable. Developers: Don’t take accountability if you don’t have responsibility.
  • #32: As a manager, you should strive to provide these three to your employees.As a developer, that’s what you should look for in a job.
  • #33: You wouldn’t ask questions like “Why my people don’t .. ?” if you had hired good people, provided them with a learning environment and empowered them to do their jobs.