tech talk @ dev bootcamp chicago
DESCRIPTION
The talk I gave at Dev Bootcamp Chicago. It is about how to becoming a better programmer as someone new to programmer.TRANSCRIPT
![Page 1: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/1.jpg)
!1
@Dev Bootcamp Winter Is Coming. You are not ready.
![Page 3: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/3.jpg)
!3
Closing the World’s Credit Gap Helping hardworking people to fulfill their financial responsibilities with fast, trustworthy credit
![Page 4: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/4.jpg)
Founded in 2004. Online financial services in the US, UK, AU, CA and MX. 80 million page views Over 3 million customers
Company
!4
![Page 5: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/5.jpg)
440. 170 in Technology.Employees
!5
![Page 6: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/6.jpg)
Customer First. ‘Best’ Answer Wins. Accountability and Results. Top Talent and Teamwork. Operate as an Owner.
Values
!6
![Page 7: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/7.jpg)
!7
IT & Systems Engineering
![Page 8: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/8.jpg)
!8
Software Engineering
![Page 9: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/9.jpg)
!9
![Page 10: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/10.jpg)
!10
PostgreSQL
![Page 11: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/11.jpg)
!11
Linux
![Page 12: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/12.jpg)
!12
The Survey Asked recent graduates at Enova. It was totally scientific.
![Page 13: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/13.jpg)
!13
How has your undergraduate studies NOT prepared you for doing software engineering in the real world?
![Page 14: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/14.jpg)
!14
Think of the best real world programmer you know. What skills or traits do they possess?
![Page 15: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/15.jpg)
!15
What skill is MOST important in the real world?
![Page 16: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/16.jpg)
Bringing the Big Data!A Pie Chart
!16
11
141
7
5
92
Good CodeCommunicationExisting SystemsExperienceIntelligenceLearningCoding Practices
![Page 17: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/17.jpg)
What I will talk about . . .Three Things
!17
Learning Coding Practices
Existing Systems
![Page 18: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/18.jpg)
!18
Learning
![Page 19: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/19.jpg)
!19
“Ability to learn new things quickly (complemented by a desire to keep learning).”
U of Chicago
![Page 20: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/20.jpg)
!20
“The ability and willingness to learn.”
Rose-Hulman
![Page 21: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/21.jpg)
!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.”
![Page 22: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/22.jpg)
!22
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.”
![Page 23: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/23.jpg)
!23
The ability to learn is more closely tied to humility than anything else.
![Page 24: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/24.jpg)
Watch out! You are gonna have to get humble.3 ways to learn
!24
![Page 25: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/25.jpg)
!25
Do Learn to learn by doing.
![Page 26: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/26.jpg)
!26
Skill + Tenacity
![Page 27: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/27.jpg)
!27
Skill + Tenacity = Skillnacity
![Page 28: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/28.jpg)
!28
Skill + Tenacity = Skillnacity™
![Page 29: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/29.jpg)
!29
Sophocles "One must learn by doing the thing; for though you think you know it, you have no certainty, until you try."
![Page 30: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/30.jpg)
!30
Sophocles "One must learn by doing the thing; for though you think you know it, you have no certainty, until you try."
![Page 31: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/31.jpg)
Watch out! You are gonna have to get humble. !First: Do
3 ways to learn
!31
![Page 32: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/32.jpg)
!32
Co(mmunity) Community. Find people who are better than you. Now, surround yourself with them.
![Page 33: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/33.jpg)
!33
Pat Metheny “Be the worst guy in every band you’re in.”
![Page 34: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/34.jpg)
Watch out! You are gonna have to get humble. !First: Do Second: Co(mmunity)
3 ways to learn
!34
![Page 35: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/35.jpg)
!35
Go Meet-ups. Conferences. Jobs. Opportunities. Tech Talks. Dev Bootcamp.
![Page 36: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/36.jpg)
Chicago Tech CommunityPlaces to Go
!36
Chicago Ruby
http://chicagoruby.org/
@chicagoruby
73 “Internet & Technology” Meetups near Chicago, IL
![Page 37: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/37.jpg)
Watch out! You are gonna have to get humble. !First: Do Second: Co(mmunity) Third: Go
3 ways to learn
!37
![Page 38: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/38.jpg)
!38
Coding Practices
![Page 39: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/39.jpg)
!39
“. . . 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
![Page 40: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/40.jpg)
!40
“They have a strong passion for learning about our craft . . .
Rose-Hulman
![Page 41: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/41.jpg)
!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."
![Page 42: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/42.jpg)
!42
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."
![Page 43: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/43.jpg)
!43
The only way to write code that can cope with change is by testing your code.
![Page 44: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/44.jpg)
!44
How do you test this?
![Page 45: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/45.jpg)
!45
Yes. This will do.
![Page 46: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/46.jpg)
!46
Acceptance Testing
![Page 47: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/47.jpg)
!47
Integration Testing
![Page 48: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/48.jpg)
!48
Unit Testing
![Page 49: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/49.jpg)
Not what you think. !First: Test your code.
Coding Practices
!49
![Page 50: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/50.jpg)
!50
Code Design What about great OO design? Doesn’t that allow you to cope with change?
![Page 51: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/51.jpg)
!51
Design All design trends towards wrong.
![Page 52: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/52.jpg)
!52
Mike Tyson “Everyone has a plan ‘til they get punched in the mouth.”
![Page 53: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/53.jpg)
!53
Mike Tyson “Everyone has a DESIGN ‘til they get punched in the mouth.”
![Page 54: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/54.jpg)
Not what you think. !First: Test your code. Second: Don’t worry about design. Test your code instead.
Coding Practices
!54
![Page 55: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/55.jpg)
!55
Read Reading code is a Coding Practice.
![Page 56: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/56.jpg)
!56
Read Most of your time will be spent reading code, not writing it.
![Page 57: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/57.jpg)
!57
Read Most of your time will be spent reading code, not writing it. Correction: Reading ugly code.
![Page 58: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/58.jpg)
Don’t believe me? Here’s a chart!A Pie Chart
!58
45
45
55
Being AwesomeWriting CodeReading CodeGetting upset at bad code before you realize that you wrote it a week ago.
![Page 59: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/59.jpg)
!59
Read > Write Can you write before you can read?
![Page 60: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/60.jpg)
!60
Stephen King “If you don’t have time to read, you don’t have the time (or the tools) to write. Simple as that.”
![Page 61: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/61.jpg)
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.
Coding Practices
!61
![Page 62: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/62.jpg)
!62
Existing Systems
![Page 63: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/63.jpg)
!63
“Very little emphasis is placed on understanding existing code, and integrating with existing design paradigms”
University of Michigan
![Page 64: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/64.jpg)
!64
“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
![Page 65: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/65.jpg)
!65
Realize What is the code? What is the system? Is there a difference?
![Page 66: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/66.jpg)
More than you realize. Web Application.The System
!66
Sixth Layer
Hardware File Systems Data Center
Fifth Layer
Fourth Layer
Third Layer
Second Layer
First Layer
![Page 67: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/67.jpg)
More than you realize. Web Application.The System
!67
Sixth Layer
Hardware File Systems Data Center
Fifth Layer
Fourth Layer
Third Layer
Second Layer
First Layer
OS DiskVirtualization
![Page 68: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/68.jpg)
More than you realize. Web Application.The System
!68
Sixth Layer
Hardware File Systems Data Center
Fifth Layer
Fourth Layer
Third Layer
Second Layer
First Layer
OS DiskVirtualization
App/Web Server Database
![Page 69: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/69.jpg)
More than you realize. Web Application.The System
!69
Sixth Layer
Hardware File Systems Data Center
Fifth Layer
Fourth Layer
Third Layer
Second Layer
First Layer
OS DiskVirtualization
App/Web Server Database
Code 3rd Party Integration
![Page 70: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/70.jpg)
More than you realize. Web Application.The System
!70
Sixth Layer
Hardware File Systems Data Center
Fifth Layer
Fourth Layer
Third Layer
Second Layer
First Layer
OS DiskVirtualization
App/Web Server Database
Code 3rd Party Integration
Internet Browsers Devices
![Page 71: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/71.jpg)
More than you realize. Web Application.The System
!71
Sixth Layer
Hardware File Systems Data Center
Fifth Layer
Fourth Layer
Third Layer
Second Layer
First Layer
OS DiskVirtualization
App/Web Server DatabaseApp/Web Server Database
Code 3rd Party Integration
Internet Browsers Devices
New Users
Old Users
Bad Users Fraud Security Dev QA God
![Page 72: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/72.jpg)
!72
How does this affect your system?
![Page 73: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/73.jpg)
!73
![Page 74: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/74.jpg)
@Dev BootcampIn Review
!74
The Survey
![Page 75: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/75.jpg)
@Dev BootcampIn Review
!75
The Survey
Learning
![Page 76: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/76.jpg)
@Dev BootcampIn Review
!76
The Survey
Learning
Coding Practices
![Page 77: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/77.jpg)
@Dev BootcampIn Review
!77
The Survey
Learning
Coding Practices
Existing Systems
![Page 78: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/78.jpg)
I’m the CIO/CTO at Enova. AMA./r/ama
!78
![Page 80: Tech Talk @ Dev Bootcamp Chicago](https://reader033.vdocuments.us/reader033/viewer/2022061305/549c4b00ac7959a62a8b46a1/html5/thumbnails/80.jpg)
!80