staying ahead of the curve

36
Staying Ahead of the Curve Trisha Gee, Java Developer at MongoDB @trisha_gee #GOTOBer

Upload: trisha-gee

Post on 21-Jun-2015

2.025 views

Category:

Technology


3 download

DESCRIPTION

The Party Keynote from GOTO Berlin 2014, about how to stay ahead of the technology curve when you're bombarded with terms like NoSQL, HTML5, Lambdas and so forth. More details here: http://trishagee.github.io/presentation/staying_ahead_of_the_curve/

TRANSCRIPT

Page 1: Staying Ahead of the Curve

Staying Ahead of the Curve

Trisha Gee, Java Developer at MongoDB

@trisha_gee #GOTOBer

Page 2: Staying Ahead of the Curve

or: New Technology is

Dangerous, mmmkay

Page 3: Staying Ahead of the Curve

Let’s Learn Lambdas!

Page 4: Staying Ahead of the Curve

erm…

Page 5: Staying Ahead of the Curve

Let’s Go Parallel!

Page 6: Staying Ahead of the Curve

Wait a minute…

Page 7: Staying Ahead of the Curve

Why?

Page 8: Staying Ahead of the Curve

For The Business

Page 9: Staying Ahead of the Curve

Why?

• Customisable dashboards

• A new market squeezes your downtime window

• Trying to store different shaped data in a single table

Page 10: Staying Ahead of the Curve
Page 11: Staying Ahead of the Curve

Now What?

• Identify possible technology options, e.g:

• HTML5/JavaScript

• DevOps tools

• NoSQL

Page 12: Staying Ahead of the Curve

{ "_id" : ObjectId("54536368300449768e8db864"), "openStreetMapId" : "20980098", "location" : { "coordinates" : [ 151.2728552, -33.8931988 ], "type" : "Point" }, "amenity" : "cafe", "cuisine" : "coffee_shop", "name" : "Gloria Jean's" } { "_id" : ObjectId("54536368300449768e8db866"), "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" } { "_id" : ObjectId("54536368300449768e8db867"), "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", "is_in:town" : "Otley", "name" : "The Walkway Cafe" } { "_id" : ObjectId("54536368300449768e8db865"), "openStreetMapId" : "21321517", "location" : {

Page 13: Staying Ahead of the Curve

Approaches• Spikes / prototypes

• Use in tests

• Use in non-production code

• Build / Deploy / Continuous Delivery Pipeline

• Use in internal tools

• Use on a new project

• Get the experts in (remember to share)

Page 14: Staying Ahead of the Curve

For The Team

Page 15: Staying Ahead of the Curve

Why?

• Mixed team used to different programming styles

• Releases are painful

• Databases schema changes take ages

• Testing is hard and inconsistent

Page 16: Staying Ahead of the Curve
Page 17: 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)

Page 18: Staying Ahead of the Curve
Page 19: Staying Ahead of the Curve

Approaches• Spikes / prototypes

• Use in tests

• Use in non-production code

• Build / Deploy / Continuous Delivery Pipeline

• Use in internal tools

• Skunkworks projects / hack days

Page 20: Staying Ahead of the Curve

For You

Page 21: Staying Ahead of the Curve

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

Page 22: Staying Ahead of the Curve

Now What?

• Any technology that looks awesome

• Buzz words from job adverts

• Any technology that is currently (or soon to be) used at work

• Any/all of the above. Or None.

Page 23: Staying Ahead of the Curve
Page 24: Staying Ahead of the Curve
Page 25: 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!

Page 26: Staying Ahead of the Curve

Why?

• Because you want to

Page 27: Staying Ahead of the Curve

Being Proactive

Page 28: Staying Ahead of the Curve

Preventing Premature Implementation

• Hack days

• Skunkworks

• 20% time

• Conferences

• Brown Bags

• User Groups

Page 29: Staying Ahead of the Curve

Risks

Page 30: Staying Ahead of the Curve

Benefits

• Skilled Developers

• Ready to adopt the right technology at the right time

• Happy Developers

Page 31: Staying Ahead of the Curve

Approaches

For the business

Get the experts in

Might be free

Share the knowledge

Pairing

Embedded in the team

Brown bags

Training

Use in nonproduction code

Tests

Build

Deploy

ContinuousDelivery pipeline

Internal tools

Business facing

Ops

Dev

New project

Spike / prototypeFor the team

Spike / prototype

Use in nonproduction code

Dev tools

Skunkworks projects

20% time

For you

User groups

Online courses

Pet project

Open source projects

Work project

New job!

Startup

"Sweat equity"

Your own thing

Summary of Approaches

Page 32: Staying Ahead of the Curve

So What Can I Do?

Page 33: Staying Ahead of the Curve

Don’t Panic!

Page 34: Staying Ahead of the Curve
Page 35: Staying Ahead of the Curve

Lambdas: The Right Way

Page 36: Staying Ahead of the Curve

http://bit.ly/stayingahead

@trisha_gee