SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
Raising The Bar
1Thursday, 2 May 13
Hacking Yourself
• We’ve taught & mentored a lot over the years
– Ben Evans (@kittylyst)
– Martijn Verburg (@karianna)
• Culminating in the LJC, of course!
• The most amazing thing about the human mind is its
ability to change & to alter itself
• The industry moves so fast
– We need techniques to keep up
– Staying curious is key
2Thursday, 2 May 13
How Do We Learn?
3Thursday, 2 May 13
Cargo Cult Teaching?
4Thursday, 2 May 13
How Do We Learn?
5Thursday, 2 May 13
How Do We Learn?
Self-study
Social
coding
Formal
training
6Thursday, 2 May 13
Use A Basic Toolkit
• Ideal way to teach ourselves
• We should know all know basic CompSci
– Use it on a daily basis
– Look for places to apply it
• What should be in our toolbox?
– Data structures, Big-O, type theory, information theory
– Compilers, interpreters, virtual machines
– A proper understanding of Unix
– Operating systems & kernels
– Hardware, wherever possible
7Thursday, 2 May 13
Check Your Working
• Check your working
• Verify your results
• Have your peers to replicate your results
– Do NOT just reuse others conclusions blindly
"The first principle is that you must not fool yourself
—and you are the easiest person to fool.
So you have to be very careful about that. After
you've not fooled yourself, it's easy not to fool other
scientists.
You just have to be honest in a conventional way
after that." - Richard Feynman
8Thursday, 2 May 13
Explicit Assumptions & Approximations
• State
– How much data?
– How many concurrent users?
• Document
– Work with other stakeholders
– Discuss with peers
– Formal document as a project artifact
• Revisit
– Sanity-check every once in a while
– Verify that initial assumptions are still met
– Update if not
9Thursday, 2 May 13
Reduce The Problem
• Wherever possible, try to decompose the problem
– Use approximations
• Build simpler versions if you need to
– Can add complexity later
– “What is the simplest thing that could possibly work?”
• Spend time thinking about the problem domain
– Very few projects are really “shipping widgets”
• Graphical techniques are powerful
– They don’t need to be complex
10Thursday, 2 May 13
Use Diagrams
11Thursday, 2 May 13
Simplify Your Coding
• Naming
– Strict adherence to SRP
– The name should encode SRP
– Reject a commit if this is not adhered to
• Complexity has hidden costs
– No class is more performant as one which isn’t there
• Reduce Technical Debt
– “If it hurts, do it more”
– Technical debt accumulates faster than you realise
12Thursday, 2 May 13
Be Aware of New Developments
• But evaluate them on their merits
– Too easy to let Hacker News rule the roost
• Make empirical technology decisions
– Basic toolkit & empiricism help here
• Newer is not necessarily better
• Don’t blindly using others conclusion
• “Why Devs Keep Making Bad Technology Choices”
– Google & read it if you haven’t
13Thursday, 2 May 13
Share What You Know
• Know where to get more information
– Especially from other people
• Teach what you know to others
– You don’t really know anything until
you’ve taught it to someone else
• Teaching others also teaches ourselves
– Re-examine the basics
14Thursday, 2 May 13
Share What You Know
• Try out lots of ideas & subject areas
• Don’t be afraid to be wrong
– Or shown a different point of view
• Do expect SMEs to prove their assertions
• Avoid Rhetological Fallacies
– Especially “Appeal to Authority”
• Seek out colleagues & people you like working with
15Thursday, 2 May 13
Be Inquisitive & Be Yourself
• Travel, learn to speak new languages
– Domain, Human & Computer
• Diverse problems feed the mind
– And it’s more fun
• Development is a social activity
– Probably more than technical
16Thursday, 2 May 13
Summary
• Build a mental toolkit which is simple
– Focus on fundamentals
– Use visualisations & graphical techniques
• Use empirical data extensively
– State your assumptions & approximations
• Share what you know
– Teach & mentor your peers & younger developers
– Constantly relearn & reteach the basics
– Look for puzzles everywhere
• Be yourself!
17Thursday, 2 May 13
Current Course Ideas
• Advanced Java - London May 25th
• The Java Virtual Machine - London July 6th
• Introduction to Finance & Financial Technology
• Linux / Unix for Java Developers
• UI & UX for Java Developers
• Java 7 / Java 8 features
• What do YOU want to see?
• When works better - weekdays? weekends? evenings?
• Grab a drink & tell us your thoughts...
18Thursday, 2 May 13
Over To You...
• Twitter: @kittylyst @karianna @DeveloperFocus
• Email: ben@jclarity.com martijn@jclarity.com
• Web: http://developerfocus.com/
19Thursday, 2 May 13

