How to become a C# Programmer
So you want to be a C# programmer? In this article, I will
try to answer your questions.
Before I start, let me emphasize that some people use terms such
as coder and developer for a programmer. In this article, I am talking about a
person who writes code.
Are you a programmer material?
Programming has to be in your blood. Not everybody is
programming material. You need to make sure you are that material.
Computer programming is not a rocket science but neither is
it an art

Computer programming is about logic, analysis, solving
problems and finding the optimal solutions of problems. Problem solving is
directly proportional to your logical and analytical skills. If you have these
two skills, you are almost qualified to become a programmer.
Before you say, "Ahh .. Let's start programming today", you
really need to understand what it takes to become a good programmer.
Programming is problem
solving.
But I always believe in one more skill. That is dedication. If
you are fully committed to it and you have time, you will do well. Time is the
key though. Programming is not something you can learn quickly. It's just so
much to cover. Not only do you need to understand and speak (alright! at least
type) what computers speak but you also need to know how to create that
language for the problem.
Some people ask:
"How much time it will take me to learn C# programming?"
Answer: Nobody knows!
Nobody knows. There is no timeframe for learning
programming. You're never finished learning. I have seen programmers that have
been programming for 50 years and still learning.
So, if you are thinking, if I am finished with 2 years, I
will be done. Forget it. Programming is not for you. A programmer never stops
learning.
A good programmer needs to be persistent. Another word for
persistent is stubborn. All programmers become confused but a good programmer
does not give up. There will be times when you are very confused and you think
it is impossible to figure something out. When that happens, take a break. If
you are a good programmer, you will not give up. You will however return to the
problem and solve it.
You must enjoy thinking; not everyone does.
"A programmer must
enjoy thinking."
- Sam
Hobbs, Author C# Corner
Some programmers must be taught programming and related
skills. A good programmer can read books, documentation and other resources and
learn on their own.
I started programming in 1993 in college and am still
learning. Every year there is something new. There is always something to learn.
You must be prepared to read
documentation every day you program. Reading documentation can be frustrating
and you must understand that it takes time to learn things. I cannot emphasize
enough the requirement to read documentation and other resources.
Becoming a C# Programmer
If you are still reading this article, I assume you are
programming material. You have all the skills it needs to be a programmer and
on top of that, you have plenty of time.
Step 1: Download and Install Tools
To write your C# code, compile, build and run it, you need a
tool. There are several tools for this but the best tool is Visual Studio 2012.
Visual Studio Express 2012 is a free tool for students and
beginners. You can download it here:
Download
Visual Studio Express 2012 for Windows Desktop
Step 2: Learning Material
Next, you need a very basic book. Here is a very basic book
that will teach you the basics of the C# language and help you learn to write
basic programs.
- Free book: Programming C# for Beginners
Here is a good article:

