It is an object-oriented programming language for XML-based web applications developed on the .NET platform and intended to improve productivity in their development. It has features such as garbage collection, type safety, simplified type declaration, supports scalability, versioning and others that help in making software development easier and faster. It is especially helpful in the development of web services and COM+ applications.
One thing to take note is that you don’t have to be a Computer Science or Computer Engineering graduate to become qualified for C# employment or be a good programmer. Completing these courses can help especially later in your career when the more reputable companies would usually require college degrees and also for career advancement. C#, however, is just one programming language out of many and to be really successful in programming you usually need to have expertise in several computer languages. There are some steps you could follow to become a good programmer in C#:
The first thing you need to do is chose a language. Let’s say you chose C# since we are on the subject of C# careers and also because it’s a good choice these days. C# is increasingly popular and replacing the use of older languages like C and C++. C# developers in the U.S. had an average annual wage ranging from $60,000 to $120,000 in 2009.
The next thing you want to do is chose a pet project and make it. There are several types of applications you could choose to make like an MP3 player, chat client, password manager, contact manager, RSS reader and others – it’s up to you but just don’t try to release it to the web just yet. Make it as if you were doing it for a company. Set goals and features for your app, set time lines and keep them. The point here is to see whether your application will work or not based on your own understanding. Most often you will get it wrong the first time, but that’s where the real learning starts.
Buy books or take online classes (beginner level) about C#. Just take one book and one class at this time so you don’t get overloaded. When choosing a book see how it will help teach you how to build GUIs, work with persistent storage, work with files and folders, and teach you basic architecture and basic object-oriented architecture and design. It’s better to have a course or book where you can take chapters individually and not in order. Also, its better to not do the sample projects within the books and just do your own pet project so you can learn how to make the codes by yourself, and be able to understand and work with them better. Also take note that the books and online course instructors are not always correct, it is possible for them to give erroneous information or give solutions which are not the best, so it is better to double check. You will also find out that you will need to take notes so you can refer back to them when you get stuck on a project.
Start doing your chosen project while reading books and taking online classes. Start with GUI first, and try to make it simple using tools like Photoshop, Illustrator or Paint.net. After the GUI do the Events, Class Design, Method Stubs and the Pseudo code in that order. Now write the application, which is the most difficult step.
Post questions in online forums dedicated to C#. As you are writing your application, taking the online class and reading your book you will probably find that you now have become somewhat confused and frustrated of how complex software engineering is, and how vast C# and .NET Framework are. The frustrations you will feel is completely normal, you are undergoing what we call the “Gartner Hype Cycle”. At this point don’t forget to back up your work and just think of the exciting possibilities C# job has to offer. One very useful way to avoid getting stuck is by asking questions in forums dedicated to C#.
Find sample applications written in C# and check how they did things differently. Use complete applications because they tend to contain better written code and have fewer errors than sample codes. In checking, ask questions like how did they get to the solution? How did they make their class design? Are there any compiler bugs? How different did they do it from your book/class? Check if the author of this app has a blog, book or tutorials you can download. Always make sure you double check to see if the code is accurate and well written.
After you finish beginner level, buy books or take online classes (intermediate level) about C# and move onto an intermediate level book and course. This time pick a book or course that will teach you specific skills that you can use to find a job like ASP.NET, SQL databases, Silverlight or .NET Framework.
Another thing you can do to help you with your C# is to answer other people’s questions about C# in forums. A proven method of learning is by answering the questions posed by other people. Along the way you will sometimes find solutions to your own questions or perhaps find better solutions than the ones you already know. Here you will experience working with a team, will have expansion of your knowledge and be more comfortable, will be learning other peoples styles. You will also feel good knowing that you helped make a product better. Choose an open source project that has a history of changes and is something that you really like. As an added bonus, some companies only hire people who have experience working in open source projects because they see this as a sign of passion for software development.
Next, chose another project and make it. Now it’s time to implement what you have learned from your intermediate book and course. This time try using high quality graphics and after you finish let friends test it. You can also go back to your first project and use what you have further learned to improve it.
Review Open Source applications written in C# – similar to a step above, but this time you use applications written by the open source community such as iPhone and ASP.NET starter kits. You can find these apps in sites like SourceForge or CodePlex.
Write articles in the subjects you enjoy. This is also similar to answering in forums. Writing an article about a complex subject matter will force you to have a deeper understanding about things you thought you already knew about but actually only scratched the surface. Write about things that you are most interested in even if much has already been written about these. The actual purpose is to help you simplify complex subjects. Write the article in a manner which will make a complex topic seem simple.
If you follow the steps given above you can become a good C# developer and once you get there you will feel a sense of pride after all the difficulty that you would have gone through to qualify for the coveted C# careers and you must not forget that it is a continuous learning process, something new always comes up, and you have to maintain that edge.
You can find more C# careers listings by visiting CPlusPlusCrossing.com and sign up for a risk free trial today to find jobs that are just right for you!