SlideShare a Scribd company logo
Trisha Gee (@trisha_gee)
Developer & Technical Advocate, JetBrains
Staying Ahead
of the Curve
or:
New Technology is Dangerous,
mmmkay
Let’s Learn Lambdas!
Staying Ahead of the Curve
Staying Ahead of the Curve
erm…
Let’s Go Parallel!
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Serial Parallel
TimeTaken(seconds) map()
MacBook Surface
0
20
40
60
80
100
120
140
160
Serial Parallel
TimeTaken(millis) findAny()
MacBook Surface
Wait a minute…
Why?
For The Business
Why?
•Customisable dashboards
•A new market squeezes your downtime
window
•You’re adding new products to your
inventory that don’t fit into your current
model
Staying Ahead of the Curve
Now What?
•Identify possible technology options, e.g:
• HTML5 / JavaScript / JavaFX
• DevOps tools / Containers
• NoSQL
{
"openStreetMapId": "20980098",
"location": {
"coordinates": [151.2728552, -33.8931988],
"type": "Point"
},
"amenity": "cafe",
"cuisine": "coffee_shop",
"name": "Gloria Jean's"
},
{
"openStreetMapId": "21554712",
"location": {
"coordinates": [151.9519968, -27.5601496],
"type": "Point"
},
"amenity": "cafe",
"created_by": "JOSM",
"cuisine": "coffee_shop",
"description": "The only place in Toowoomba that roasts its own coffee",
"name": "Chipiron Cafe"
},
{
"openStreetMapId": "27653001",
"location": {
"coordinates": [-1.6937433, 53.9043868],
"type": "Point"
},
"addr:city": "Otley",
"addr:country": "GB",
"addr:housenumber": "9",
"addr:postcode": "LS21 3HE",
"addr:street": "Mercury Row",
"amenity": "cafe",
"cuisine": "coffee_shop",
"gluten_free": "yes",
Approaches
• Spikes / prototypes
• Use in non-production code
• Build / Deploy / Continuous Delivery Pipeline
• Tests
• Use in internal tools
• Use on a new project or service
• Get the experts in (remember to share)
For The Team
Why?
•Mixed team used to different programming
styles
•Releases are painful
•Databases schema changes take ages
•Testing is hard and inconsistent
Staying Ahead of the Curve
Now What?
•Identify possible technology / process
options, e.g:
• Java 8, Groovy
• DevOps
• NoSQL
• Modern Test Frameworks (e.g. Spock, Lambda Behave)
Staying Ahead of the Curve
Approaches
•Spikes / prototypes
•Use in non-production code
• Build / Deploy / Continuous Delivery Pipeline
• Tests
•Use in internal tools
•Skunkworks projects / hack days
For You
Why?
•I want to have fun
•I want a new job
•I want to be a Technology Guru in this job
•I don’t want to be left behind
Now What?
•Any technology that looks awesome
•Buzz words from job adverts
•Any technology that is currently (or soon to
be) used at work
Staying Ahead of the Curve
Staying Ahead of the Curve
Approaches
•User Groups
•Online courses
•Pet project
•Join an open source project
•Find a project at work
•Get a new job!
Why?
• Because you want to
Being Proactive
Preventing Premature
Implementation
•Brown Bags
•User Groups
•Hack days
•Skunkworks
•20% time
•Conferences
Risks
Benefits
•Skilled Developers
•Ready to adopt the right technology at the
right time
•Happy Developers
Summary of
Approaches
So What Can I Do?
Don’t Panic!
Staying Ahead of the Curve
http://bit.ly/stay-ahead
@trisha_gee

More Related Content

PDF
Staying Ahead of the Curve
PDF
Staying Ahead of the Curve
PPTX
Is Groovy better for testing than Java?
PDF
BOF "Everything about MySQL bugs"
PPTX
Becoming fully buzzword compliant
PDF
Using H2O AutoML for Kaggle Competitions
PDF
Agile data visualisation
PDF
Chaos Engineering Talk at DevOps Days Austin
Staying Ahead of the Curve
Staying Ahead of the Curve
Is Groovy better for testing than Java?
BOF "Everything about MySQL bugs"
Becoming fully buzzword compliant
Using H2O AutoML for Kaggle Competitions
Agile data visualisation
Chaos Engineering Talk at DevOps Days Austin

Viewers also liked (9)

PDF
Level Up Your Automated Tests
PDF
2015 Java update and roadmap, JUG sevilla
PPTX
Level Up Your Automated Tests
PDF
Code Review Matters and Manners
PDF
Refactoring to Java 8 (Devoxx UK)
PDF
Java 8 and 9 in Anger
PPTX
Java 9 Functionality and Tooling
PDF
Refactoring to Java 8 (Devoxx BE)
PDF
Real World Java 9 (QCon London)
Level Up Your Automated Tests
2015 Java update and roadmap, JUG sevilla
Level Up Your Automated Tests
Code Review Matters and Manners
Refactoring to Java 8 (Devoxx UK)
Java 8 and 9 in Anger
Java 9 Functionality and Tooling
Refactoring to Java 8 (Devoxx BE)
Real World Java 9 (QCon London)
Ad

Similar to Staying Ahead of the Curve (20)

PDF
Stackato v4
PDF
Stackato
PDF
Stackato v6
PDF
Stackato v5
PDF
Stackato v2
PDF
Turning huge ships - Open Source and Microsoft
PPTX
Lean-Agile Development with SharePoint - Bill Ayers
PPTX
A Beginner's Guide to Client Side Development with Javascript
PPTX
Transferring Software Testing Tools to Practice
PDF
AgileDC15 I'm Using Chef So I'm DevOps Right?
PDF
Stackato v3
PPTX
Testing API's: Tools & Tips & Tricks (Oh My!)
PDF
Lessons learned from building Demand Side Platform
PDF
Drupal 8 - Build Week Update
PDF
A guide to hiring a great developer to build your first app (redacted version)
PDF
The Silver Bullet Syndrome by Alexey Vasiliev
PPTX
Hangman for the Masses Showcase of Web Tech
PDF
From a student to an apache committer practice of apache io tdb
PPTX
Sharpest tool in the box: Choosing the right authoring tool for your learning...
PPT
Lean-Agile SharePoint Development
Stackato v4
Stackato
Stackato v6
Stackato v5
Stackato v2
Turning huge ships - Open Source and Microsoft
Lean-Agile Development with SharePoint - Bill Ayers
A Beginner's Guide to Client Side Development with Javascript
Transferring Software Testing Tools to Practice
AgileDC15 I'm Using Chef So I'm DevOps Right?
Stackato v3
Testing API's: Tools & Tips & Tricks (Oh My!)
Lessons learned from building Demand Side Platform
Drupal 8 - Build Week Update
A guide to hiring a great developer to build your first app (redacted version)
The Silver Bullet Syndrome by Alexey Vasiliev
Hangman for the Masses Showcase of Web Tech
From a student to an apache committer practice of apache io tdb
Sharpest tool in the box: Choosing the right authoring tool for your learning...
Lean-Agile SharePoint Development
Ad

More from Trisha Gee (17)

PPTX
Career Advice for Architects
PPTX
Is boilerplate code really so bad?
PPTX
Code Review Best Practices
PDF
Career Advice for Programmers - ProgNET London
PDF
Is Boilerplate Code Really So Bad?
PPTX
Real World Java 9 - JetBrains Webinar
PDF
Real World Java 9
PPTX
Real World Java 9
PPTX
Career Advice for Programmers
PPTX
Real World Java 9
PDF
Refactoring to Java 8 (QCon New York)
PDF
Java 8 in Anger (JavaOne)
PDF
Java 8 in Anger, Devoxx France
PPTX
Speaker Clinic (Novice Speakers)
PDF
Java 8 in Anger (QCon London)
PDF
Working in Open Source
PDF
Building a web application with MongoDB & Java
Career Advice for Architects
Is boilerplate code really so bad?
Code Review Best Practices
Career Advice for Programmers - ProgNET London
Is Boilerplate Code Really So Bad?
Real World Java 9 - JetBrains Webinar
Real World Java 9
Real World Java 9
Career Advice for Programmers
Real World Java 9
Refactoring to Java 8 (QCon New York)
Java 8 in Anger (JavaOne)
Java 8 in Anger, Devoxx France
Speaker Clinic (Novice Speakers)
Java 8 in Anger (QCon London)
Working in Open Source
Building a web application with MongoDB & Java

Recently uploaded (20)

PDF
Empathic Computing: Creating Shared Understanding
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Encapsulation theory and applications.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Cloud computing and distributed systems.
PDF
KodekX | Application Modernization Development
PDF
Approach and Philosophy of On baking technology
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
NewMind AI Monthly Chronicles - July 2025
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Modernizing your data center with Dell and AMD
PPTX
A Presentation on Artificial Intelligence
Empathic Computing: Creating Shared Understanding
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Encapsulation theory and applications.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Review of recent advances in non-invasive hemoglobin estimation
Cloud computing and distributed systems.
KodekX | Application Modernization Development
Approach and Philosophy of On baking technology
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
20250228 LYD VKU AI Blended-Learning.pptx
MYSQL Presentation for SQL database connectivity
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Unlocking AI with Model Context Protocol (MCP)
NewMind AI Monthly Chronicles - July 2025
“AI and Expert System Decision Support & Business Intelligence Systems”
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Digital-Transformation-Roadmap-for-Companies.pptx
Modernizing your data center with Dell and AMD
A Presentation on Artificial Intelligence

Staying Ahead of the Curve

Editor's Notes

  • #2: Developer Not consultant or contractor Haven’t written a book
  • #3: What I’m going to tell them
  • #4: Live coding, turning existing code into (more complicated) Java 8 code
  • #5: 30 lines of code
  • #8: Show a performance test of using parallel vs not using it
  • #11: New != better
  • #12: Step back for a minute to think why we want to learn new technologies Three main motivations for learning or wanting to implement new technologies
  • #13: There’s a problem that can’t be solved (or not easy) with your existing tech/methods
  • #19: Identify a problem that’s hurting the team productivity (e.g. testing) Rarely gets prioritised in the backlog, rarely get the time but it saves you time
  • #21: Two problems: - Testing more than one thing (not structured) - Maps are ugly in Java
  • #22: Test frameworks help enforce better practice
  • #24: Pretty much sam as bus
  • #25: Most interesting for us Hear about something and you want to play with it Antipatterns - CV-driven-development; mortgage-driven-development; lets turn this into a framework What do you want?
  • #26: Joy Fear
  • #27: You have the most choices in this area IoT - fun, cool, applicable? Reactive, docker, Microservices
  • #30: If you’re learning for you, or for your career, you’ll have to invest your own time Many people have a single pet project they re-implement So many options, so many directions
  • #31: Not fear Not because work wants you to And if it’s because you want a better job, that’s still down to your desires
  • #32: Why can’t businesses be more like us? If your company wants to make sure the right technologies are chosen at the right time, try up-skilling the team before the problems Hackdays/skunkworks; 20% time; conferences; user groups; brown bags;
  • #35: Your up skilled developers up and leave
  • #38: Identify why you want to learn it. If it’s for you, play, don’t work If you think it’s useful for work, identity what for and select appropriate approaches Don’t get attached to a technology If it’s not right, move along
  • #40: Selecting is beyond the scope of this talk Have given examples of some safe, non-production ways to learn & trial technologies No - Don’t be afraid to try another. Not a waste. Is learning. Is preventing mistakes Yes - Try some other approaches and gradually spread learning/adoption
  • #41: Live code example of the new lambdas (in this case, it means NOT using them)