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

Staying Ahead of the Curve - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Staying Ahead of the Curve - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

Staying Ahead of the Curve

Trisha Gee, Java Developer at MongoDB

@trisha_gee #GOTOBer

Page 2: Staying Ahead of the Curve - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

or: New Technology is

Dangerous, mmmkay

Page 3: Staying Ahead of the Curve - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

Let’s Learn Lambdas!

Page 4: Staying Ahead of the Curve - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

erm…

Page 5: Staying Ahead of the Curve - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

Let’s Go Parallel!

Page 6: Staying Ahead of the Curve - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

Wait a minute…

Page 7: Staying Ahead of the Curve - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

Why?

Page 8: Staying Ahead of the Curve - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

For The Business

Page 9: Staying Ahead of the Curve - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

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 - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code
Page 11: Staying Ahead of the Curve - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

Now What?

• Identify possible technology options, e.g:

• HTML5/JavaScript

• DevOps tools

• NoSQL

Page 12: Staying Ahead of the Curve - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

{ "_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 - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

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 - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

For The Team

Page 15: Staying Ahead of the Curve - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

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 - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code
Page 17: Staying Ahead of the Curve - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

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 - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code
Page 19: Staying Ahead of the Curve - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

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 - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

For You

Page 21: Staying Ahead of the Curve - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

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 - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

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 - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code
Page 24: Staying Ahead of the Curve - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code
Page 25: Staying Ahead of the Curve - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

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 - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

Why?

• Because you want to

Page 27: Staying Ahead of the Curve - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

Being Proactive

Page 28: Staying Ahead of the Curve - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

Preventing Premature Implementation

• Hack days

• Skunkworks

• 20% time

• Conferences

• Brown Bags

• User Groups

Page 29: Staying Ahead of the Curve - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

Risks

Page 30: Staying Ahead of the Curve - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

Benefits

• Skilled Developers

• Ready to adopt the right technology at the right time

• Happy Developers

Page 31: Staying Ahead of the Curve - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

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 - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

So What Can I Do?

Page 33: Staying Ahead of the Curve - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

Don’t Panic!

Page 34: Staying Ahead of the Curve - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code
Page 35: Staying Ahead of the Curve - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

Lambdas: The Right Way

Page 36: Staying Ahead of the Curve - GOTO Conferencegotocon.com/.../slides/TrishaGee_PartyKeynoteStayingAheadOfTheC… · Embedded in the team Brown bags Training Use in non production code

http://bit.ly/stayingahead

@trisha_gee