But, it was only in the 17th century, with Charles Babbage that the concept of digital computer surged. From this point until today, especially after 1950, many professionals surged to define lots of concepts, based on the mechanical foundation created decades ago.
This list is composed of 41 professionals, chosen by their capacity to change the way we work with technology today, developing concepts, patterns, programming languages, tools, and technologies.
Here is the list, ordered by alphabetical order:
1 - Ada Lovelace:
Daughter of the famous poet Lord Byron, Ada was a mathematician and writer.
She was recognized as the first computer programmer, Ada implemented the
first algorithm intended to provide a calculation for the
Analytical Engine, the general-purpose computer designed by Charles Babbage.
Links: BBC DOCUMENTARY: Calculating Ada
2 - Alan Kay:
Computer scientist, president of Viewpoints Research Institute and
professor at universities like Kyoto University and MIT, Kay was the pioneer
of object-oriented programming and the graphical user interface (GUI), with
the
Dynabook concept, that culminates after with the creation of laptops and tablets.
Links: TED - A powerful idea about ideas | Computer Education Research Blog
3 - Alan Turing:
Mathematician, scientist, philosopher, Turin create the concept of the
Turin Machine considered the model of a general-purpose computer. He worked
actively in Second War, creating the machine that helped break the German
Enigma codes. He also theorized what we know now as artificial intelligence.
Links: Computing Machinery and Intelligence | Movie - The Imitation Game
4 - Alistair Cockburn:
Alistair is a computer scientist, and it was one of the initiators of the
agile movement in software development, helping to write the
Manifesto for Agile Development. He conceptualizes lots of interesting concepts, like the
Cockburn Scale
for categorizing software projects, the Hexagonal Architecture and the
concepts of Lightweight Architecture.
Links: Heart of Agile Movement | Twitter
5 - Anders Hejlsberg:
Software Engineer, Anders was co-designer of several popular commercial
programming languages, like Pascal, J++, Delphi, C#. Besides that, he worked
on the development of the compilers for these languages. He is working at
Microsoft developing the TypeScript language.
6 - Barry Boehm:
Boehm is a computer scientist and software engineer, director of Center for
Systems and Software Engineering at the University of Southern California.
He did extensive research in the areas of software quality, software
engineering economics, and invented the Spiral Model, as a risk-driven
for the software development process, the Wideband Delphi method, for
estimating effort and the Constructed Cost Model.
Links: Interview - Software Cost Estimation | Tech Talk - The ICSM Model
7 - Bill Gates:
The multi-billionaire software developer, investor, co-founder of
Microsoft, one of the companies that provided the revolution of
microcomputers in the modern era.
Now, Gates dedicates his time to philanthropy in the institute Bill & Melinda Gates.
Links: Gates Notes | The next outbreak? We're not ready
8 - Bjarne Stroustrup:
Computer scientist, working as managing director at Morgan Stanley,
Stroustrup was the creator of the C++ programming language, which provided
support for programming in a procedural, object-oriented, or functional way.
This language is still one of the most used in the world, since operating
systems, browsers, games, compilers, database systems, and others.
Links: Personal Homepage | LinkedIn
9 - Brendan Eich:
Technologist, creator of the Javascript programming language, the most used
language in the world, if you consider all the frameworks and subsets based
on it (like, for example, Angular with TypeScript language).
Brendan co-founded the Mozilla project and he is the CTO of Mozilla Corporation.
Links: Personal Homepage | Github
10 - Brian Kernighan:
Kernighan is a physics that contributed to the development of the Unix
operation system, author of the book "The C Programming Language", that is
considered one of the motives for the popularization and development of the
C language. He is co-author of the book Go Programming Language, and work at
Princeton University.
Links: Princeton - Department of Computer Science
11 - Charles Babbage:
Mathematician, philosopher, inventor, mechanical engineer, Babbage
created the concept of a digital programmable computer. The concept of
Analytical Engine, from 1837, containing an Arithmetic Logic Unit, basic
flow control and integrated memory turned him into the father of
computing.
Links: Video - A demo of Charles Babbage's Difference Engine
12 - David Parnas:

