Though my lens as a software developer, I introduce some popular figures in the software development world and some of their contributions to the industry.
What Goes Wrong with Language Definitions and How to Improve the Situation
Some well known people
1. (through my lens as a software developer)
Some well known people
and some of their contributions
stanly@odd-e.com
2. stanly@odd-e.com
Just like the Four Heavenly Kings,
software development has their famous four…
there are actually more, maybe for another day :)
3. (⼀一)Martin Fowler
• British, born 1963
• Started software in 1980
• Co-authored Agile manifesto
• Popularised the term Dependency Injection
(which later influences DI containers like
Spring, Autofac etc)
• Formalise Refactoring
• Written (and still writing) articles about
technology.
• Currently Chief Scientist at ThoughtWorks
4. “Any fool can write code that a
computer can understand.
Good programmers write code that
humans can understand.”
(⼀一)Martin Fowler
5. (⼆二)Kent Beck
• American, born 1961
• One of the original signatory of Agile Manifesto
• Proponent of Test-Driven Development (which
has become the mainstream in s/w development)
• Author of SUnit and JUnit (which later rise xUnit
tools)
• Popularised the CRC cards (Class-responsibility-
collaboration)
• Currently works at Facebook
6. “I'm not a great programmer;
I'm just a good programmer
with great habits.”
(⼆二)Kent Beck
7. (三)Robert C. Martin (Uncle Bob)
• American
• Started software since 1970
• Co-authored Agile manifesto
• Initiated the meeting of the
group that leads to Agile
manifesto
8. • Proponent of Clean Code,
TDD and craftsmanship
• Brings together the set of
OOD principles aka S.O.L.I.D.
• Currently working at
CleanCoders
(三)Robert C. Martin (Uncle Bob)
9. "Master programmers think of
systems as stories to be told rather
than programs to be written."
(三)Robert C. Martin (Uncle Bob)
10. (四)Eric Gamma
• Swiss, born in 1961
• Co-authored the influential
Design Patterns book
• Co-wrote JUnit with Kent Beck
• Developed the "Monaco" suite
of components for browser-
based development found in
Visual Studio online, Visual
Studio Code etc.
11. “Program to an interface, not an
implementation”
(四)Eric Gamma
12. The following are also well-known
but not everyone knows about them
(at least from what I observed)
13. Jerry Weinberg
• American, born in 1933
• Published more than 40 books and 400 articles
• Involved in NASA Project Mercury back in
1950s
• Year 2000 Winner of The Stevens Award for
Contributions to Software Engineering
• His contributions (in the form of writings,
workshops) has inspired many. Some writers
called him the Grandfather of Agile.
14. Jerry Weinberg
“Helping myself is even harder
than helping others.”
“If the software doesn't have to
work, you can always meet any
other requirement.”
15. Jerry Weinberg
“People don't become leaders
because they never fail. They
become leaders because of the
way they respond to failure.”
“If you are a leader, the people
are your work.”
17. Michael Feathers
• American
• Started software in 1991
• Worked in Object Mentor
• Introduced the acronym
S.O.L.I.D.
• Provides insights to deal with
legacy code
18. Michael Feathers
“Programming is the art of doing
one thing at a time”
“The most subtle bugs that we
can inject are bugs related to
inheritance.”
19. James Grenning
• American, born in 1955-ish
• Co-authored Agile manifesto
• Invented Planning Poker, an estimation
technique
• Author of CppUTest (a unit testing
framework for C++)
• Currently at Wingman Software
20. James Grenning
(on customers changing their mind)
“Maybe you are in the wrong business. You can
deliver exactly what the client asks for and the
most likely thing to happen is that they thank
you and ask you to change it. Software change
is part of being a developer, so you better get
used to it. Even more, you better get good at it”
21. Jez Humble
• American
• Started software before 2000
• Currently works at Chef
• The idea of Continuous Delivery
spread like wildfire. Probably
influenced the growth of automation
tools on infrastructure and
virtualisation. Also increased
conversations of reducing the gap
between development and
operations.
22. Jez Humble
“If it hurts, do it more frequently,
and bring the pain forward.”
“Not ‘can we build it?’ but
‘should we build it?’”
23. Rachel Davis
• Started software since 1987
• Joined XP team at ConneXtra in 2000
• Probably the first to provide an insight
to what Agile coaching is about
• Currently a coach for development
and product teams in Unruly
24. Dave Thomas
• England
• Coined ‘Code Kata’ and ‘DRY’ (Don’t
Repeat Yourself) principle
• Co-authored The Pragmatic
Programmer, a classic craftsmanship
book that inspired many developers
• Currently at The Pragmatic Bookshelf
25. Steve Freeman
• UK
• Started software in 1994
• Created JMock, a mocking framework in
Java
• Known for the London school of TDD (vs
the classic TDD)
• Influences interaction-based testing (as
oppose to state-based testing)
26. Eric Evans
• American
• Started the idea (Ubiquitous Language)
of building up a common language
between users and developers.
Influenced companies to reduce the gap
between them.
• Domain-Driven Design influences an
alternative method instead of fixing
software design upfront.
27. Esther Derby
• American
• Started software before 1990
• Founder of AYE (Amplify Your
Effectiveness) conference
• Influences the concept of
retrospectives into workplace