5. About me
Born 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
6. A little perspective…
I was a high school freshman in 1983
Things that [practically] didn’t exist:
Cellphones
Apple’s Macintosh
Internet
7. 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
8. 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 $$$
9. 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!
10. My career
Started 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)
11. 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?
13. 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,
…
14. What do software engineers really “do”?
Software Development Life Cycle (SDLC)
Design
Develop
Review
Test
Deploy
Document
15. 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.
16. 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)
17. 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.
18. 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.
19. What do software engineers “do”?
Software Development Life Cycle (SDLC)
Design
Develop
Review
Test
Deploy
Document
Install or
upgrade, it’s
live!
20. 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.
21. What else might you do?
Fixing Bugs - almost everyone starts here
Hiring/Interviewing
Mentoring
Support
Infrastructure
Desktops / Servers / Networking
22. Where does the time go?
5%
60%
5%
15%
5%
10%
Design Develop
Review Test
Deploy Document
24. 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
25. 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
27. Advice # 1
Take 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
28. Advice # 2
Create 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!
29. Advice # 3
Get 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
30. Advice # 4
Carefully 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
31. Advice # 5
Get up and exercise!
Programmers sit, A LOT!
Get some sun, go for a walk, be social