2. About me – Michael Losee
Grew up in Layton
6 sisters, no brothers
Video Games- Doom, Warcraft, Starcraft, Diablo
Reading-Wheel of Time, Forgotten Realms
(Drizzt!!), Sword of Truth
Hardware- Custom
builds, overclocking, benchmarking
Teach paralyzed people to walk
Aspiring Author
3. My Credentials
Defense Logistics Agency
Lead Systems Analyst
5 Years Experience
Emagined Security
Security Consultant/Penetration Test Engineer
2 Years Experience
BS Computer Science
Emphasis in Software Engineering
April 2012
4. Professional
Noun: A professional is a person who is paid to
undertake a specialized set of tasks and to complete
them for a fee.
10. Professionalism & Mastery
“I have been consistently disappointed by the quality of CS graduates.
It’s not that the graduates aren’t bright or talented, it’s just that they
haven’t been taught what programming is really all about…
I think it is possible to get an excellent education at a university. It’s
just that I also think it’s possible to wiggle yourself through the system
and come out with a diploma, and not much else.”
-Robert C Martin The Clean Coder 2011
11. Are you in the right place?
Do you love to tinker with stuff?
Stuff like computers?
Do you love to code?
12. Can everyone learn to code?
“Despite the enormous changes which have taken place since
electronic computing was invented in the 1950s, some things
remain stubbornly the same. In particular, most people can't
learn to program: between 30% and 60% of every university
computer science department's intake fail the first programming
course.
Experienced teachers are weary but never oblivious of this fact;
brighteyed beginners who believe that the old ones must have
been doing it wrong learn the truth from bitter experience; and
so it has been for almost two generations, ever since the subject
began in the 1960s.” ~ Jeff Atwood
13. Natural Ability?
“Some people do not have an aptitude for logical and critical thinking”
“Just like some people are natural artists, some people are natural
programmers. Some people aren't natural programmers, but can
become proficient with a lot of practice. Some people can't get it no
matter how much or how long they practice.”
http://developers.slashdot.org/story/12/09/16/1631239/can-anyone-become-a-
programmer
14. The Fallacy of Talent
“Outliers” by Malcom Gladwell
10,000 hour rule
“Talent is Overrated” by Geoff Colvin
Deliberate Practice
“Mindset” by Carol Dweck
Fixed vs Growth Mindset
15. Effort
I Failed CS 1410 THREE times before finally passing
with an A
Had to read the book cover to cover
Spent hours upon hours on assignments
Currently helping two different groups at work as lead
developer and architect
Re-implement a legacy Oracle Forms application as a java web
application
Building a new system to replace an existing 20 year old legacy
system
My best programming achievement: A software contract to
build a “Component Content Management System.”
20. Principles of Coding
Coding is intellectually challenging and exhausting!
Your code must work.
Your code must solve the problem set for you by the
customer.
Your code must fit well into the existing system.
Your code must be readable by other programmers.
28. Not enough sleep?
Rely on the snooze button
Have a hard time getting out of bed
Feel sluggish in the afternoon
Get sleepy in lectures or warm rooms
29. Effects of Sleep Deprivation
Fatigue, lethargy, lack of motivation
Moodiness and irritability
Reduced creativity and problem-solving skills
Concentration and memory problems
30. Sleeping for Dummies
No caffeine after 12pm
Exercise!
Consider supplements like Melatonin
Give yourself 30 min to an hour for your “going to bed”
routine
Read
Listen to audiobooks
Aim for 7.5 to 9 hours each night
31. Standard interview questions
What is the biggest problem you have faced on
projects so far and how did you solve it?
What are your biggest strengths and weaknesses?
Which programming languages are you best at and
what’s good and bad about those specific languages?
http://www.devtich.com/interview-questions-developer/
32. Technical Questions
Do you know about design patterns? Which design
patterns have you used, and in what situations?
Explain MVC in simple terms.
How would you change the format of all phone
numbers in 1000 static html pages?
How do you maintain aptitude and stay current with
the current technologies?
http://www.devtich.com/interview-questions-developer/
33. Classic Interview Testing
Fizzbuzz
Write a program that prints the numbers from 1 to
100. But for multiples of three print “Fizz” instead of
the number and for the multiples of five print
“Buzz. For numbers which are multiples of both
three and five print “FizzBuzz.”
http://www.devtich.com/interview-questions-developer/
35. Interviewing
Be honest – don’t be afraid to say “I don’t know”
Keep preparing and interviewing until you feel
confident!
36. Build Your Network
It’s all about networking
Corporate and third party recruiters both rely on their
network
Build your OWN network
http://linkedin.com/
http://softwaredev.meetup.com/cities/us/ut/ogden/
Your friend Cory
37. Building My Network
WSU -> Federal Summer Internship
6 Months Later:
Call from the old internship about Student Trainee
position
38. Building My Network
Meet Cory
Full-time Security Consultant for Emagined Security
Went back to school full-time
My buddy since we were 12 years old
Cory’s Problem:
• Turn down work, or teach me and split the money?
6 months later:
Job offer from Emagined