so you want to be a software developer? (version 2.0)
TRANSCRIPT
![Page 1: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/1.jpg)
So you want to be a
software developer?
(version 2.0)
Tim Callaghan
CrunchTime!
@tmcallaghan
@acmebench
![Page 2: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/2.jpg)
http://pixabay.com/static/uploads/photo/2012/11/07/07/31/man-65049_640.jpg
![Page 3: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/3.jpg)
“Find something you love to
do and you’ll never have to
work a day in your life.”
Harvey MacKay
![Page 4: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/4.jpg)
“Don’t do something you
hate for a living.”
Someone on Twitter
![Page 5: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/5.jpg)
About meBorn in 1969 (before we landed on the moon)
I Loved computers as a young child (late 70s)
My parents supported my interest ($$$)
I taught myself how to program when I was 12
(there were no other options)
I’ve been programming for 34 years now
![Page 6: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/6.jpg)
A little perspective…I was a high school freshman in 1983
Things that [practically] didn’t exist:
Cellphones
Apple’s Macintosh
Internet
![Page 7: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/7.jpg)
If I had B.Y.O.D.Kaypro “luggable”
26 pounds!
No battery
No hard drive
80 characters per line
64K RAM
http://en.wikipedia.org/wiki/Kaypro#Hardware
![Page 8: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/8.jpg)
When I was your age...
1982: Timex Sinclair-1000 ($149)
2KB RAM, 3.25MHz CPU, No Storage
1983: TRS-80 Model III ($2000 @ Radio Shack)
32KB RAM, 2.03MHz CPU, Dual Floppy
1984: IBM PC/XT ($3500)
128KB RAM, 2.03MHz CPU, 10MB HD
Compilers cost serious $$$
![Page 9: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/9.jpg)
Times have changed!Hardware is cheap
Windows is inexpensive
Linux is free
Languages are plentiful and mostly free
Especially for students
Servers are almost free
AWS (Amazon EC2) will give you one!
![Page 10: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/10.jpg)
My careerStarted college at Northeastern (1987)
First co-op job at Boston City Hall (1988)
Graduated from Umass/Lowell (1992)
Big Company (IBT, 1992-1999)
Startup (CrunchTime!, 1999-2008)
Startup (VoltDB, 2009-2011)
Startup (Tokutek, 2011-2015)
Medium Company (CrunchTime!, 2015-present)
![Page 11: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/11.jpg)
What do I do?
CrunchTime! makes software for restaurants
We help our customers answer the following questions:
How much bacon to prepare in Saturday morning?
What items should be removed from the menu?
How profitable is the double cheeseburger?
How many cashiers should work on Thursday night?
Is a particular restaurant following the recipe?
How much beef needs to be ordered for next week?
![Page 12: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/12.jpg)
Order
Product
Receive
Order
Daily Prep
Customer
Order
Prepare
Food
Take
Payment
Inventory
Product
Each of these
requires a lot
of software
development
![Page 13: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/13.jpg)
What is it like to program?
Kind of like solving math word problems
Start with a requirement (describes needs)
Come up with one or more potential solutions
Research, select language(s) and
technologies, write code, perform database
design, check performance and correctness,
…
![Page 14: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/14.jpg)
What do software engineers really “do”?
Software Development Life Cycle (SDLC)
Design
Develop
Review
Test
Deploy
Document
![Page 15: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/15.jpg)
What do software engineers “do”?
Software Development Life Cycle (SDLC)
Design
Develop
Review
Test
Deploy
Document
Plan out the
effort,
especially if it
is large.
![Page 16: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/16.jpg)
What do software engineers “do”?
Software Development Life Cycle (SDLC)
Design
Develop
Review
Test
Deploy
Document
Write the code:
front-end
back-end
database
(fun)
![Page 17: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/17.jpg)
What do software engineers “do”?
Software Development Life Cycle (SDLC)
Design
Develop
Review
Test
Deploy
Document
Present your
work, receive
feedback,
change code
as needed.
![Page 18: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/18.jpg)
What do software engineers “do”?
Software Development Life Cycle (SDLC)
Design
Develop
Review
Test
Deploy
Document
Make sure
code works
as expected,
try to break it.
![Page 19: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/19.jpg)
What do software engineers “do”?
Software Development Life Cycle (SDLC)
Design
Develop
Review
Test
Deploy
Document
Install or
upgrade, it’s
live!
![Page 20: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/20.jpg)
What do software engineers “do”?
Software Development Life Cycle (SDLC)
Design
Develop
Review
Test
Deploy
Document
Explain your
work so
others can
modify it later.
![Page 21: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/21.jpg)
What else might you do?
Fixing Bugs - almost everyone starts here
Hiring/Interviewing
Mentoring
Support
Infrastructure
Desktops / Servers / Networking
![Page 22: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/22.jpg)
Where does the time go?
5%
60%5%
15%
5%10%
Design Develop
Review Test
Deploy Document
![Page 23: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/23.jpg)
https://www.flickr.com/photos/hackny/10164990965
http://upload.wikimedia.org/wikipedia/commons/thumb/a/a5/CubeSpace.jpg/250px-CubeSpace.jpg
Small
or
Large?
![Page 24: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/24.jpg)
Where do you want to work?
Startup
More hours
More hands-on
More stress
Stock options
Creativity
Big Company
Bureaucracy!
More job security?
Formal training
Retirement account
Rigidity
![Page 25: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/25.jpg)
Or do it yourself?
Your own startup
Raise $$$ (friends and family)
Or Kickstarter or Microsoft or Others
Way more hours
Way more hands-on
Way more stress
![Page 26: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/26.jpg)
http://pixabay.com/en/road-sign-attention-shield-hand-464643
![Page 27: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/27.jpg)
Advice # 1Take a course in public speaking
I did in 11th grade
I was scared to do a 30 second speech
Most programmers can’t/won’t/don’t
It opens the door to many opportunities
![Page 28: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/28.jpg)
Advice # 2Create something you can show others
Make a website, “mod” a game, contribute
to an open-source project, whatever
Very helpful for first job
Stand out!
![Page 29: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/29.jpg)
Advice # 3Get something real on your resume
As soon as possible
Like, this summer!
And every summer until you become a full-
time employee
Volunteer, intern, co-op
![Page 30: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/30.jpg)
Advice # 4Carefully construct an online existence
www.stackoverflow.com
Ask and answer!
Forums, list servers, github, launchpad
Also, remember that things stay on the internet
forever
Both the good and the bad
![Page 31: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/31.jpg)
Advice # 5Get up and exercise!
Programmers sit, A LOT!
Get some sun, go for a walk, be social
![Page 32: So you want to be a software developer? (version 2.0)](https://reader034.vdocument.in/reader034/viewer/2022042817/55a93a671a28ab2f0a8b48af/html5/thumbnails/32.jpg)
Questions?
Tim Callaghan
CrunchTime!
@tmcallaghan
@acmebench