SlideShare a Scribd company logo
@Dev Bootcamp
Winter Is Coming. You are not ready.

!1
Enova
Fred Lee
CIO/CTO
fred@enova.com
@fredlee

!2
Closing the World’s Credit Gap
Helping hardworking people to fulll their nancial
responsibilities with fast, trustworthy credit
!3
Company

Founded in 2004.
Online nancial services in the US, UK, AU, CA and MX.
80 million page views
Over 3 million customers

!4
Employees

440. 170 in Technology.

!5
Values

Customer First.
‘Best’ Answer Wins.
Accountability and Results.
Top Talent and Teamwork.
Operate as an Owner.

!6
IT & Systems Engineering
!7
Software Engineering
!8
!9
PostgreSQL
!10
Linux
!11
The Survey
Asked recent graduates at Enova. It was totally
scientic.
!12
How has your undergraduate
studies NOT prepared you for
doing software engineering in
the real world?

!13
Think of the best real world
programmer you know. What
skills or traits do they possess?

!14
What skill is MOST important in
the real world?

!15
A Pie Chart

Bringing the Big Data!

11

2
9

5
14
1

Good Code
Communication
Existing Systems
Experience
Intelligence
Learning
Coding Practices

7

!16
Three Things

What I will talk about . . .

Learning

Coding
Practices

Existing
Systems

!17
Learning
!18
“Ability to learn new things quickly
(complemented by a desire to keep
learning).”
U of Chicago
!19
“The ability and willingness to learn.”

Rose-Hulman
!20
Peter Drucker
“We now accept the fact that learning is a lifelong
process of keeping abreast of change. And the
most pressing task is to teach people how to
learn.”
!21
Peter Drucker
“We now accept the fact that learning is a
lifelong process of keeping abreast of change.
And the most pressing task is to teach people
how to learn.”
!22
The ability to learn is more
closely tied to humility than
anything else.

!23
3 ways to learn

Watch out! You are gonna have to get humble.

!24
Do
Learn to learn by doing.

!25
Skill + Tenacity

!26
Skill + Tenacity = Skillnacity

!27
Skill + Tenacity = Skillnacity™

!28
Sophocles
"One must learn by doing the thing; for though
you think you know it, you have no certainty, until
you try."
!29
Sophocles
"One must learn by doing the thing; for though
you think you know it, you have no certainty, until
you try."
!30
3 ways to learn

Watch out! You are gonna have to get humble.
!

First: Do

!31
Co(mmunity)
Community. Find people who are better than
you. Now, surround yourself with them.

!32
Pat Metheny
“Be the worst guy in every band you’re in.”
!33
3 ways to learn

Watch out! You are gonna have to get humble.
!

First: Do
Second: Co(mmunity)

!34
Go
Meet-ups. Conferences. Jobs. Opportunities.
Tech Talks. Dev Bootcamp.

!35
Places to Go

Chicago Tech Community

Chicago Ruby

http://chicagoruby.org/
@chicagoruby

73 “Internet & Technology” Meetups near
Chicago, IL

!36
3 ways to learn

Watch out! You are gonna have to get humble.
!

First: Do
Second: Co(mmunity)
Third: Go

!37
Coding Practices

!38
“. . . they always try to follow the best practices.
They also learn from their mistakes, learn why it
happened and how to avoid them in future.”

Carnegie Mellon University
!39
“They have a strong passion for learning about
our craft . . .

Rose-Hulman
!40
Kent Beck
"..the problem [with software projects] isn't
change, per se, because change is going to
happen; the problem, rather, is the inability to
cope with change when it comes."

!41
Kent Beck
"..the problem [with software projects] isn't
change, per se, because change is going to
happen; the problem, rather, is the inability to
cope with change when it comes."

!42
The only way to write code that
can cope with change is by
testing your code.

!43
How do you test
this?
!44
Yes. This will do.
!45
Acceptance
Testing
!46
Integration
Testing
!47
Unit Testing
!48
Coding Practices
Not what you think.
!

