how node.js will change your team

30
Track: Developers #CNX14 #CNX14 How Node.js Will Change Your Team Jeff Dickey, CLI Developer at Heroku, @dickeyxxx

Upload: jeff-dickey

Post on 29-May-2015

993 views

Category:

Technology


4 download

DESCRIPTION

Talk from ExactTarget Connections 2014

TRANSCRIPT

Track: Developers

#CNX14

#CNX14

How Node.js Will Change Your Team

Jeff Dickey, CLI Developer at Heroku, @dickeyxxx

Track: Developers

#CNX14

Heroku

• Host apps without servers

• Works great with Node apps

• No vendor lock-in

Track: Developers

#CNX14

My Book!

• Write Modern Apps with the MEAN Stack

• MongoDB, Express, AngularJS and Node.js

• Project-based

Track: Developers

#CNX14

Agenda

• What Node is

• What makes Node different

• How Node changes engineering teams

Track: Developers

#CNX14

Track: Developers

#CNX14

Node is a tool to run JavaScript code

from a command line or server.

Track: Developers

#CNX14

What can Node be used for?

• Web applications

• Mobile backends

• Command-line applications

Track: Developers

#CNX14

Track: Developers

#CNX14

What makes Node better?

Track: Developers

#CNX14

Node has reinvented the way we create websites. Developers build critical functionality in days, not weeks.– Michael Yormark, WSJD

Track: Developers

#CNX14

Share code between the client and server!

Track: Developers

#CNX14

Share code between the client and server!

…not really

Track: Developers

#CNX14

Node is UNIX

• Lightweight applications/services that work together

• Text streams over complex data formats

Track: Developers

#CNX14

Node is UNIX

• Lightweight applications/services that work together

• Text streams over complex data formats

• Works on Windows thanks to v8 and Microsoft’s money

Track: Developers

#CNX14

Track: Developers

#CNX14

Node is fast – but that doesn’t

really matter

Track: Developers

#CNX14

Typical Blocking Web Server

Track: Developers

#CNX14

Evented Node (async)

Track: Developers

#CNX14

Evented Node (async)

Track: Developers

#CNX14

Track: Developers

#CNX14

Track: Developers

#CNX14

Node has allowed us to build a global, real-time logistics system without having to think twice about locking or concurrency issues.— Curtis Chambers, Uber

Track: Developers

#CNX14

Realtime is Simple

Track: Developers

#CNX14

Track: Developers

#CNX14

Rich Hickey – Simple Made Easy

Track: Developers

#CNX14

Massive amount of free code

Track: Developers

#CNX14

Downsides of Node

• JavaScript isn’t everyone’s favorite language

• Continuation-passing style can be tricky to trace

• CPU intensive apps require forethought

Track: Developers

#CNX14

Track: Developers

#CNX14

How does Node change teams?

Track: Developers

#CNX14

No More Big Rewrite!!

• In fact, constant discarding

• Short shelf life leads to experimentation not maintenance

• 10x developers are those writing new features

Track: Developers

#CNX14

Top Talent Loves Node.js

• Smart developers like to work on new platforms

• Great developers want to shape community, not just be a member

• Internal open source culture

Track: Developers

#CNX14

Why go to Facebook and do PHP when you can go to PayPal and do Node.js?– Bill Scott, PayPal

Track: Developers

#CNX14

Learn more

• Bill Scott of PayPal — product

• Eran Hammer of Walmart — technical

• nodeschool.io

Track: Developers

#CNX14

#CNX14

How Node.js Will Change Your Team

Jeff Dickey, CLI Developer at Heroku, @dickeyxxx