Advantages of Hiring UIUX Design Service Providers for Your Business
How to become a software developer
1. How to Become a Software Developer
Debre Haile Kidus Raguael EOTC IT Professionals Group
Eyob Lube - 8/25/2013
2. Agenda
1. Introduction
i. Definition
ii. Salary Range and Job Market
2. Roles/Responsibilities
3. Requirements
4. Steps
5. Resources
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. 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.
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: http://en.wikipedia.org/wiki/Software_developer
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. 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. 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. 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
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. 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
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
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)
14. 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_Develop
ment_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