DCDS Career Day 2012 - Software Consulting

  • 704 views
Uploaded on

Short talk for high school career day at Detroit Country Day School about Software Consulting as a career, focusing on independent and client work, and writing apps for the iOS App Store.

Short talk for high school career day at Detroit Country Day School about Software Consulting as a career, focusing on independent and client work, and writing apps for the iOS App Store.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
704
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. [career didFinishLaunching: withOptions:] Chris Adamson • @invalidname DCDS Career Day March 14, 2012
  • 2. About @invalidname • Independent iOS developer and author • Develop iOS apps for clients • Also have own apps on App Store ("Road Tip") • Co-Author, iOS SDK Development and Learning Core AudioRemind me to giveaway a copy of this at the end.
  • 3. How I got here• DCDS, Class of 1985• Stanford University, Class of 1990 (BS, Symbolic Systems; BA, English)• Michigan State University, Class of 1993 (MA, Telecommunication)
  • 4. Work Experience• CNN Headline News, Writer/Associate Producer 1994-7• VNI/Pathfire, Software Engineer, 1997-2000, 2002-4• AnyDevice.com, Software Engineer, 2000-1• OReilly Media, java.net Editor, 2004-9• Independent since 2009• Author since 2004
  • 5. What Do You Do All Day?
  • 6. What Do You Do All Day?
  • 7. Software Engineering• Design and develop applications and systems for clients or end-users • Take requirements, plan how to meet them, estimate costs and time • Develop and test software code • Respond to bug reports and enhancement requests
  • 8. Why You Should Be a Software Engineer• High income potential• Safe work environment• Constant opportunities for growth and change• Apps are cool
  • 9. Why You Shouldnt Be a Software Engineer• Downward pressure on wages from offshoring• Constant change means you always have to work hard to keep up• Poor representation of women, people of color• App Store prices and the "race to the bottom"
  • 10. Types of employers• Big companies• Small / startup companies• Client work• Indie development
  • 11. Big companies• Large (1,000+ employees) companies, usually established in their field• May not be explicitly in the technology business• Safety (or at least the appearance of it)• Boredom
  • 12. Small companies / startups• Young companies with a small number of employees• More likely to be a pure tech company• Higher risk/reward: more opportunity for advancement, high likelihood of corporate failure• May offer stock or options in lieu of competitive salary
  • 13. Client work• One-off projects or continuing work based on contracts (as opposed to salaried employment) • May be paid hourly or by milestone• Varying levels of formality• Much greater responsibility, freedom
  • 14. Indie development• Developing apps to be provided directly to end-users • Monetized via direct sale or advertising• "App Stores" have made this far more practical than it was five years ago• Extraordinary risk/reward: for every "Angry Birds", there are 50 apps that dont earn back their development costs
  • 15. http://www.streamingcolour.com/blog/2011/09/28/results- ios-game-revenue-survey/
  • 16. http://www.streamingcolour.com/blog/2011/09/28/results- ios-game-revenue-survey/
  • 17. Demo break!
  • 18. Getting There
  • 19. Education• High school: math, computer science, English• College: computer science, electrical engineering, math, economics/business • Specializations: media, public policy, medicine, etc. • Clubs and student groups can help develop people skills, organizational responsibility
  • 20. Outside the Classroom• Software meta-skills: debugging, source control (svn, git), bug tracking, working in teams, IT skills (hosting, database administration)• Domain knowledge: graphics (2D and 3D projections, trigonometry), media (A/V production, compression theory), security (public-key encryption, certificate management), etc.• Keeping up: books, articles, blogs, conferences
  • 21. What You Can Do Now
  • 22. Before You Graduate• Publish an app on the App Store!• Check out an open source project and understand how it works (bonus points if you contribute to it)• Attend a meeting of a developer group like CocoaHeads (Detroit [Pontiac] or Ann Arbor), Mobile Monday, Java User Group, etc.• Attend a developer conference (CocoaConf, MobiDevDay, Girl Develop It, etc.)
  • 23. After Graduation• College: Most colleges offer computer science and other engineering programs. • Some are especially renowned: MIT, CalTech, Stanford, RPI, Carnegie-Mellon, etc. • In Michigan: U-M, MSU, Michigan Tech.• Post-College: Think about moving to a city with lots of tech companies (Silicon Valley, Seattle, Boston, NYC, Austin, Atlanta). Makes it easier to switch jobs, meet colleagues, survive a layoff or implosion.
  • 24. Going Indie• You can start a company at any time; nice to be able to fall back on it when day job implodes• Setting up an LLC or S-Corp costs $500-1,000. Has significant tax advantages over working as a "sole proprietor"• Keep separate books, bank accounts for corporation and personal use. QuickBooks/TurboTax or hire an accountant
  • 25. Income for Indies• Billed client work• App Store sales (or advertising in apps)• Writing books, documentation, etc.• Advertising and sponsored links on your blog
  • 26. Final Thoughts• Software Engineering is a very approachable career• Lots of career options: big company versus indie, server versus desktop versus mobile• Change is constant
  • 27. Questions!Feel free to follow up afterwards: • invalidname@gmail.com • @invalidname (Twitter) • CocoaHeads Ann Arbor (second Thursday of every month)