SlideShare une entreprise Scribd logo
1  sur  15
How to Become a Software Developer
Debre Haile Kidus Raguael EOTC IT Professionals Group
Eyob Lube - 8/25/2013
Agenda
 1. Introduction
i. Definition
ii. Salary Range and Job Market
2. Roles/Responsibilities
3. Requirements
 4. Steps
5. Resources
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.
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.
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
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.
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.
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.
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
Gartner Hype Cycle
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!
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
 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)
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
Q & A
Thank you!

Contenu connexe

Tendances

Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
Gurban Daniel
 
Computer Software
Computer SoftwareComputer Software
Computer Software
norzaini
 
Generations of Programming Languages
Generations of Programming LanguagesGenerations of Programming Languages
Generations of Programming Languages
Tarun Sharma
 
Intro To Programming Concepts
Intro To Programming ConceptsIntro To Programming Concepts
Intro To Programming Concepts
Jussi Pohjolainen
 

Tendances (20)

software engineering
software engineeringsoftware engineering
software engineering
 
Programming Fundamentals lecture 1
Programming Fundamentals lecture 1Programming Fundamentals lecture 1
Programming Fundamentals lecture 1
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
Computer programmer
Computer programmerComputer programmer
Computer programmer
 
Computer Presentation.pdf
Computer Presentation.pdfComputer Presentation.pdf
Computer Presentation.pdf
 
introduction computer programming languages
introduction computer programming languages introduction computer programming languages
introduction computer programming languages
 
Device Drivers
Device DriversDevice Drivers
Device Drivers
 
Computer Programming
Computer ProgrammingComputer Programming
Computer Programming
 
Computer science and engineering
Computer science and engineeringComputer science and engineering
Computer science and engineering
 
Introduction to Software Development
Introduction to Software DevelopmentIntroduction to Software Development
Introduction to Software Development
 
Computer Software
Computer SoftwareComputer Software
Computer Software
 
Computer language
Computer languageComputer language
Computer language
 
Generations of Programming Languages
Generations of Programming LanguagesGenerations of Programming Languages
Generations of Programming Languages
 
Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020
 
Types of Programming Languages
Types of Programming LanguagesTypes of Programming Languages
Types of Programming Languages
 
Intro to programming and how to start that career
Intro to programming and how to start that careerIntro to programming and how to start that career
Intro to programming and how to start that career
 
Intro To Programming Concepts
Intro To Programming ConceptsIntro To Programming Concepts
Intro To Programming Concepts
 
Introduction to programming
Introduction to programmingIntroduction to programming
Introduction to programming
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 

En vedette

Python programming advance lab api we pay
Python programming advance lab api we payPython programming advance lab api we pay
Python programming advance lab api we pay
profbnk
 
Php web developer (for linkedin)
Php web developer (for linkedin)Php web developer (for linkedin)
Php web developer (for linkedin)
Adrian Foster
 
Career presentation
Career presentationCareer presentation
Career presentation
weatherboyjk
 
Capital humano
Capital humanoCapital humano
Capital humano
guba93
 

En vedette (20)

Big data
Big dataBig data
Big data
 
2015 IT Hiring and Compensation Trends
2015 IT Hiring and Compensation Trends2015 IT Hiring and Compensation Trends
2015 IT Hiring and Compensation Trends
 
Python programming advance lab api we pay
Python programming advance lab api we payPython programming advance lab api we pay
Python programming advance lab api we pay
 
why Computer Science and It Career Job Opportunities
why Computer Science and It Career Job Opportunitieswhy Computer Science and It Career Job Opportunities
why Computer Science and It Career Job Opportunities
 
Java Virtual Machine
Java Virtual Machine Java Virtual Machine
Java Virtual Machine
 
Python programming lab2
Python programming lab2Python programming lab2
Python programming lab2
 
JavaServer Pages
JavaServer Pages JavaServer Pages
JavaServer Pages
 
Php web developer (for linkedin)
Php web developer (for linkedin)Php web developer (for linkedin)
Php web developer (for linkedin)
 
Career presentation
Career presentationCareer presentation
Career presentation
 
Capital humano
Capital humanoCapital humano
Capital humano
 
7 Awesomely Techie Jobs
7 Awesomely Techie Jobs7 Awesomely Techie Jobs
7 Awesomely Techie Jobs
 
Python programming lab1
Python programming lab1Python programming lab1
Python programming lab1
 
Python programming advance lab api how to
Python programming advance lab api  how toPython programming advance lab api  how to
Python programming advance lab api how to
 
