6. Required …
but Not
Sufficient!
• The common solutions are required,
but are not sufficient!
• Technical leadership is a key missing
success factor
• Technical leadership is not a silver
bullet!
9. Extreme Ownership
• To be a leader do what military leaders do
specially the extreme ownership attituded
i.e. never complain about circumstances
just take action.
10. Strength Based Leadership
“three keys to being a more
effective leader: knowing your
strengths and investing in others’
strengths, getting people with the
right strengths on your team, and
understanding and meeting the
four basic needs of those who look
to you for leadership.”
-- from the book’s amazon page
11. Leadership is Language
• " It's time to ditch the industrial
age playbook of leadership. In
Leadership is Language, you'll
learn how choosing your words
can dramatically improve
decision-making and execution
on your team”
12. The 21 Indispensable Qualities of a Leader
1. Character
2. Charisma
3. Commitment
4. Communication
5. Competence
6. Courage
7. Discernment
8. Focus
9. Generosity
10. Initiative
11. Listening
12. Passion
13. Positive attitude
14. Problem solving
15. Relationships
16. Responsibility
17. Security
18. Self-discipline
19. Servanthood
20. Teachability
21. Vision
13. The Leadership Challenge
• Model the Way
• Inspire a Shared Vision
• Challenge the Process
• Enable Others to Act
• Encourage the Heart
14. Leadership Models
• Many models of leadership are attribute based, they look for
the common attributes that great leaders share.
• How can different models of Leadership be understood at a
deep level so that a technologist can develop leadership
capacity?
• Lets perform a quick thought experiment.
16. Thought experiment
Suppose that your car breaks down. You open the hood.
Do you see the same thing that a mechanic sees?
Or
A non-developer friends looks a screen of code that you
are working on. Do they see the same things you see on
the screen?
17. Eyes or Words?
• You don’t see the same things that the
mechanic sees because you don’t have the
same vocabulary/concepts as the mechanic
• Words are the eyes with which you observe
the world
• New words create new possibilities for
action
18. Leaders Perceive a Wider Range of Possible Actions
A person acts based on his/her interpretation of the world or a
specific situation.
Leaders posses a way of interpreting the world or a specific
situation that allows them to see a wider range of actions than
others see. Leader can find the way forward when others can not.
20. Why Technical
Leadership?
Your point of view determines what
actions are possible.
Major problems are caused by the
economic, management, and
technical points of view being held
by different people.
Technical leaders integrate the
economic, management, and
technical points of view and can
therefore make better decisions!
21. What is a Point
of View?
A point of view is
a paradigm
22. Paradigm
Dictionary
Definition
• “A set of assumptions, concepts, values,
and practices that constitutes a way of
viewing reality for the community that
shares them, especially in an intellectual
discipline” [1]
• “The generally accepted perspective of a
particular discipline at a given time; (he
framed the problem within the
psychoanalytic paradigm)" [2]
23. The Proverbial Box
• A paradigm is a box within which problems are analysed and
solutions are developed.
• A paradigm represents a specific reality for the person in the
paradigm.
24. Thinking
Outside The
Box
Learn Learn a different paradigm or create a
new paradigm
Recognize
Recognize the paradigm that you are
in and the boundaries imposed by the
paradigm
25. Paradigm Relativity
• What is obvious in one paradigm can be imperceptible in
another paradigm
• What is true in one paradigm can be false in another paradigm
• What is possible in one paradigm can be impossible in another
paradigm
26. Non Euclidian Geometries
• Euclid the father of geometry wrote the “Elements” in 300 BC
stating in the fifth postulate that parallel lines never meet
• On Feb 23 1826 “Nikolia Lobacheksky” presented “hyperbolic
geometry” in which the fifth postulate is not true.
• It took 2126 years for a new paradigm in Geometry to be
developed!
• Non Euclidean geometry is extremely important to physics and is a
a critical component of Albert Einstein's general theory of relativity.
• So what is true Euclidean or non Euclidian geometry?
27. Back to Zero
• Experience in one paradigm does not
carry over into another paradigm
• The best practices in one paradigm
don’t carry over into another
paradigm.
• You must be willing to be a beginner to
learn a new paradigm.
28. The Trap of the
Right Paradigm
• A common trap is to believe that a
specific paradigm is the only
“right/correct” paradigm.
• People who discovered and proposed
new paradigms have been
persecuted, ignored, ridiculed, and
tortured by the defenders of the
“right” paradigms.
• Adopting a new paradigm requires
courage!
29. Working in vs. with Paradigms
• Working in the paradigm means that you can do stuff using the
methods and techniques of a paradigm
¡ Example: you can write a java class, you can write an SQL statement, you
can write a JDBC code … etc.
• Working with the paradigm means that you are aware of the
paradigm and its limits on your thinking. You think at an abstract
level on top of and outside of the paradigm you working with
¡ Example: Thinking in terms of OO or functional patterns, inventing new
patterns, … etc.
31. The Current Paradigm
• In the IT world the current paradigm says that a practitioner
should
¡ follow a single career track in technology, or management, or
economics / finance.
¡ develop their expertise in the technical or management or
economic/financial dimensions.
¡ Make decisions according to the best practices of their speciality
¡ Seek to acquire certifications and degrees in a speciality
32. Technical Leadership Paradigm
• The Technical Leadership paradigm says that a practitioner
should
¡ follow a career track in technology, and management, and economics
/ finance.
¡ develop their expertise in the technical and management and
economic/financial paradigms
¡ Make decisions that integrate the best practices of the technical,
management and economic paradigms
¡ Seek to be a generalizing specialist
34. Developer Point of View
A Developer is highly proficient with:
• A specific programming language such as Java, C#, JavaScript, … etc
• A development platform such as Spring, .NET, PHP, Ruby on Rails
• A specific product such as IntelliJ, Spring, Tomcat,MySQL, … etc.
• Focusing day-to-day on writing a lot of code
• Thinking in terms of the technologies and products that are being used, but not in terms of
the paradigms behind the technologies and products
• Focusing on learning new technologies and products
35. Designer Point of View
A Designer is a Developer who:
• Thinks at a higher level of abstraction than the developer
• Thinks in terms of the paradigm, not in terms of specific implementation of a paradigm
¡ Thinks about classes, objects, design patterns, rather than Java JDBC, JMS, C#, ADO.NET
• Thinks about the interactions of several parts of the system
• Can see multiple ways of doing the same thing and can determine which one is the best
using the paradigm to reason
• Focuses on learning paradigms and how a solution fits within a paradigm across multiple
products that use the paradigm. for example OO design patterns, vs functional design
patterns.
36. Developers vs. Designers
Developers
• Technically focused
• Technology focused
¡ Can use Hibernate & JPA for persistence
¡ Can use JMS to send a message to a message queue
¡ Can use HTML5, JavaScript, CSS to make a Web UI
¡ Can use Java and C #
• Communicate via working code
• Learn about technology and products
• Competent in one or more technologies
Designers
• Technically focused
• Paradigm focused
¡ Thinks in terms of the Object Oriented Paradigm
¡ Thinking in terms of the messaging paradigm
¡ Thinks in terms of web programming paradigm
¡ Think in terms of objects and interfaces & does not
focus on a specific language
• Is concerned with the structure and organization of
the code
• Embraces and extends developer role
• Learns paradigms and patterns
• Competent in at least one paradigm
38. Application
Architect
Point of
View
An Application Architect is a
developer & designer
Is able to apply multiple paradigms
simultaneously to the design and
delivery of an an application
Can work with both technical and
non-technical paradigms
40. Technology & Management Paradigms
Technical Paradigms
• Object Oriented
• Functional
• Reactive
• Relational Databases
• Messaging
• Rule / Logic
• Testing
• Architecture
• Desktop
• Web Applications
• Single User
• Multi-user
• Deployment & Operations
• Modeling
Management Paradigms
• Development Processes
¡ Waterfall
¡ Agile
• Project Management Paradigms
¡ Traditional
¡ Agile
• Running a team
¡ Reviews, evaluations, motivating, delegating, planning
• Leadership
¡ Command and Control
¡ Ontological
• Soft Skills
¡ Consulting
¡ Collaboration
¡ Politics
¡ Mentoring
41. Application Architect vs. Designer
Designers
• Think in terms of paradigms
• Versed in one or two paradigms
• Can work competently in more than two
paradigms
• Constantly learning new paradigms and
expanding capabilities to move towards
becoming an Application Architect
• Need to be expert coders
Application Architects
• Think in terms of paradigms
• Versed in all paradigms needed to deliver an
application
• Can work effectively in non- technical
paradigms, such as managing a team and
leading a software process
• Constantly learning new paradigms and
expanding and deepening their ability to think
abstractly
• Are Generalizing Specialists
42. Generalizing
Specialist
• “Generalizing Specialist” is a term coined by Scott Ambler to
describe someone who is:
¡ A generalist in a wide variety of software development
topics
¡ A specialist in a few areas of software development
¡ Knowledgeable in the business domain they work in
¡ Constantly learning new skills in existing specialties and
other areas, including both technical and business skills
¡ A jack of all trades, master of few
• A team made up of only specialists can’t communicate with
each other because they don’t speak the same language
• A team of generalists only does not have the skills to do the
work
• A team of generalizing specialists has both the general skills
to communicate effectively with each other and the know-
how to do the work
43. Life-Long Learning and Skills Longevity
• Even though things change quickly in the IT world, not all
things you learn will become obsolete right away.
• Scott Ambler grouped IT skills into three groups by longevity
¡ A technical leader develops in all three skills categories
simultaneously
44. Types of Skills
Communication and Collaboration Skills 50+ Years
Paradigm-Specific Skills 15-25 Years
Platform & Product-Specific Skills 5-10 Years
Source: Scott Ambler
45. Questions
What skills are you a specialist in?
What skills are you a generalist in?
What new specialist skills do you want
to develop?
What new generalist skills do you want
to develop?
46. System Architect Point of View
A System architect is an Application Architect who:
• Is well versed in most technical paradigms needed to deliver a portfolio of applications
• Is well versed in management paradigms and can think about effectiveness in terms of
introducing the best non-technical paradigms to the problem they are working on
• Can operate well inside business paradigms
• Has superbly developed skills in collaboration and politics and can effectively lead without
formal authority
47. Technical
Leader Point
of View
A Technical Leader is a System Architect
Thinks in terms of a technical, management and
economic/business paradigms
Works to deliver on the strategic intent of the
enterprise
Is equally at home with a bunch of MBAs or a bunch
of developer and designers
Has a foot in the business world and a foot in the
technical word
Is the link between business and technology