Más contenido relacionado

Destacado

The study of life Insurance products being offered by the global market in in...
The study of life Insurance products being offered by the global market in in...The study of life Insurance products being offered by the global market in in...
The study of life Insurance products being offered by the global market in in...Ankit Pal
 
The Final Frontier
The Final FrontierThe Final Frontier
The Final FrontierjClarity
 
Censum - Garbage Collection Log Analyser
Censum - Garbage Collection Log AnalyserCensum - Garbage Collection Log Analyser
Censum - Garbage Collection Log AnalyserjClarity
 
Illuminate - Performance Analystics driven by Machine Learning
Illuminate - Performance Analystics driven by Machine LearningIlluminate - Performance Analystics driven by Machine Learning
Illuminate - Performance Analystics driven by Machine LearningjClarity
 
Hotspot Garbage Collection - Tuning Guide
Hotspot Garbage Collection - Tuning GuideHotspot Garbage Collection - Tuning Guide
Hotspot Garbage Collection - Tuning GuidejClarity
 
The Bleeding Edge
The Bleeding EdgeThe Bleeding Edge
The Bleeding EdgejClarity
 
Hotspot Garbage Collection - The Useful Parts
Hotspot Garbage Collection - The Useful PartsHotspot Garbage Collection - The Useful Parts
Hotspot Garbage Collection - The Useful PartsjClarity
 
Habits of Highly Effective Teams
Habits of Highly Effective TeamsHabits of Highly Effective Teams
Habits of Highly Effective TeamsjClarity
 
The study of life Insurance products being offered by the global market in in...
The study of life Insurance products being offered by the global market in in...The study of life Insurance products being offered by the global market in in...
The study of life Insurance products being offered by the global market in in...Ankit Pal
 
Low pause GC in HotSpot
Low pause GC in HotSpotLow pause GC in HotSpot
Low pause GC in HotSpotjClarity
 

Destacado (10)

The study of life Insurance products being offered by the global market in in...
The study of life Insurance products being offered by the global market in in...The study of life Insurance products being offered by the global market in in...
The study of life Insurance products being offered by the global market in in...
 
The Final Frontier
The Final FrontierThe Final Frontier
The Final Frontier
 
Censum - Garbage Collection Log Analyser
Censum - Garbage Collection Log AnalyserCensum - Garbage Collection Log Analyser
Censum - Garbage Collection Log Analyser
 
Illuminate - Performance Analystics driven by Machine Learning
Illuminate - Performance Analystics driven by Machine LearningIlluminate - Performance Analystics driven by Machine Learning
Illuminate - Performance Analystics driven by Machine Learning
 
Hotspot Garbage Collection - Tuning Guide
Hotspot Garbage Collection - Tuning GuideHotspot Garbage Collection - Tuning Guide
Hotspot Garbage Collection - Tuning Guide
 
The Bleeding Edge
The Bleeding EdgeThe Bleeding Edge
The Bleeding Edge
 
Hotspot Garbage Collection - The Useful Parts
Hotspot Garbage Collection - The Useful PartsHotspot Garbage Collection - The Useful Parts
Hotspot Garbage Collection - The Useful Parts
 
Habits of Highly Effective Teams
Habits of Highly Effective TeamsHabits of Highly Effective Teams
Habits of Highly Effective Teams
 
The study of life Insurance products being offered by the global market in in...
The study of life Insurance products being offered by the global market in in...The study of life Insurance products being offered by the global market in in...
The study of life Insurance products being offered by the global market in in...
 