It career paths
It career pathsIt career paths
It career paths
 
Python programming lab 18
Python programming lab 18Python programming lab 18
Python programming lab 18
 
Get into game programming
Get into game programmingGet into game programming
Get into game programming
 
2014 Denver User Group Annual Salary Survey
2014 Denver User Group Annual Salary Survey2014 Denver User Group Annual Salary Survey
2014 Denver User Group Annual Salary Survey
 
Python programming advance lab api npr 2
Python programming advance lab api npr  2Python programming advance lab api npr  2
Python programming advance lab api npr 2
 
Python Datatypes by SujithKumar
Python Datatypes by SujithKumarPython Datatypes by SujithKumar
Python Datatypes by SujithKumar
 
Regular expressions in Python
Regular expressions in PythonRegular expressions in Python
Regular expressions in Python
 

Similaire à How to become a software developer

Professional project writing
Professional project writingProfessional project writing
Professional project writing
jkmaster
 
Placement-pucrehxycufocuccpuupcuppcps.pptx
Placement-pucrehxycufocuccpuupcuppcps.pptxPlacement-pucrehxycufocuccpuupcuppcps.pptx
Placement-pucrehxycufocuccpuupcuppcps.pptx
YashJadhav496388
 
COMPUTER APPLICATION PROJECT ON
COMPUTER APPLICATION PROJECT ON COMPUTER APPLICATION PROJECT ON
COMPUTER APPLICATION PROJECT ON
Jitender Suryavansh
 

Similaire à How to become a software developer (20)

How To Become A Good C# Programmer
How To Become A Good C# ProgrammerHow To Become A Good C# Programmer
How To Become A Good C# Programmer
 
How to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software DeveloperHow to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software Developer
 
Professional project writing
Professional project writingProfessional project writing
Professional project writing
 
Career Hacks for Developers
Career Hacks for DevelopersCareer Hacks for Developers
Career Hacks for Developers
 
Microsoft student partners fy14 reruitment
Microsoft student partners fy14 reruitmentMicrosoft student partners fy14 reruitment
Microsoft student partners fy14 reruitment
 
[MET] Software Recruiting 101
[MET] Software Recruiting 101[MET] Software Recruiting 101
[MET] Software Recruiting 101
 
Top Web Development Challenges & How To Tackle Them?
Top Web Development Challenges & How To Tackle Them?Top Web Development Challenges & How To Tackle Them?
Top Web Development Challenges & How To Tackle Them?
 
Roadmap to Development
Roadmap to DevelopmentRoadmap to Development
Roadmap to Development
 
Westby DMT - Week 01 course overview
Westby DMT - Week 01 course overviewWestby DMT - Week 01 course overview
Westby DMT - Week 01 course overview
 
Microsoft Student Partners
Microsoft Student PartnersMicrosoft Student Partners
Microsoft Student Partners
 
Placement-pucrehxycufocuccpuupcuppcps.pptx
Placement-pucrehxycufocuccpuupcuppcps.pptxPlacement-pucrehxycufocuccpuupcuppcps.pptx
Placement-pucrehxycufocuccpuupcuppcps.pptx
 
Prototyping & User Testing
Prototyping & User TestingPrototyping & User Testing
Prototyping & User Testing
 
Google summer of code 2012
Google summer of code 2012Google summer of code 2012
Google summer of code 2012
 
How to land your first job in tech without an engineering degree
How to land your first job in tech without an engineering degreeHow to land your first job in tech without an engineering degree
How to land your first job in tech without an engineering degree
 
NLJUG speaker academy 2023 - session 1
NLJUG speaker academy 2023 - session 1NLJUG speaker academy 2023 - session 1
NLJUG speaker academy 2023 - session 1
 
IoT Product Design and Prototyping
IoT Product Design and PrototypingIoT Product Design and Prototyping
IoT Product Design and Prototyping
 
Report on web development
Report on web developmentReport on web development
Report on web development
 
The Software Development Industry
The Software Development IndustryThe Software Development Industry
The Software Development Industry
 
Things I wished I knew while doing my tech bachelor / undergraduate
Things I wished I knew while doing my tech bachelor / undergraduateThings I wished I knew while doing my tech bachelor / undergraduate
Things I wished I knew while doing my tech bachelor / undergraduate
 
COMPUTER APPLICATION PROJECT ON
COMPUTER APPLICATION PROJECT ON COMPUTER APPLICATION PROJECT ON
COMPUTER APPLICATION PROJECT ON
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
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