how to become a software developer
DESCRIPTION
How to start a software development career.TRANSCRIPT
![Page 1: How to become a software developer](https://reader036.vdocuments.us/reader036/viewer/2022082514/558d278bd8b42a3c638b473e/html5/thumbnails/1.jpg)
How to Become a Software Developer
Debre Haile Kidus Raguael EOTC IT Professionals Group Eyob Lube - 8/25/2013
![Page 2: How to become a software developer](https://reader036.vdocuments.us/reader036/viewer/2022082514/558d278bd8b42a3c638b473e/html5/thumbnails/2.jpg)
Agenda
1. Introduction
i. Definition
ii. Salary Range and Job Market
2. Roles/Responsibilities
3. Requirements
4. Steps
5. Resources
![Page 3: How to become a software developer](https://reader036.vdocuments.us/reader036/viewer/2022082514/558d278bd8b42a3c638b473e/html5/thumbnails/3.jpg)
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.
http://en.wikipedia.org/wiki/Software_developer
![Page 4: How to become a software developer](https://reader036.vdocuments.us/reader036/viewer/2022082514/558d278bd8b42a3c638b473e/html5/thumbnails/4.jpg)
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
http://money.cnn.com/pf/best-jobs/
*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 http://www.infoworld.com/t/it-jobs/software-developers-expected-see-the-highest-it-job-growth-come-2020-212709
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.
![Page 5: How to become a software developer](https://reader036.vdocuments.us/reader036/viewer/2022082514/558d278bd8b42a3c638b473e/html5/thumbnails/5.jpg)
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: http://en.wikipedia.org/wiki/Software_developer
![Page 6: How to become a software developer](https://reader036.vdocuments.us/reader036/viewer/2022082514/558d278bd8b42a3c638b473e/html5/thumbnails/6.jpg)
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.
![Page 7: How to become a software developer](https://reader036.vdocuments.us/reader036/viewer/2022082514/558d278bd8b42a3c638b473e/html5/thumbnails/7.jpg)
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.
![Page 8: How to become a software developer](https://reader036.vdocuments.us/reader036/viewer/2022082514/558d278bd8b42a3c638b473e/html5/thumbnails/8.jpg)
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.
![Page 9: How to become a software developer](https://reader036.vdocuments.us/reader036/viewer/2022082514/558d278bd8b42a3c638b473e/html5/thumbnails/9.jpg)
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
![Page 10: How to become a software developer](https://reader036.vdocuments.us/reader036/viewer/2022082514/558d278bd8b42a3c638b473e/html5/thumbnails/10.jpg)
Gartner Hype Cycle
![Page 11: How to become a software developer](https://reader036.vdocuments.us/reader036/viewer/2022082514/558d278bd8b42a3c638b473e/html5/thumbnails/11.jpg)
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!
![Page 12: How to become a software developer](https://reader036.vdocuments.us/reader036/viewer/2022082514/558d278bd8b42a3c638b473e/html5/thumbnails/12.jpg)
Steps continued… Step 6: Find some C# sample apps and review how the
developers did things Look for complete applications Check CodePlex.com 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
![Page 13: How to become a software developer](https://reader036.vdocuments.us/reader036/viewer/2022082514/558d278bd8b42a3c638b473e/html5/thumbnails/13.jpg)
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
http://www.codeplex.com/ http://www.asp.net /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)
![Page 14: How to become a software developer](https://reader036.vdocuments.us/reader036/viewer/2022082514/558d278bd8b42a3c638b473e/html5/thumbnails/14.jpg)
5. Resources 1. http://www.learnvisualstudio.net/free/c-training/ 2. http://www.asp.net/get-started - free 3. http://www.w3schools.com/ - free 4. http://www.pluralsight.com/training - starting $29 per month 5.
http://webdesign.about.com/od/onlinetraining/Online_Web_Development_Training.htm
6. http://www.creativebloq.com/web-design/training-online-resources-812225 - has a list of 20 websites that offer web training for free
7. http://freecomputerbooks.com/Programming-C-Sharp-for-Beginners.html
8. http://www.csharpcourse.com/ 9. http://google.com
![Page 15: How to become a software developer](https://reader036.vdocuments.us/reader036/viewer/2022082514/558d278bd8b42a3c638b473e/html5/thumbnails/15.jpg)
Q & A
Thank you!