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.

How to become a software developer


Published on

How to start a software development career.

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

How to become a software developer

  1. 1. How to Become a Software Developer Debre Haile Kidus Raguael EOTC IT Professionals Group Eyob Lube - 8/25/2013
  2. 2. Agenda  1. Introduction i. Definition ii. Salary Range and Job Market 2. Roles/Responsibilities 3. Requirements  4. Steps 5. Resources
  3. 3. 1. Introduction i. Definition  A software developer is a person who is concerned with different areas of software development process. Their work includes researching, designing, implementing, and testing software.  A software developer may take part in design, computer programming, or software project management.  Names like programmer, software analyst, and software engineer are also used in similar context.
  4. 4. ii. Salary Range and Job Market  Median pay: $84,200 Top pay: $121,000 10-year job growth: 24.6% Total jobs*: 3,426,000  #9th best job in america from cnn best-jobs 2012 article   *Total jobs is estimated number of people working in broader BLS 'job family.„  Software developers expected to see the highest IT job growth come 2020  There are around 4.16 million IT professionals working in the United States today, and that number is expected to grow by 22 percent through 2020, according to research company CompTIA.
  5. 5. 2. Roles/Responsibilities  Software design  Actual core implementation (programming which is often the most important portion of software development)  Other required implementations (e.g. installation, configuration, customization, integration, data migration)  Participation in software product definition, including business case or gap analysis  Specification  Requirements analysis  Development and refinement of throw-away simulations or prototypes to confirm requirements  Feasibility and cost–benefit analysis, including the choice of application architecture and framework, leading to the budget and schedule for the project  Authoring of documentation needed by users and implementation partners etc.  Testing, including defining/supporting acceptance testing and gathering feedback from pre-release testers  Participation in software release and post-release activities, including support for product launch evangelism (e.g. developing demonstrations and/or samples) and competitive analysis for subsequent product build/release cycles  Maintenance  Source:
  6. 6. 3. Requirements  You Do Not Have to Have a College Degree to Become a Good Programmer  Computer Science degrees are wonderful things but they aren‟t required to be a programmer or even a good programmer.  Do I Have to Be a Math Guru To become a Programmer?  Not necessarily, it might help you in certain situations, to know complex mathematical structures but many people made a career out of being a programmer.  Then what do I need? If you have passion (interest) , time and dedication to succeed, a computer, internet connection….  How long does it take? It depends on your effort and dedication, for some it may be 3 – 6 months, for others may be 1 year or more.
  7. 7. 4. Steps  Step 1. Pick a Pet Project  Find some little project that you want to build and you go and build it. Ex: Church membership management software, calculator…  Find something you like to do in the non-programming world and write an app that helps you in some related way.  Your first app my not be great ..but it‟s learning experience  Learning about Scope – deadlines and prioritization  Step 2. Buy a starter-level C# book or video course  Topics to cover  Building GUIs  Working with persistent data storage  Working with Files and folders  Basic architecture  Basic object-oriented architecture and design (OOAD also referred “class design”)  Chapters that can be digested individually  You don‟t want a book/course that, if you skip an early chapter (say, Chapter 5 for example), you can‟t finish the rest of the book.
  8. 8. Steps continued…  Step 3: Begin reading the book/taking the course  Keep a Notes and organize your code  Questions I have  OOAD  Data types  Working with Files and Folders  Best Practices  To-do list  Working with Databases  Code Snippets  Tips & Tricks  Step 4: Implement your pet project while reading the book/taking the course  As soon as you find something in the book or course from step 2 that you can use in your pet project, go for it! However don‟t be too impatient; it‟s not until you get a few chapters into it that you will have the knowledge of how to even get started.
  9. 9. Steps continued…  Step 5: Post your questions in an online C# forum  While you go through the Steps 1-4, you will likely;  Get exited about the possibilities that C# has to offer  Become confused  Get utterly frustrated with how vast C# and the .NET Framework are  Get utterly frustrated with how complex software engineering is  Mess up with overwriting changes that took you hours to complete, forget to backup your files, or need a complete refactor.  You know what? It‟s all normal for you at this stage. Your life as a C# programmer will likely follow the Gartner Hype Cycle:  It‟s going to take a lot of time, a lot of practice, and a lot of frustrations but it will be worth it! Once you love programming – it has rewarding experience.  To minimize learning time, read/study more, find a mentor, ask for help, sleep on it/take a break.  Find an online Forum and ask questions
  10. 10. Gartner Hype Cycle
  11. 11. Gartner Hype Cycle  The “Technology Trigger” is your deciding to learn C# or become a good C# programmer and the “Peak of Inflated Expectations” is what happens when you start seeing C# as the solution to everything.  The “Trough of Disillusionment” is when you realize that (a) C# isn‟t the solution to everything, (b) that C# is massive, (c) that writing software is hard, (d) that there is so much to learn, and (e) that this isn‟t going to be as easy as you thought. The “Slope of Enlightenment” is when you start to “get it” and the “Plateau of Productivity” is when you finally are able to get some quality work done!
  12. 12. Steps continued…  Step 6: Find some C# sample apps and review how the developers did things  Look for complete applications  Check for microsoft community  Step 7: Finish your book/course and buy another beginner/intermediate level C# book/course  Pick a next-level book/course that helps you acquire specific skills that you can use to get a job  Focus on finding a beginner/intermediate level book that helps you accomplish something that you can get paid to do  ASP.NET  How to work with SQL databases  Working with Silverlight, WCF, webservices  .NET framework
  13. 13.  Step 8: Begin answering other people‟s questions in your C# forum  Step 9: Pick a new pet project and begin implementing it  Step 10: Review some of the C# open source websites and/or applications   /community/projects – open source ASP.NET  Step 11: Contribute to open source projects  Source: How to Become a C# Programmer (How to Become a Programmer) by Scott Whigham (Author)
  14. 14. 5. Resources  1.  2. - free  3. - free  4. - starting $29 per month  5. ment_Training.htm  6. 812225 - has a list of 20 websites that offer web training for free  7. Beginners.html  8.  9.
  15. 15. Q & A Thank you!