David Lorge Parnas is a pioneer as software and electric engineer, creating the concept of information hiding, which is the idea of restriction of some components from inside an object. This concept represented the basis of Encapsulation, which is much important when we are talking about OOP.
Links: Google Scholar
13 - Dennis Ritchie:
Computer scientist, Ritchie was the creator of the C programming
language, helping with the invention of the Unix operating system and B
programming language.
Links: Video - Top 20 Denis Ritchie Quotes | Bell Labs Material | Video - UNIX: Making Computers Easier to Use - 1982
14 - Donald Knuth:
Computer scientist, mathematician, and professor emeritus at Stanford
University, Donald Knuth was the developer of rigorous analysis of
the computational complexity of algorithms, creating the concept of
asymptotic notation.
Links: Stanford University Homepage
15 - Doug Cutting:
Software designer formed at Stanford University, Doug was the creator of
open-source search technology, through big products like Lucene and Nutch.
He is the manager of Apache Software Foundation, working for Cloudera.
Links: Here’s What Doug Cutting Says Is Hadoop’s Biggest Contribution
16 - Edsger Dijkstra:
Ester Wybe Dijkstra was a Dutch scientist and software engineer that
provided an enormous contribution to computer science, especially in
compiler construction, operating and distributed systems, software
engineering, graph algorithms (like the
Dijkstra's algorithm).
Links: E. W. Dijkstra Archive
17 - Eric Evans:
Eric Evans is a specialist in domain modeling and design in large
business systems. Since the early 1990s, he has worked on many projects
developing large business systems with objects and has been deeply
involved in applying Agile processes on real projects. He's the author of
the book "Domain-Driven Design: Tackling Complexity in the Heart of the
Software" considered required reading for who wants to learn
DDD.
Links: Personal Website | Twitter
18 - Fred Brooks:
Frederick Phillips Brooks is a computer architect, scientist, and
software engineer, project manager for the IBM System/360. He managed the
development of OS/360. In his book,
The Mythical Man-Month: Essays on Software Engineering, Brooks conceptualized the idea that adding manpower to a late project
makes it even later.
Links: Google Scholar
19 - Grace Hopper:
Hopper joined the U.S. Navy during World War II and was assigned to
program the Mark I computer. She continued to work in computing after the
war, leading the team that created the first computer language compiler,
which led to the popular COBOL language.
Links: Documentary - The Queen of Code
20 - Guido van Rossum:
Developer and creator of Python programming language, Van Rossum is known
as a BDFL (Benevolent Dictator for Life), which means that he continues to
oversee Python development process, and always making decisions where
necessary.
Links: Personal Page | Personal Blog | The Mind at Work Interview
21 - James Gosling:
Data Scientist and inventor, known as the father of Java Programming
Language, Gosling is now advising companies like Amazon, Lightbend,
Jelastic, Eucalyptus, DIRTT Environmental Solutions. He works actively to
the development of distributed systems solutions, and helped to construct
part of the
8 Fallacies of Distributed Computing.
Links: Patents by James Gosling | Personal Blog
22 - Jeff Sutherland:
Jeff Sutherland is one of the creators of the Scrum software development
process, helping to write the
Agile Manifesto in 2001. He is working actively since then to spread the best use of Agile
practices in industries.
Links: Personal Blog | Twitter
23 - Jim Highsmith:
Highsmith is a software engineer, author of books about software
development methodology and creator of the Adaptative Software Development
focused on the principle of continuous adaptation of the process, as part
of the software development.
Links: ThoughtWorks website | Keep Agile Going
24 - John Carmack:
Carmack is a computer programmer, video game developer, and engineer,
co-founder of id Software, working as lead programmer of games like Doom,
Quake, Wolfenstein 3D, creating algorithms in the area of 3D graphics.
Working as Consulting CTO for Oculus VR.
Links: Personal Blog | Twitter
25 - John Ive:
Industrial, product, and architectural designer, Ive was the former Chief
Design Officer of Apple, responsible for the design of many Apple products
like, iMac, iPod, iPad, MaBook and services, like
Apple Park
and Apple Stores. Working now as Chancellor of Royal College of Art in
London.
Links: What will Apple do without Jony Ive? | About Johathan Ive
26 - Ken Thompson:
One of the pioneers of computer science, Ken designed and implemented the original Unix operating system. He invented the B programming language, which preceded the famous C programming language. The definition of UTF-8 encoding, co-invention of the Go programming language, and many others were made by Ken Thompson.
Links: Video - VCF East 2019 - Interview | Reflections on trusting trust
27 - Kent Beck:
Ken is a software engineer, creator of the Extreme Programming, and one
the creators of Agile Manifesto. He is one of the most important names on
the concept of Test-Driven Development and gave many contributions for
frameworks like xUnit and JUnit.
Links: Personal Website | Twitter
28 - Larry Page:
Co-founder of Google, the multinational technology company that
dominates almost 90% of the online search market. Page and Sergey Brin
left the company in 2019 to the current CEO Sundar Pichai.
Links: TED - Where's Google going next? | A letter from Larry and Sergey
29 - Linus Torvalds:
Software engineer, Linus is the creator and principal developer of the
Linux Kernel and the distributed version control system Git. Actually
working to maintain the kernel at Linux Foundation.
Links: GitHub | Interview - I'm not a programmer anymore
30 - Mark Zuckerberg:
Founder of Facebook, the most famous multi-billionaire social
network in the world. Zuckerberg serves as its chairman, chief executive
officer, and controlling shareholder.
Links: A Privacy-Focused Vision for Social Networking
31 - Martin Fowler:
Fowler was the founder of concepts like code refactoring and Design
Patterns. He was one of the creators of the Agile Manifesto and popularized the term Dependency Injection. He is Chief Scientist at
ThoughtWorks.
Links: Personal Website
32 - Niklaus Wirth:
Niklaus Wirth is a computer scientist, responsible for the creation of many programming languages like Pascal, Algol W, Euler, Modula, Modula-2, Oberon, Oberon-2, Oberon-07.
Links: Biography | Video - Programming Languages Future Challenges
33 - Richard Stallman:
Free software movement activist and programmer, Stallman was the creator of GNU Project and Free Software Foundation,
the copyleft concept and author of free software licenses like the GNU
General Public License.
Links: Personal Website
34 - Robert C. Martin:
Uncle Bob is one of the authors of the Agile Manifesto. He organized the
five principles of object-oriented programming, known as SOLID. Author
of famous books like Clean Code, Agile Principles and Practices, Uncle
Bob works as an instructor of his company, Clean Coder.
Links: Personal Blog | Design Principles and Design Patterns
35 - Sanjay Ghemawat:
Computer scientist and software engineer working at Google in the area of
big data processing, using
MapReduce
model and other technologies like Google File System, Bigtable, Tensorflow
and Spanner. In his dissertation about Object-Oriented databases, Ghemawat
worked directly with the supervision of
Barbara Liskov
(the creator of one of the SOLID principles).
Links: Articles | The Modified Object Buffer: A Storage Management Technique for OO Databases
36 - Steve Wozniak:
Computer scientist, inventor, and philanthropist. Wozniak, with the participation of Steve Jobs, invented the Apple I computer. The pair founded Apple Computers in 1976 with Ronald Wayne, releasing some of the first personal computers on the market. In November 2019, Wozniak has remained an employee of Apple in a ceremonial capacity since stepping down in 1985.
Links: Breakout Game | Woz.org | Twitter
37 - Thomas Sterling:
Professor of Intelligent Systems Engineering at the Indiana University,
Computing and Engineering, Sterling provided expense research in the area
of parallel computing systems structures, semantic, and operation. He is
known as the father of
Beowulf clusters.
Links: Video-The Future of Computer Architecture is Non-von Neumann
38 - Tim Berners-Lee:
Engineer and computer scientist, Berners-Lee is known as the inventor of
the World Wide Web, the protocol HTTP, implementing the first
communication client/server via the internet. He is the director of W3C
Consortium, founder of the Web Foundation, president of Open Data
Institute and advisor of MeWe.
Links: Articles | Blog | Twitter | Poscast: 30 years on, what’s next #ForTheWeb?
39 - Tom DeMarco:
Sofware engineer, author, consultant of software engineering topics. DeMarco was one of the major figures in the development of structured analysis and structured design in software engineering. Hist book Structured Analysis and System Specification is a classic in the technology area.
Links: List of Books | Interview
40 - Udi Dahan:
Software engineer, an expert on software architecture and design, Udi is one of the world’s thought leaders in the areas of Service-Oriented Architecture, Domain-Driven Design, co-creator of the Command/Query Responsibility Segregation pattern, founder of NServiceBus, companies from all over the world turn to Udi for help on their mission-critical projects.
41 - Ward Cunningham:
Cunningham is a computer programmer, developer of the first wiki,
co-author of
Manifesto for Agile Software Development, a pioneer for design patterns, extreme programming, creator of the
WikiWikiWeb, among many other achievements.
Links: Personal Website | Interview | Twitter
42 - Werner Vogels:
Vogels is a computer scientist, author of many articles about distributed
systems technology for computing systems specialized in ultra-scalable
systems. He is vice-president of Amazon.
Links: Blog | Twitter | Video - A Conversation with Werner Vogels
-------------------------
These professionals provided so much for the projects they worked on (most of them working nowadays on such good projects). How can we learn with them, moving a step forward in the world of technology?
Please, let your comments. Feel free to add more names and their achievements, so we can comment and learn more. I know they are lots more names that could be added here, so let us know about it.
Thank you.
David Parnas and Dijkstra are most certainly missing!
ReplyDeleteF. P. Brooks Jr.
ReplyDeleteBetween Grace Hooper and Guido von Rossum you have a missed on Grady Booch!
ReplyDeleteI would have thought you want to add those who created relational databases etc and thereby changing the face of business as we know it. For example, Dr Ted Codd. Oracle, IBM and CSC together in the early days changed the face of computing.
ReplyDeleteJonny Ive is hardly a software person (AFAIK).
ReplyDelete