First: Test your code.

!49
Code Design
What about great OO design? Doesn’t that allow
you to cope with change?
!50
Design
All design trends towards wrong.

!51
Mike Tyson
“Everyone has a plan ‘til they get punched in the
mouth.”
!52
Mike Tyson
“Everyone has a DESIGN ‘til they get punched in
the mouth.”
!53
Coding Practices
Not what you think.
!

First: Test your code.
Second: Don’t worry about design. Test your code
instead.

!54
Read
Reading code is a Coding Practice.
!55
Read
Most of your time will be spent reading code, not
writing it.

!56
Read
Most of your time will be spent reading code, not
writing it. Correction: Reading ugly code.

!57
A Pie Chart

Don’t believe me? Here’s a chart!
Being Awesome
Writing Code
Reading Code
Getting upset at bad code before you realize that you wrote it a week ago.

5

5

45
45

!58
Read > Write
Can you write before you can read?

!59
Stephen King
“If you don’t have time to read, you don’t have
the time (or the tools) to write.
Simple as that.”
!60
Coding Practices
Not what you think.
!

First: Test your code.
Second: Don’t worry about design. Test your code instead.
Third: Go read some code. Try github.com.

!61
Existing Systems
!62
“Very little emphasis is placed on
understanding existing code, and
integrating with existing design
paradigms”
University of Michigan
!63
“there was never really any talk about how
hardware or networking issues can affect a
projects implementation or how those need
to be taken into account when planning a
project.”

Carnegie Mellon University
!64
Realize
What is the code? What is the system? Is there a
difference?

!65
The System

More than you realize. Web Application.
Sixth Layer

Fifth Layer

Fourth Layer

Third Layer

Second Layer

First Layer

Hardware

File Systems

Data
Center

!66
The System

More than you realize. Web Application.
Sixth Layer

Fifth Layer

Fourth Layer

Third Layer

Second Layer

First Layer

OS

Hardware

Virtualization

File Systems

Disk
Data
Center

!67
The System

More than you realize. Web Application.
Sixth Layer

Fifth Layer

Fourth Layer

Third Layer

Second Layer

First Layer

App/Web Server

OS

Hardware

Database

Virtualization

File Systems

Disk
Data
Center

!68
The System

More than you realize. Web Application.
Sixth Layer

Fifth Layer

Fourth Layer

Third Layer

Second Layer

First Layer

Code

3rd Party Integration

App/Web Server

OS

Hardware

Database

Virtualization

File Systems

Disk
Data
Center

!69
The System

More than you realize. Web Application.
Sixth Layer

Fifth Layer

Fourth Layer

Third Layer

Second Layer

First Layer

Internet

Browsers

Code

3rd Party Integration

App/Web Server

OS

Hardware

Devices

Database

Virtualization

File Systems

Disk
Data
Center

!70
The System

More than you realize. Web Application.
Sixth Layer

Fifth Layer

Fourth Layer

Third Layer

Second Layer

First Layer

New
Users

Old
Users

Bad
Users

Fraud

Internet

Security

Dev

QA

Browsers

Code

Hardware

Devices

3rd Party Integration

App/Web Server

OS

God

Database

Virtualization

File Systems

Disk
Data
Center

!71
How does this
affect your system?
!72
!73
In Review

@Dev Bootcamp

The Survey

!74
In Review

@Dev Bootcamp

The Survey
Learning

!75
In Review

@Dev Bootcamp

The Survey
Learning
Coding Practices

!76
In Review

@Dev Bootcamp

The Survey
Learning
Coding Practices
Existing Systems

!77
/r/ama

I’m the CIO/CTO at Enova. AMA.

!78
Enova
Fred Lee
CIO/CTO
fred@enova.com
@fredlee

!79
!80

More Related Content

Viewers also liked (6)

PDF
Project Patterns
Fred Lee
 
DOCX
Project proposal format
Rashmi Yadav
 
