SlideShare a Scribd company logo
MAC Convergence Lecture
Life skills – become the world's finest developers
Rinka Singh
Agenda
●

Life skills of a brilliant developer, problem solver

●

Problem identification and validation

●

Problem solving

●

Intrapreneurship & Entrepreneurship

●

Your takeaways

●

Reading, references
Who is this person?
●

Multics (MULTiplexed Information and Computing Service) – MIT, GE,
Bell Labs & ARPA
–
–

●

Next-gen time-sharing OS
Over weight & inconsistent requirements

Bell labs pulled out – budget cut.
–

–

Called it unix (pun on the word Multics)

–
●

Ritchie & Thompson wrote a simple OS in spare time – because it was fun
and they wanted to do it.
Used an old PDP-7

First apps
–

C language – to improve portability & port to a PDP-11

–

Text processing – for the Bell Labs secretaries to type documents

–

Games: “Space Travel“ on the PDP-7
...and this one?
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki
Hello everybody out there using minix I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486)
AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on
things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the filesystem (due to practical reasons) among other things).
I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get
something practical within a few months, and I'd like to know what features most people would want.
Any suggestions are welcome, but I won't promise I'll implement them :-)
Linus (torvalds@kruuna.helsinki.fi)
PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT protable (uses 386 task
switching etc), and it probably never will support anything other than AT-harddisks, as that's all I
have :-(.
... him?
James Gosling
●

As part of a project - was looking for a language
to run on many platforms
–
–

●

looked at many languages
Couldn't identify one that fitted.

Went ahead and wrote a new language

Which language?
...and them?
●

PhD students at Stanford

●

Research project: “Backrub“ – 1998
–

●

Goal: “to develop the enabling technologies for
a single, integrated and universal digital library“

Started at the Stanford website with the
domain http://google.stanford.edu/
What about him?
●

Student at Harvard.

●

Wrote “Facemash“ in his second year.

●

2004 did Facebook for Harvard students
–

Then schools & universities

–

And then opened it out to the world
And a final one...
Andy Rubin
●

Co-founder of Android Inc.
–
–

●

An open source company.
Funded by Google

Also co-founded Danger Inc.
–

●
●

●

Bought out by Microsoft

4 patents
Currently SVP at Google – manages
Google Chrome.
Net Worth – about $100 M
What is common
●

Problem solving: Discover a problem; Understand & live with it
●
●
●
●

●

A language that will run on everything
Connecting people (facemash)
Building a global library (backrub)
try & discard – iterate (facemash, backrub)

They are playing, having fun, learning
–

Multics to unix
●

No games? we'll write them

–
–
●

Kept trying, kept learning, kept improving – continuous learning
Sorting 1PB at google (2008)

Effortless – masters of their game
–

How do you become a master?
●

The road to mastery – 10,000 hours (12 years)

●

You gotta love working at it or you won't make a master
Problem Identification and analysis

What is a problem
What is a symptom
Patterns and pattern recognition
The car that had an ice­cream allergy
General Motors got a customer complaint – his new GM Pontiac was
allergic to ice-cream.
“...I won't blame you for not answering me, because I know it kind of
sounds crazy but I have a car that is allergic to ice-cream.
I recently purchased a new Pontiac and since then my trips to the
store have created a problem. Every time I buy vanilla ice cream,
when I start back from the store, my car won't start“.
So GM sent an engineer to check it out…
… ice­cream allergy
How did the engineer analyze the root cause of a seemingly impossible bug?
●

Did not dismiss the issue as being impossible or the customer as being a jerk.

●

Collected data without jumping to conclusions or offering a quick fix work around.

●

Figured out what parameters to look for.

●

Saw a pattern in the data.

●

Finally he defined the problem – restart interval. The rest was trivial...

Define the problem, ask the right questions
An expert is not someone that gives the right answer
it is someone that asks the right questions...
Jeff Bezos – Problem solving
Bezos and his leadership team have a tradition of visiting the
Amazon.com Fulfillment Centers in Q4; spend time with the
associates, and physically work alongside everyone.
During one such visit, there had been a safety incident where an
associate had severely damaged his finger.
When Jeff heard this, he was very disturbed and emotional —
angry at first, then felt bad for this associate and his family. Then...
He pulled up a board and did a 5W based problem analysis
… 5W based Problem Analysis
●

●

●

●

Why did the associate damage his thumb?
– Thumb got caught in the conveyor.
Why did his thumb get caught in the conveyor?
– He was chasing his bag, which was on a running conveyor.
Why did he chase his bag?
– He placed his bag on the conveyor, but it then turned-on by surprise
Why was his bag on the conveyor?
– Because he used the conveyor as a table

Root Cause
Root cause of the associate’s damaged thumb is that he needed a table and
used a conveyor as a table. So...
●
We provide tables at the appropriate stations
●
Also update and a greater focus on safety training.
●
Also, look into preventative maintenance standard work.
Solving the problem...
NOT YET!!! We are not there yet.
●

Test your understanding of the problem first
–
–

Dive deep...

–

How will you test?

–

Understand what the other person expects as a “good result“

–
●

With whom? How will you understand your customer's needs.

Can you add value?

Prototype
–

Quickly...

–

Backrub, facemash...

–

Anyone heard of QDOS?
Problem solving...
●

First ensure you are solving the right problem.
–
–

●

Ask what, why, how, when and where
Prioritize – which problem will you solve first

Learn, read, contribute
–
–

Subscribe to newletters

–

Contribute to your industry – how many of you contribute to Open Source?

–

Figure out how to apply

–

Attend meetups,

–

●

Read, read, read – everything related to your field.

Solve problems – practice, practice, practice for 10,000 hrs...

Collect & share knowledge – become THE go-to expert.
Intrapreneurs and Entrepreneurs
●

Who is an Intrapreneur
–
–

●

Don Estridge – the father of the IBM PC
Gary Starkweather – Laser printer at Xerox PARC

Who is an entrepreneur
–

Very similar people...

●

What skills do they have

●

Should you build these skills?
Take aways

What did you 
learn today?
Reading, References
●

References
–
–

Unix: An oral history

–

●

Linux - history
History of Java

Readings
–

How we master a skill - I mean REALLY MASTER something

–

Code complete, Steve McConnell ISBN - 9780735619678

–

Stack overflow – Programmers' reading guide

More Related Content

Similar to Life skills for developers and architects

Building a SaaS App: From Paper to Prototype to Product.
Building a SaaS App: From Paper to Prototype to Product.Building a SaaS App: From Paper to Prototype to Product.
Building a SaaS App: From Paper to Prototype to Product.
Josh Rodriguez
 
"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau
"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau
"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau
TheFamily
 
Surviving the technical interview
Surviving the technical interviewSurviving the technical interview
Surviving the technical interview
Eric Brooke
 
Introduction to ai
Introduction to aiIntroduction to ai
Introduction to ai
Shiwani Gupta
 
How getting your hands dirty with code makes you a better business leader @ V...
How getting your hands dirty with code makes you a better business leader @ V...How getting your hands dirty with code makes you a better business leader @ V...
How getting your hands dirty with code makes you a better business leader @ V...
Linde Vloeberghs
 
How getting your hands dirty with code makes you a better business leader @ V...
How getting your hands dirty with code makes you a better business leader @ V...How getting your hands dirty with code makes you a better business leader @ V...
How getting your hands dirty with code makes you a better business leader @ V...
Hifluence
 
How to deliver the right software (Specification by example)
How to deliver the right software (Specification by example)How to deliver the right software (Specification by example)
How to deliver the right software (Specification by example)
Asier Barrenetxea
 
A Ruby Conference Overview (by a Non-Ruby Programmer)
A Ruby Conference Overview (by a Non-Ruby Programmer)A Ruby Conference Overview (by a Non-Ruby Programmer)
A Ruby Conference Overview (by a Non-Ruby Programmer)
Crystal Stephan
 
UX 101: User Research methods to kickstart your project
UX 101: User Research methods to kickstart your projectUX 101: User Research methods to kickstart your project
UX 101: User Research methods to kickstart your project
Charlotte Breton Schreiner
 
Software Craftsmanship and Agile Code Games
Software Craftsmanship and Agile Code GamesSoftware Craftsmanship and Agile Code Games
Software Craftsmanship and Agile Code Games
Mike Clement
 
Assignment 3. LCL.
Assignment 3. LCL. Assignment 3. LCL.
Assignment 3. LCL.
tpitre
 
Future of software development - Danger of Oversimplification
Future of software development - Danger of OversimplificationFuture of software development - Danger of Oversimplification
Future of software development - Danger of Oversimplification
Jon Ruby
 
The NXT Step - Assessing with Lego Robots
The NXT Step - Assessing with Lego RobotsThe NXT Step - Assessing with Lego Robots
The NXT Step - Assessing with Lego Robots
Kenji Lamb
 
How to talk to your developers
How to talk to your developersHow to talk to your developers
How to talk to your developers
Spin42
 
User Experience Basics for Product Management
User Experience Basics for Product ManagementUser Experience Basics for Product Management
User Experience Basics for Product Management
Roger Hart
 
Product Design at Wiredcraft - May 2016 UI/UX Meetup Shanghai
Product Design at Wiredcraft - May 2016 UI/UX Meetup ShanghaiProduct Design at Wiredcraft - May 2016 UI/UX Meetup Shanghai
Product Design at Wiredcraft - May 2016 UI/UX Meetup Shanghai
Wiredcraft
 
designthinking
designthinkingdesignthinking
designthinking
Vera Kovaleva
 
Teach colleagues accessibility - CSUN ATC 2018
Teach colleagues accessibility - CSUN ATC 2018Teach colleagues accessibility - CSUN ATC 2018
Teach colleagues accessibility - CSUN ATC 2018
Tom Widerøe
 
Getting it Built
Getting it BuiltGetting it Built
Getting it Built
Andrew Gassen
 
EPFL PxS - week 2 interviewing
EPFL PxS - week 2 interviewingEPFL PxS - week 2 interviewing
EPFL PxS - week 2 interviewing
hendrikknoche
 

Similar to Life skills for developers and architects (20)

Building a SaaS App: From Paper to Prototype to Product.
Building a SaaS App: From Paper to Prototype to Product.Building a SaaS App: From Paper to Prototype to Product.
Building a SaaS App: From Paper to Prototype to Product.
 
"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau
"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau
"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau
 
Surviving the technical interview
Surviving the technical interviewSurviving the technical interview
Surviving the technical interview
 
Introduction to ai
Introduction to aiIntroduction to ai
Introduction to ai
 
How getting your hands dirty with code makes you a better business leader @ V...
How getting your hands dirty with code makes you a better business leader @ V...How getting your hands dirty with code makes you a better business leader @ V...
How getting your hands dirty with code makes you a better business leader @ V...
 
How getting your hands dirty with code makes you a better business leader @ V...
How getting your hands dirty with code makes you a better business leader @ V...How getting your hands dirty with code makes you a better business leader @ V...
How getting your hands dirty with code makes you a better business leader @ V...
 
How to deliver the right software (Specification by example)
How to deliver the right software (Specification by example)How to deliver the right software (Specification by example)
How to deliver the right software (Specification by example)
 
A Ruby Conference Overview (by a Non-Ruby Programmer)
A Ruby Conference Overview (by a Non-Ruby Programmer)A Ruby Conference Overview (by a Non-Ruby Programmer)
A Ruby Conference Overview (by a Non-Ruby Programmer)
 
UX 101: User Research methods to kickstart your project
UX 101: User Research methods to kickstart your projectUX 101: User Research methods to kickstart your project
UX 101: User Research methods to kickstart your project
 
Software Craftsmanship and Agile Code Games
Software Craftsmanship and Agile Code GamesSoftware Craftsmanship and Agile Code Games
Software Craftsmanship and Agile Code Games
 
Assignment 3. LCL.
Assignment 3. LCL. Assignment 3. LCL.
Assignment 3. LCL.
 
Future of software development - Danger of Oversimplification
Future of software development - Danger of OversimplificationFuture of software development - Danger of Oversimplification
Future of software development - Danger of Oversimplification
 
The NXT Step - Assessing with Lego Robots
The NXT Step - Assessing with Lego RobotsThe NXT Step - Assessing with Lego Robots
The NXT Step - Assessing with Lego Robots
 
How to talk to your developers
How to talk to your developersHow to talk to your developers
How to talk to your developers
 
User Experience Basics for Product Management
User Experience Basics for Product ManagementUser Experience Basics for Product Management
User Experience Basics for Product Management
 
Product Design at Wiredcraft - May 2016 UI/UX Meetup Shanghai
Product Design at Wiredcraft - May 2016 UI/UX Meetup ShanghaiProduct Design at Wiredcraft - May 2016 UI/UX Meetup Shanghai
Product Design at Wiredcraft - May 2016 UI/UX Meetup Shanghai
 
designthinking
designthinkingdesignthinking
designthinking
 
Teach colleagues accessibility - CSUN ATC 2018
Teach colleagues accessibility - CSUN ATC 2018Teach colleagues accessibility - CSUN ATC 2018
Teach colleagues accessibility - CSUN ATC 2018
 
Getting it Built
Getting it BuiltGetting it Built
Getting it Built
 
EPFL PxS - week 2 interviewing
EPFL PxS - week 2 interviewingEPFL PxS - week 2 interviewing
EPFL PxS - week 2 interviewing
 

Recently uploaded

UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
Claudio Di Ciccio
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 

Life skills for developers and architects

  • 1. MAC Convergence Lecture Life skills – become the world's finest developers Rinka Singh
  • 2. Agenda ● Life skills of a brilliant developer, problem solver ● Problem identification and validation ● Problem solving ● Intrapreneurship & Entrepreneurship ● Your takeaways ● Reading, references
  • 3. Who is this person? ● Multics (MULTiplexed Information and Computing Service) – MIT, GE, Bell Labs & ARPA – – ● Next-gen time-sharing OS Over weight & inconsistent requirements Bell labs pulled out – budget cut. – – Called it unix (pun on the word Multics) – ● Ritchie & Thompson wrote a simple OS in spare time – because it was fun and they wanted to do it. Used an old PDP-7 First apps – C language – to improve portability & port to a PDP-11 – Text processing – for the Bell Labs secretaries to type documents – Games: “Space Travel“ on the PDP-7
  • 4. ...and this one? From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) Newsgroups: comp.os.minix Subject: What would you like to see most in minix? Summary: small poll for my new operating system Date: 25 Aug 91 20:57:08 GMT Organization: University of Helsinki Hello everybody out there using minix I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the filesystem (due to practical reasons) among other things). I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-) Linus (torvalds@kruuna.helsinki.fi) PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT protable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(.
  • 5. ... him? James Gosling ● As part of a project - was looking for a language to run on many platforms – – ● looked at many languages Couldn't identify one that fitted. Went ahead and wrote a new language Which language?
  • 6. ...and them? ● PhD students at Stanford ● Research project: “Backrub“ – 1998 – ● Goal: “to develop the enabling technologies for a single, integrated and universal digital library“ Started at the Stanford website with the domain http://google.stanford.edu/
  • 7. What about him? ● Student at Harvard. ● Wrote “Facemash“ in his second year. ● 2004 did Facebook for Harvard students – Then schools & universities – And then opened it out to the world
  • 8. And a final one... Andy Rubin ● Co-founder of Android Inc. – – ● An open source company. Funded by Google Also co-founded Danger Inc. – ● ● ● Bought out by Microsoft 4 patents Currently SVP at Google – manages Google Chrome. Net Worth – about $100 M
  • 9. What is common ● Problem solving: Discover a problem; Understand & live with it ● ● ● ● ● A language that will run on everything Connecting people (facemash) Building a global library (backrub) try & discard – iterate (facemash, backrub) They are playing, having fun, learning – Multics to unix ● No games? we'll write them – – ● Kept trying, kept learning, kept improving – continuous learning Sorting 1PB at google (2008) Effortless – masters of their game – How do you become a master? ● The road to mastery – 10,000 hours (12 years) ● You gotta love working at it or you won't make a master
  • 10. Problem Identification and analysis What is a problem What is a symptom Patterns and pattern recognition
  • 11. The car that had an ice­cream allergy General Motors got a customer complaint – his new GM Pontiac was allergic to ice-cream. “...I won't blame you for not answering me, because I know it kind of sounds crazy but I have a car that is allergic to ice-cream. I recently purchased a new Pontiac and since then my trips to the store have created a problem. Every time I buy vanilla ice cream, when I start back from the store, my car won't start“. So GM sent an engineer to check it out…
  • 12. … ice­cream allergy How did the engineer analyze the root cause of a seemingly impossible bug? ● Did not dismiss the issue as being impossible or the customer as being a jerk. ● Collected data without jumping to conclusions or offering a quick fix work around. ● Figured out what parameters to look for. ● Saw a pattern in the data. ● Finally he defined the problem – restart interval. The rest was trivial... Define the problem, ask the right questions
  • 13. An expert is not someone that gives the right answer it is someone that asks the right questions...
  • 14. Jeff Bezos – Problem solving Bezos and his leadership team have a tradition of visiting the Amazon.com Fulfillment Centers in Q4; spend time with the associates, and physically work alongside everyone. During one such visit, there had been a safety incident where an associate had severely damaged his finger. When Jeff heard this, he was very disturbed and emotional — angry at first, then felt bad for this associate and his family. Then... He pulled up a board and did a 5W based problem analysis
  • 15. … 5W based Problem Analysis ● ● ● ● Why did the associate damage his thumb? – Thumb got caught in the conveyor. Why did his thumb get caught in the conveyor? – He was chasing his bag, which was on a running conveyor. Why did he chase his bag? – He placed his bag on the conveyor, but it then turned-on by surprise Why was his bag on the conveyor? – Because he used the conveyor as a table Root Cause Root cause of the associate’s damaged thumb is that he needed a table and used a conveyor as a table. So... ● We provide tables at the appropriate stations ● Also update and a greater focus on safety training. ● Also, look into preventative maintenance standard work.
  • 16. Solving the problem... NOT YET!!! We are not there yet. ● Test your understanding of the problem first – – Dive deep... – How will you test? – Understand what the other person expects as a “good result“ – ● With whom? How will you understand your customer's needs. Can you add value? Prototype – Quickly... – Backrub, facemash... – Anyone heard of QDOS?
  • 17. Problem solving... ● First ensure you are solving the right problem. – – ● Ask what, why, how, when and where Prioritize – which problem will you solve first Learn, read, contribute – – Subscribe to newletters – Contribute to your industry – how many of you contribute to Open Source? – Figure out how to apply – Attend meetups, – ● Read, read, read – everything related to your field. Solve problems – practice, practice, practice for 10,000 hrs... Collect & share knowledge – become THE go-to expert.
  • 18. Intrapreneurs and Entrepreneurs ● Who is an Intrapreneur – – ● Don Estridge – the father of the IBM PC Gary Starkweather – Laser printer at Xerox PARC Who is an entrepreneur – Very similar people... ● What skills do they have ● Should you build these skills?
  • 20. Reading, References ● References – – Unix: An oral history – ● Linux - history History of Java Readings – How we master a skill - I mean REALLY MASTER something – Code complete, Steve McConnell ISBN - 9780735619678 – Stack overflow – Programmers' reading guide