Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

DCDS Career Day 2012 - Software Consulting


Published 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.

Published in: Education, Technology, Business
  • Be the first to comment

  • Be the first to like this

DCDS Career Day 2012 - Software Consulting

  1. 1. [career didFinishLaunching: withOptions:] Chris Adamson • @invalidname DCDS Career Day March 14, 2012
  2. 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. 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. 4. Work Experience• CNN Headline News, Writer/Associate Producer 1994-7• VNI/Pathfire, Software Engineer, 1997-2000, 2002-4•, Software Engineer, 2000-1• OReilly Media, Editor, 2004-9• Independent since 2009• Author since 2004
  5. 5. What Do You Do All Day?
  6. 6. What Do You Do All Day?
  7. 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. 8. Why You Should Be a Software Engineer• High income potential• Safe work environment• Constant opportunities for growth and change• Apps are cool
  9. 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. 10. Types of employers• Big companies• Small / startup companies• Client work• Indie development
  11. 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. 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. 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. 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. 15. ios-game-revenue-survey/
  16. 16. ios-game-revenue-survey/
  17. 17. Demo break!
  18. 18. Getting There
  19. 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. 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. 21. What You Can Do Now
  22. 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. 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. 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. 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. 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. 27. Questions!Feel free to follow up afterwards: • • @invalidname (Twitter) • CocoaHeads Ann Arbor (second Thursday of every month)