PPT
Project proposal
Jayson Patalinghug
 
PPTX
10 Project Proposal Writing
Tony
 
PDF
3 Things Every Sales Team Needs to Be Thinking About in 2017
Drift
 
PDF
How to Become a Thought Leader in Your Niche
Leslie Samuel
 
Project Patterns
Fred Lee
 
Project proposal format
Rashmi Yadav
 
Project proposal
Jayson Patalinghug
 
10 Project Proposal Writing
Tony
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
Drift
 
How to Become a Thought Leader in Your Niche
Leslie Samuel
 

Similar to Tech Talk @ Dev Bootcamp Chicago (20)

PDF
Surviving a Hackathon and Beyond
imoneytech
 
PPTX
Yenikod Yazılım Kursu - Kodlama Öğrenebilir Miyim? Kodlama Bana Göre Mi?
Mustafa Ekim
 
PDF
12 Things Every Programmer Should Know
Samnang Chhun
 
PDF
The Care and Keeping of Your Junior Developer
bonmatts
 
PPTX
30% faster coder on-boarding when you have a code cookbook
Gabriel Paunescu 🤖
 
PDF
Working in teams vs working individually
Laurynas Antanavičius, PMI-ACP
 
PDF
Write code and find a job
Yung-Yu Chen
 
PPT
Pragmatic 1
Jaime Cirne
 
PPTX
11 rules for programmer should live by
Ye Win
 
PPT
Rockstar Programming
Nikiita Groshin
 
PDF
SpringOne Tour: The Influential Software Engineer
VMware Tanzu
 
PDF
Why learn how to code
Joey Rigor
 
PPT
Agile mindset
Dhanuka Senaratne
 
PPTX
AgileNCR 2019 _ The Soft Side of Software Development.pptx
RajaNagendraKumar1
 
PDF
23 Amazing Lessons Learned From Interviewing The World's Top Developers!
Usersnap
 
PDF
Rules of development (and everything else for what matters)
Jorge LĂłpez-Lago
 
PPTX
DevCoach - Solid Foundations for the New Wave of Software Developers
Gabriel Tudorica
 
PDF
How to learn coding
HananeMessad1
 
PPTX
Passionate Programmer
MagmaConf
 
PPTX
MagmaRails - Passionate Programmer
Edwin Cruz
 
Surviving a Hackathon and Beyond
imoneytech
 
Yenikod Yazılım Kursu - Kodlama Öğrenebilir Miyim? Kodlama Bana Göre Mi?
Mustafa Ekim
 
12 Things Every Programmer Should Know
Samnang Chhun
 
The Care and Keeping of Your Junior Developer
bonmatts
 
30% faster coder on-boarding when you have a code cookbook
Gabriel Paunescu 🤖
 
Working in teams vs working individually
Laurynas Antanavičius, PMI-ACP
 
Write code and find a job
Yung-Yu Chen
 
Pragmatic 1
Jaime Cirne
 
11 rules for programmer should live by
Ye Win
 
Rockstar Programming
Nikiita Groshin
 
SpringOne Tour: The Influential Software Engineer
VMware Tanzu
 
Why learn how to code
Joey Rigor
 
Agile mindset
Dhanuka Senaratne
 
AgileNCR 2019 _ The Soft Side of Software Development.pptx
RajaNagendraKumar1
 
23 Amazing Lessons Learned From Interviewing The World's Top Developers!
Usersnap
 
Rules of development (and everything else for what matters)
Jorge LĂłpez-Lago
 
DevCoach - Solid Foundations for the New Wave of Software Developers
Gabriel Tudorica
 
How to learn coding
HananeMessad1
 
Passionate Programmer
MagmaConf
 
MagmaRails - Passionate Programmer
Edwin Cruz
 
Ad

Recently uploaded (20)

PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
Advancing WebDriver BiDi support in WebKit
Igalia
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Advancing WebDriver BiDi support in WebKit
Igalia
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
Ad

Tech Talk @ Dev Bootcamp Chicago