Dead Sea Effect
As the CTO, I want us to get better at something. How? Do I need to hire an expert? If I cannot hire an expert, how do I make my team members better themselves. How do we improve talent throughout the organization? This session explores theories, stories and experiences.
Characteristics Needed to Grow
- Focus - If you're 100% utilized, you can't grow. You need to focus on a specific problem
- Slack - Employees also need a certain level of freedom and access to change processes and make improvements.
- Belief - The person must be self motivated and believe that there are areas for improvement
Mentoring/Coaching --someone was not a coder, this person wanted to learn and he ended up with a dev position -gave the book to someone and it worked well. another person read the same book and did not do well. must be intrinsic. --start slow - gave a java book, learned basic concepts, code reviews, small projects,
Worked with good people, hired awesome people, hired awesome interns
- Coaching and mentoring
- Need the right mindset
Hands Off Managers
- Doesn't tell you what to do
- Says he knew someone else who had a similar problem: try this...
Good interview questions
- What do you do to learn?
- What was the last tech book you read?
- Code complete
- Rapid development
- Software as a profession. For example, you can't have engineer in your title unless you're licensed. Constructs - what different levels of engineers should be. 10-15% ever read a tech book, journal articles, conferences, speak at conferences, write an article,
Things to try
- Encourage systems thinking and architecture
- Risk analysis (think of each component in the system and what overall effect failure of that component would cause)
Don't hire better people. Hire someone with the ability to make someone better.
- But what if they can't do it themselves?
Organization Pushing for Features
- This is exactly how not how to grow a stronger engineer
- Didn't explore new ways of doing things
- More about not being noticed
- Just getting things done and not caring
Another Team was given more freedom was a lot more successful
How Do you define what better is?
Send Your Devs to Learn from Others
- Send devs to other companies and learn processes.
- Send their developers to clients and to other companies and see how they work
- Collect disaster stories, failure stats