Low pause GC in HotSpot
Low pause GC in HotSpotLow pause GC in HotSpot
Low pause GC in HotSpot
 

Similar a Raising The Bar

Making Sure the Tool Isn't You: Train Your Brain to Use Technology (So That N...
Making Sure the Tool Isn't You: Train Your Brain to Use Technology (So That N...Making Sure the Tool Isn't You: Train Your Brain to Use Technology (So That N...
Making Sure the Tool Isn't You: Train Your Brain to Use Technology (So That N...Jack Pringle
 
Icse 2013-tutorial-data-science-for-software-engineering
Icse 2013-tutorial-data-science-for-software-engineeringIcse 2013-tutorial-data-science-for-software-engineering
Icse 2013-tutorial-data-science-for-software-engineeringCS, NcState
 
Run an Effective Cultural Probe on your Project - UX Australia 2013
Run an Effective Cultural Probe on your Project - UX Australia 2013Run an Effective Cultural Probe on your Project - UX Australia 2013
Run an Effective Cultural Probe on your Project - UX Australia 2013Matt
 
Everything is Awesome - How to stimulate conversations about the future in yo...
Everything is Awesome - How to stimulate conversations about the future in yo...Everything is Awesome - How to stimulate conversations about the future in yo...
Everything is Awesome - How to stimulate conversations about the future in yo...Simon Wong
 
Being Productive in IT
Being Productive in ITBeing Productive in IT
Being Productive in ITScott Wesley
 
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 OversimplificationJon Ruby
 
Bit by Bit: Effective Use of People, Processes and Computer Technology in the...
Bit by Bit: Effective Use of People, Processes and Computer Technology in the...Bit by Bit: Effective Use of People, Processes and Computer Technology in the...
Bit by Bit: Effective Use of People, Processes and Computer Technology in the...Jack Pringle
 
Building Resilience: Practical Tools for Keeping Your Head While Navigating a...
Building Resilience: Practical Tools for Keeping Your Head While Navigating a...Building Resilience: Practical Tools for Keeping Your Head While Navigating a...
Building Resilience: Practical Tools for Keeping Your Head While Navigating a...Jack Pringle
 
Mount Prospect Public Library Staff In-Service Day
Mount Prospect Public Library Staff In-Service DayMount Prospect Public Library Staff In-Service Day
Mount Prospect Public Library Staff In-Service DayAnthony Molaro
 
How to do research?
How to do research?How to do research?
How to do research?Xiao Qin
 
Connections Lotusphere Worst Practices 2013
Connections Lotusphere Worst Practices 2013Connections Lotusphere Worst Practices 2013
Connections Lotusphere Worst Practices 2013Bill Buchan
 
Int virtual teamworking
Int virtual teamworkingInt virtual teamworking
Int virtual teamworkingMark Childs
 
How to succeed in the AU REU program taneja
How to succeed in the AU REU program   tanejaHow to succeed in the AU REU program   taneja
How to succeed in the AU REU program tanejaShubbhi Taneja
 
Searching for solutions
Searching for solutionsSearching for solutions
Searching for solutionsIntranätverk
 
Mauritius Big Data and Machine Learning JEDI workshop
Mauritius Big Data and Machine Learning JEDI workshopMauritius Big Data and Machine Learning JEDI workshop
Mauritius Big Data and Machine Learning JEDI workshopCosmoAIMS Bassett
 
How to succeed in the au reu program qin -edited
How to succeed in the au reu program   qin -editedHow to succeed in the au reu program   qin -edited
How to succeed in the au reu program qin -editedbiazsaa
 
Developing your presentation skills
Developing your presentation skillsDeveloping your presentation skills
Developing your presentation skillsJisc Scotland
 
Beit 381 se lec 1 - 30 - 12 feb07
Beit 381 se lec 1 - 30 - 12 feb07Beit 381 se lec 1 - 30 - 12 feb07
Beit 381 se lec 1 - 30 - 12 feb07babak danyal
 

Similar a Raising The Bar (20)

Making Sure the Tool Isn't You: Train Your Brain to Use Technology (So That N...
Making Sure the Tool Isn't You: Train Your Brain to Use Technology (So That N...Making Sure the Tool Isn't You: Train Your Brain to Use Technology (So That N...
Making Sure the Tool Isn't You: Train Your Brain to Use Technology (So That N...
 
Icse 2013-tutorial-data-science-for-software-engineering
Icse 2013-tutorial-data-science-for-software-engineeringIcse 2013-tutorial-data-science-for-software-engineering
Icse 2013-tutorial-data-science-for-software-engineering
 
Write the Docs 2014, EU
Write the Docs 2014, EUWrite the Docs 2014, EU
Write the Docs 2014, EU
 
Run an Effective Cultural Probe on your Project - UX Australia 2013
Run an Effective Cultural Probe on your Project - UX Australia 2013Run an Effective Cultural Probe on your Project - UX Australia 2013
Run an Effective Cultural Probe on your Project - UX Australia 2013
 
Everything is Awesome - How to stimulate conversations about the future in yo...
Everything is Awesome - How to stimulate conversations about the future in yo...Everything is Awesome - How to stimulate conversations about the future in yo...
Everything is Awesome - How to stimulate conversations about the future in yo...
 
Being Productive in IT
Being Productive in ITBeing Productive in IT
Being Productive in IT
 
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
 
Bit by Bit: Effective Use of People, Processes and Computer Technology in the...
Bit by Bit: Effective Use of People, Processes and Computer Technology in the...Bit by Bit: Effective Use of People, Processes and Computer Technology in the...
Bit by Bit: Effective Use of People, Processes and Computer Technology in the...
 
Building Resilience: Practical Tools for Keeping Your Head While Navigating a...
Building Resilience: Practical Tools for Keeping Your Head While Navigating a...Building Resilience: Practical Tools for Keeping Your Head While Navigating a...
Building Resilience: Practical Tools for Keeping Your Head While Navigating a...
 
Mount Prospect Public Library Staff In-Service Day
Mount Prospect Public Library Staff In-Service DayMount Prospect Public Library Staff In-Service Day
Mount Prospect Public Library Staff In-Service Day
 
How to do research?
How to do research?How to do research?
How to do research?
 
Connections Lotusphere Worst Practices 2013
Connections Lotusphere Worst Practices 2013Connections Lotusphere Worst Practices 2013
Connections Lotusphere Worst Practices 2013
 
Int virtual teamworking
Int virtual teamworkingInt virtual teamworking
Int virtual teamworking
 
Ess presentation
Ess presentationEss presentation
Ess presentation
 
How to succeed in the AU REU program taneja
How to succeed in the AU REU program   tanejaHow to succeed in the AU REU program   taneja
How to succeed in the AU REU program taneja
 
Searching for solutions
Searching for solutionsSearching for solutions
Searching for solutions
 
Mauritius Big Data and Machine Learning JEDI workshop
Mauritius Big Data and Machine Learning JEDI workshopMauritius Big Data and Machine Learning JEDI workshop
Mauritius Big Data and Machine Learning JEDI workshop
 
How to succeed in the au reu program qin -edited
How to succeed in the au reu program   qin -editedHow to succeed in the au reu program   qin -edited
How to succeed in the au reu program qin -edited
 
Developing your presentation skills
Developing your presentation skillsDeveloping your presentation skills
Developing your presentation skills
 
Beit 381 se lec 1 - 30 - 12 feb07
Beit 381 se lec 1 - 30 - 12 feb07Beit 381 se lec 1 - 30 - 12 feb07
Beit 381 se lec 1 - 30 - 12 feb07
 

Último

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 

Último (20)

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 

Raising The Bar

  • 2. Hacking Yourself • We’ve taught & mentored a lot over the years – Ben Evans (@kittylyst) – Martijn Verburg (@karianna) • Culminating in the LJC, of course! • The most amazing thing about the human mind is its ability to change & to alter itself • The industry moves so fast – We need techniques to keep up – Staying curious is key 2Thursday, 2 May 13
  • 3. How Do We Learn? 3Thursday, 2 May 13
  • 5. How Do We Learn? 5Thursday, 2 May 13
  • 6. How Do We Learn? Self-study Social coding Formal training 6Thursday, 2 May 13
  • 7. Use A Basic Toolkit • Ideal way to teach ourselves • We should know all know basic CompSci – Use it on a daily basis – Look for places to apply it • What should be in our toolbox? – Data structures, Big-O, type theory, information theory – Compilers, interpreters, virtual machines – A proper understanding of Unix – Operating systems & kernels – Hardware, wherever possible 7Thursday, 2 May 13
  • 8. Check Your Working • Check your working • Verify your results • Have your peers to replicate your results – Do NOT just reuse others conclusions blindly "The first principle is that you must not fool yourself —and you are the easiest person to fool. So you have to be very careful about that. After you've not fooled yourself, it's easy not to fool other scientists. You just have to be honest in a conventional way after that." - Richard Feynman 8Thursday, 2 May 13
  • 9. Explicit Assumptions & Approximations • State – How much data? – How many concurrent users? • Document – Work with other stakeholders – Discuss with peers – Formal document as a project artifact • Revisit – Sanity-check every once in a while – Verify that initial assumptions are still met – Update if not 9Thursday, 2 May 13
  • 10. Reduce The Problem • Wherever possible, try to decompose the problem – Use approximations • Build simpler versions if you need to – Can add complexity later – “What is the simplest thing that could possibly work?” • Spend time thinking about the problem domain – Very few projects are really “shipping widgets” • Graphical techniques are powerful – They don’t need to be complex 10Thursday, 2 May 13
  • 12. Simplify Your Coding • Naming – Strict adherence to SRP – The name should encode SRP – Reject a commit if this is not adhered to • Complexity has hidden costs – No class is more performant as one which isn’t there • Reduce Technical Debt – “If it hurts, do it more” – Technical debt accumulates faster than you realise 12Thursday, 2 May 13
  • 13. Be Aware of New Developments • But evaluate them on their merits – Too easy to let Hacker News rule the roost • Make empirical technology decisions – Basic toolkit & empiricism help here • Newer is not necessarily better • Don’t blindly using others conclusion • “Why Devs Keep Making Bad Technology Choices” – Google & read it if you haven’t 13Thursday, 2 May 13
  • 14. Share What You Know • Know where to get more information – Especially from other people • Teach what you know to others – You don’t really know anything until you’ve taught it to someone else • Teaching others also teaches ourselves – Re-examine the basics 14Thursday, 2 May 13
  • 15. Share What You Know • Try out lots of ideas & subject areas • Don’t be afraid to be wrong – Or shown a different point of view • Do expect SMEs to prove their assertions • Avoid Rhetological Fallacies – Especially “Appeal to Authority” • Seek out colleagues & people you like working with 15Thursday, 2 May 13
  • 16. Be Inquisitive & Be Yourself • Travel, learn to speak new languages – Domain, Human & Computer • Diverse problems feed the mind – And it’s more fun • Development is a social activity – Probably more than technical 16Thursday, 2 May 13
  • 17. Summary • Build a mental toolkit which is simple – Focus on fundamentals – Use visualisations & graphical techniques • Use empirical data extensively – State your assumptions & approximations • Share what you know – Teach & mentor your peers & younger developers – Constantly relearn & reteach the basics – Look for puzzles everywhere • Be yourself! 17Thursday, 2 May 13
  • 18. Current Course Ideas • Advanced Java - London May 25th • The Java Virtual Machine - London July 6th • Introduction to Finance & Financial Technology • Linux / Unix for Java Developers • UI & UX for Java Developers • Java 7 / Java 8 features • What do YOU want to see? • When works better - weekdays? weekends? evenings? • Grab a drink & tell us your thoughts... 18Thursday, 2 May 13
  • 19. Over To You... • Twitter: @kittylyst @karianna @DeveloperFocus • Email: ben@jclarity.com martijn@jclarity.com • Web: http://developerfocus.com/ 19Thursday, 2 May 13