jake loedPosted Apr 30, 2018, 6:56 PM
This is a very good information. thanks a lot
Nematulla khanPosted Mar 15, 2018, 3:24 AM
Thank you a lot that's help me a lot.
Abhishek SinghPosted Mar 9, 2018, 9:50 AM
I love the way you have expressed your answer with honesty. I fell in love with C# during my Internship days.But today it became clear to me that C# has a third track ( I didn't knew that it can be used for developing Windows Store Apps)
Anthony AligaPosted Jan 17, 2018, 6:22 PM
Are the link broken? I cannot go through when i click it. I want to see the books. How?
Karthick PoonkodiPosted Jan 3, 2018, 9:06 AM
I'm really get some clear route to how to become a developer from this post.. Thank you very much sir..
Khalid MohammedPosted Jan 2, 2018, 1:15 PM
I want to ask question, Iam university student study digital game design,and we using c# lunguage, before i enrolled to this department I was afraid of taking this course becouse of programming, i want to study it but i dont know why i couldntt, i told my self maybe because i was afraid of programming, I need an advice how to stop this fear.
Gugu NsibandePosted Dec 8, 2017, 2:13 AM
Thank you so much. This information is very much helpful to me. I am already a programmer but on the AS400 (Mainframe). Now I want to branch onto C# and continue on my journey. The information provided here is just what II needed. I truly appreciate.
Ammar ShaukatPosted Apr 28, 2017, 4:20 AM
In my opinion .. C# Programming is not about only these 3 areas now a days... C# covers a lot of areas. like Gaming ( Unity ) , Mobile Apps ( Android , iOS , Windows Phone ) > Xamarin , Augmented Reality ( HoloLens ), Windows 10 Apps ( UWP ) , XBOX , PlayStation , ASP.NET , Desktop ( Winforms + WPF ) , APIs ( WCF ) , WWF > SharePoint ... So rather than going directly into these technologies its better and very important to explore C# Language concepts that are being used in all these areas.
Erudite AbdulYaqeen BorlanlehPosted Apr 27, 2017, 1:00 PM
Thumb up for you sir am in nigeria and i believe i just found this very useful..... thank you a lot
Nouha MensiPosted Feb 19, 2017, 5:37 PM
Thank you a lot that's help me a lot. But i still have a question : to be an expert in c# we should be expert in the 3 areas :Windows Desktop Applications,Web Applications and Windows Store Apps or i should choose one of them.
Humayun Kabir MamunPosted Oct 6, 2016, 12:20 AM
Nice...
Amit SinghPosted Mar 26, 2016, 4:47 AM
Thanks Sir, nice article for beginners for better understanding what is programming
molik bhatiaPosted Oct 6, 2015, 1:11 AM
Superb Article sir.....
Lesky Alfonso MPosted Oct 3, 2015, 5:54 PM
Very good article, one of the very best I've read lately when it comes to the subject.
Gopal KandoiPosted Oct 1, 2015, 11:27 AM
Amazing article. This clears the confusion People who think whether they should start programming or not.
Vinodh NarayananPosted Oct 1, 2015, 9:47 AM
nice one
Ammar ShaukatPosted Oct 1, 2015, 8:33 AM
After reading this article....! First time I came to know that I'm a person for writing code actually. :)
Sujeet SumanPosted Sep 19, 2015, 5:37 AM
Nice explanation of programming..........
Ajeet MishraPosted Sep 14, 2015, 3:47 AM
Very True
Atul RawatPosted Sep 14, 2015, 3:10 AM
nice post sir
Raja TPosted Sep 14, 2015, 12:30 AM
Very Nice Sir Thanks For sharing
Saineshwar BageriPosted Sep 13, 2015, 11:52 PM
Good One Sir
İsmail Hakkı ŞenPosted Sep 13, 2015, 1:02 PM
This article will motivate new programmers.
Gopi ChandPosted Sep 13, 2015, 5:48 AM
Very refreshing article sir...Thanks
Pankaj Kumar ChoudharyPosted Sep 13, 2015, 4:50 AM
Nice and thanks for a inspirational Article........
Upendra Pratap ShahiPosted Sep 13, 2015, 4:24 AM
nice sir
Baimey RajeshPosted Sep 13, 2015, 1:49 AM
Good write up Sam Hobbs and Mahesh Chand :) Quiet inspiring and light language :)
Praveen KumarPosted Sep 13, 2015, 12:01 AM
So inspirational,Thanks!! I felt glad while I was reading the paragraph which contains "If still you're reading, I assume you are programming material".
Rajeesh MenothPosted Sep 12, 2015, 11:17 PM
Nice One
Akash MalhotraPosted Sep 12, 2015, 4:33 PM
Great post...Thanks for the ideas
Amit JoshiPosted Sep 12, 2015, 3:18 PM
very nice and informative article.I think Learning Data structure and algorithm analysis is also required for making efficient program(from my humble point of view.).And at step 3 on above article (web application) web form is mentioned, but again from my humble point, Asp.net MVC is much better for student and beginner(separation of concern, dependency injection, blah,blah), and beside event based web form programming is gradually decreasing(one example:-https://www.mojoportal.com/Forums/Thread.aspx?pageid=5&t=13086~1) like desktop track (win form)as such Microsoft announce that MVC is future.Also Microsoft's new release for ASP.NET will be integration of MVC/API/WEB PAGE.
Asit SinghPosted Sep 12, 2015, 12:56 PM
Nice article Sir, This is really a motivating material to all who want to be good programmer ,I am also one of them .Sir I want a suggestion , I am working as ASP.Net programmer but asp.net is dying day by day so I am worried about my future please tell me what should I learn which make me stable in C# programming .
VINAY KUMAR GUPTAPosted Sep 12, 2015, 10:43 AM
Nice article sir, this article inspire every one either developer or learner.
Nilesh JadavPosted Sep 12, 2015, 9:41 AM
Great Post Sir
Harshad PansuriyaPosted Sep 12, 2015, 8:44 AM
Nice One
Abhishek MishraPosted Sep 12, 2015, 8:35 AM
Nice article sir, a lot to learn for beginners but sir I think you miss about Patience
Mahesh ChandPosted Sep 12, 2015, 8:19 AM
I've updated this article.
MALIK ASAD AliPosted Sep 12, 2015, 4:12 AM
Hello sir i am new learner of C Sharp and i have allot of interest in windows store apps but you say it is not for beginner what can i do sir? sir i have allot of materials even including your E books, Microsoft virtual academe courses and channel 9 videos. sir can windows store apps have not scope in future.? whats your opinion.Sir Please help me i am worried about my future scope when i was read your post.
Rekha SeinPosted Mar 20, 2015, 7:03 AM
10 Best C# Books To Learn Programming http://www.developersfeed.com/10-best-c-books-to-learn-programming/
Tamil SelvanPosted Aug 25, 2014, 6:55 AM
Awesome article
Salman AslamPosted May 23, 2014, 2:20 AM
Awesome information thank for that useful information....(Y)
Sathish ArnoldPosted Apr 22, 2014, 9:04 AM
i have been motivated by u sir."programming is problem solving" and programmer is a learner
Satish SinghPosted Apr 22, 2014, 1:13 AM
its very nice and motivated article.
Nitesh KejriwalPosted Apr 18, 2014, 1:14 PM
Great Article Sirjee!!! @Sam would like to meet you at #CSharpConf15..Please schedule some time for us :)
Prakash TripathiPosted Apr 12, 2014, 9:58 AM
nice article..well articulated...
Sourav KayalPosted Mar 17, 2014, 12:32 PM
Very nice article sir, You inspire us lot. :)
danialPosted Mar 3, 2014, 9:48 AM
THANK YOU :)
SAI KRISHNA VELLANKIPosted Nov 27, 2013, 9:16 AM
Very Nice. Thanks.
Jeetendra GundPosted Aug 28, 2013, 2:17 AM
Thank you so much sir.....
iswarya chandranPosted Jul 30, 2013, 5:29 AM
I agree u sir @Ani Kumar.. really its a boost for us to love our carrier.. "Programming is problem solving"
Anil KumarPosted Jul 30, 2013, 5:01 AM
Yes Iswarya, thats why I always refer this post while replying into forums..
Prasenjit DeyPosted Jul 30, 2013, 2:29 AM
Beautiful article. Just awesome
iswarya chandranPosted Jul 30, 2013, 2:03 AM
thank you. i got full energy by your article.. my confusions got cleared.. thank you..
Puneet AMaRPosted Jun 10, 2013, 6:42 AM
wow..this article has created brought some interesting things which i would not know being a programmer...thanks mahesh sir...
Jean PaulPosted May 31, 2013, 5:03 PM
Superb Article Mahesh! I like about the 'programmer material'. Plus, I support Sam Hobbs as well in "Every programmer must think" it holds a lot of things there..
Suma MeditedPosted May 11, 2013, 10:15 AMEdited May 11, 2013, 10:18 AM
Very nice article.. So a programmers should be very good at reasoning right? Programming is not something you can learn quickly. I think this is true.. Everyday we learn something new. I am a beginner and i am learning :)
Mahesh ChandPosted Feb 5, 2013, 1:24 AM
I agree with "coder must know testing" but I am not sure about Google. Problem with Google is, it takes away the "Thinking" part. A human brain is like a sword. More you use, sharper it gets. You don't use it, it will get junk.
Suthish NaireditedPosted Feb 4, 2013, 12:36 PMEdited Feb 4, 2013, 12:41 PM
Good post MC and SAM... Programming has to be in your blood... really... :) ... Remember if you want to become a perfect coder, then your piece of code must have bugs... without a single bug, your code is not perfect... A coder must know the basic of testing... A coder must know the basics of operations... Last but not the least, a coder must know how to do a Google to find the correct solution..
Sam HobbsPosted Feb 2, 2013, 12:31 PM
Yes, Krishna; usually when someone asks what a good programmer is or how to become a good programmer, things like analysis are not mentioned. I think analysis is something that employers value and beginners need to know about it. Something else I think is worth explaining is that entry-level programmers usually must start with maintenance; most programmers want to do new cevelopment but that usually does not happen until a programmer is on the job for a while, mainly because senior programmers want new development. Does that sound correct to you?
Mahesh ChandeditedPosted Feb 2, 2013, 12:10 AMEdited Feb 2, 2013, 1:19 AM
I am planning to tackle coding documentation in my next article. Vidya, good catch. I have fixed the link for OOP article.
Krishna GaradPosted Jan 29, 2013, 5:24 AM
Yes Mahesh absolutely right. Every developer must have to pay attention towards documentation and analysis. Developer thinks like google is the best friend for developer but as I seen rather that google documentation can help better. As well it is good habit to make notes about your code also which can be helpful to other developer to understand the code.
Devendra KumarPosted Jan 29, 2013, 4:42 AM
Thanks for this Article. Can u post for XAML Controls for Windows Store apps
Vidya Vrat AgarwalPosted Jan 28, 2013, 11:53 PM
Hi Mahesh, yet another good post. OOP programming URL is broken please update that to http://www.c-sharpcorner.com/UploadFile/84c85b/object-oriented-programming-using-C-Sharp-net/
Mahesh ChandPosted Jan 28, 2013, 9:28 AM
Good point Krishna. As a matter of fact, Sam and I have been talking about educating people on Documentation and Analysis part of programming. They are very important but not too many programmers pay attention to it.
Vithal WadjePosted Jan 28, 2013, 5:03 AM
what a article that is...! no words to express ,it is motivational,informative and so on thanks to mahesh sir and sam sir for such article, we want some article on certification tracks that is on MCP,MCPD that most of the people does not know about it ,its given on microsoft site but it is complicated
Anil KumarPosted Jan 28, 2013, 3:49 AM
Great. Also agree with *Krishna*, technology/ subject never ends and nobody is perfect. Each new day is for disclosing something new...
Krishna GaradPosted Jan 28, 2013, 2:38 AM
Great.......... My view about subject i.e. it never ends nobody is perfect in specific subject and in my view Documentation is the best friend to solve the problem because the documentation is written by the programmer who has developed that application and he knows all the things about the application.