Building a Successful Career as a Software Developer


Published on

I delivered this presentation at a recent college graduation symposium

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

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Can make slides available done this session as Q&A, first presentation not talking about anything technical hope you find it valuble
  • Didn’t start out in software
  • Great career decent $$ challenging work always learning new things lot of talk of “global meltdown”. Don’t get discouraged. World runs on data, it’s not going anywhere. 60-70k new IT jobs opening up in the next 10 years, only about 8-9000 grads. software development is hard. Expect to spend a long time working at it to get good.
  • Q: The UK officeOur career choice forces us to concentrate our focus on narrow problems for long periods of time. We forget that sometimes we need to step back, re-evaluate, and quit what we’re doing.
  • Seth Godin – marketing expert
  • Passion – Hobby, Ability – Soul Sucking CareerFind the intersection and you will be happy and successful in the long run
  • The right way to fail is to learn from it and move on
  • Try one, move on
  • Q: How many have bragged about spending a lot of time on something (‘I worked all weekend’)Don’t mean to burst your bubble
  • don’t just keep doing what you’re doing -> innovate! software development is not a game of brute force and ignorance Statistics have shown that the best developers are more than 20X more effective than the worst and produce a lot less code For most, number of years as a developer stops becoming a factor after about 5, so start early! More lines of code != quality if you’re finding that you’re spending a lot of time working on the same problem, take a step back and figure out how you can reduce that time by improving your skills, not just trying harder Don’t spin your wheels- Don’t brag about spending a lot of time, brag about spending little time on solid solutions Automate The best devs I know are the laziest, willing work a bit more now to avoid working harder later
  • Q: how many Neil Young fans in the crowdDifferent types of music, tries new things, not afraid to failGood role model, tried a lot of things. Always passionate, puts his heart and soul into everythingSan Fran & calgary interview storyWork-life balance
  • - We have the natural tendency to learn new skills and then hoard the knowledge in the name of job security Sharing knowledge and skills with everyone else makes the entire organization more productive == more success for you teach what you’ve learned, move on to learn something new
  • Your job is to translate business requirements into technical implementation, but you can’t just sit and codeNeed to communicate effectively w/ everyone, team work very important Other devs BA’s project managers customers… most important. Techies who can communicate w/ customers are worth their weight in gold (good for me)Build solid relationships with people you meetMarketing & PR -> getting the word out about yourself and how you can help, talk about that later
  • Applying what you’ve learned to solve problems, everything from curing cancer to building iPhone applications Companies are in the business of making money. You need to show how you can save money or make money Save Money: Reduce bugs Save time*** introduced a new way of solving problems Make money: added a feature that increased sales show that you’re not just writing software for software’s sake
  • Don’t spend too much effort on networking sitesMake in-person connections Join or start associations or networking groups Find a mentor in the industry you want to join Keep in touch with people you already know
  • Products: create once, sell manyServices: selling your time (Web design etc)
  • Leverage work terms and contacts to find workOne thing that took me a long time to figure out, two types of workOperational vs Project workOps: Helpdesk Maintenance / bug fix legacy code customer serviceProject: Greenfield Building new solutions new(er) technologyTalk about PR and resume later
  • When you are a Jr you can’t be picky Look for opportunity for growth (you’re getting the keys to the building) ask, are you working with a good senior person training options? are you on a high visibility project, or stuck in a closet? look for a positive work environment. If you meet the team do other people seem happy and give eye contact? Don’t worry about your title or role, look to expand your responsibilities, build credibility, find something to excel at
  • You might arrive at a job and find something resembling this everywhere is different, figure it out asap determine the psychology of the group you’re in. Who has power (formal or informal), who can make you successful determine if it’s worth staying if it is worth staying, set the tone for your self right away, first impressions are set early if it’s not worth staying, don’t let it bring you down, life is short, leave
  • Management – Be careful what you wish for.Lots of people strive for management then hate itManagement is: Budget planning resource allocation vacation schedules meetings more politicsIf you want a technology focused career, try moving around instead of up.Leverage your technical skills to gain a broad skillset in other areas and become a technical leader
  • A plan to take away
  • Best Software Writing – Great collection of essays from variety of authorsTopics: Passion for software Funny End-user stories What makes hackers great Leadership Being a great developerPeopleware - Reasons projects fail Psychology of project work How people work together, communicate, risks of adding next person to a project How to be productive, real cost of distractions (time to get back in the zone) Chemistry and environment required for growing a cohesive team How to effectively produce a prototype Why employee competition is bad, most effective learning (peer learning) is stifled Effectively introducing change Catalysts for successful projects
  • The dip Talked about it earlier puts a lot of great ideas into words shortWin Friends old, classic best book for learning how to interact with people makes you think a lot about how others see you get what you want
  • - Contribute to, or start, an open source project Write articles Speak at conferences Join or start a networking group Participate in contests Imagine CupThrowdown Volunteer (non-profits, events etc)So few people do these things, just trying sets you apartAnyone can do it at any stage of their career
  • Examples of time when you were curious, learned something new, and applied it to a problem Regardless of whether you succeeded or failed, what did you learn Companies are in the business of making money, name a time when you came up with an idea that either saved time and/or money, or made money Made a difference, taught someone something list results, not what were responsible for, what did you achieve? reduced defects? improved communication amongst the team? saved time or money, or made money lists of technologies are ok for headhunters
  • Have business cards
  • Font too small
  • Building a Successful Career as a Software Developer

    1. 1. Or<br />“What I Wish Someone Had Told Me 15 Years Ago”<br />Building a Career as aSuccessful Software Developer<br />
    2. 2. Nolan Zak<br /><ul><li>31, Grew Up in Vernon BC
    3. 3. Attended Okanagan College, bridged to Uvic
    4. 4. Have worked for myself, and at small and large companies both private and government.
    5. 5. Application Architect at BC Assessment Authority
    6. 6. President Of Victoria .NET Developers Association</li></ul>Who Am I<br />
    7. 7. I.T. As A Career Choice<br />
    8. 8. Topics<br />
    9. 9. Tips For Success<br />
    10. 10. Be A Quitter<br />Winners never quit, and quitters never win, <br />but those who never win and never quit<br />are *%!#ing idiots<br />
    11. 11. The Dip<br />This is where<br />most people<br />end up<br />This is where you decide to<br />quit or become an expert<br />
    12. 12. Choosing the Right Career Path<br />Solid Career Choice<br />
    13. 13. Failure<br />
    14. 14. <ul><li>Simulators & Video Games
    15. 15. Bioinformatics
    16. 16. 3D Animation
    17. 17. Entrepreneur
    18. 18. Medical Modeling
    19. 19. Digital Film Production
    20. 20. Website Design
    21. 21. Data Warehouse
    22. 22. Trainer
    23. 23. Biometric Facial Recognition</li></ul>Lots Of Options<br /><ul><li>Artificial Intelligence
    24. 24. System Design
    25. 25. Network Architecture
    26. 26. Software Engineering
    27. 27. Human-Computer Interaction (HCI)
    28. 28. Medical Devices
    29. 29. Genome Mapping</li></li></ul><li>Don’t Try So Hard<br />When you try to replace skill with effort,<br /> there’s no limit to what you cannot do<br />
    30. 30. Programmer Effectiveness<br />
    31. 31. Get A Life<br />
    32. 32. Make Others Successful<br />
    33. 33. Important Skills<br />
    34. 34. People & Communication Skills<br />
    35. 35. Delivering Value<br />
    36. 36. Networking<br />
    37. 37. Succeeding at Work<br />
    38. 38. Contract Work / Freelance<br />Find work yourself<br />Use a headhunter<br />Entrepreneur<br />Start a business<br />Products vs services<br />Continue Academia<br />Degree, Masters, PhD<br />Research & Teaching<br />Career Options<br />
    39. 39. Getting A Job<br />
    40. 40. Opportunity<br />Opportunity<br />Opportunity<br />What To Look For<br />
    41. 41. Dealing With Politics<br />
    42. 42. <ul><li>Business Analyst
    43. 43. Project Manager
    44. 44. User Experience Expert
    45. 45. Architect
    46. 46. Consultant
    47. 47. Writer
    48. 48. Evangelist
    49. 49. Community Manager
    50. 50. Management **</li></ul>Life After Software Development<br />
    51. 51. Action Plan<br />
    52. 52. Resources<br />
    53. 53. Resources 2<br />
    54. 54. Public Relations<br />
    55. 55. Resume<br />
    56. 56.
    57. 57. A Tale Of Clouds and Twitter<br />
    58. 58.<br />- 10 to 12 cents per hour<br />- Bomb shelter stability<br /><ul><li> Public IP (Internet visible)
    59. 59. Preconfigured machines
    60. 60. Scaling, monitoring, load balancing</li></li></ul><li>Come Work With Me<br />