• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 468
  • Last Modified:

Training for Developer

I am interested in fully pursuing my Developement/Coding training, certifications, and career.  I have been involved with programming in VB classic, and VB.net for several years, and have kept it as just a hobby (and as side help with my System Admin job.)
Unfortunetly, I believe that my skills in programming at not up to corporate levels.  - I would like to step up and feel comfortable in my knowledge, understanding, and ability to function as a developer/coder.   - Any Advice from/for the questions listed below ->
From what I am hearing, it is more important to learn C# .NET when dealing with Visual Studios now, and seeing as how it is such a fast paced / ever changing career field, I don't have a lot of time to waste...  I was wondering if anyone could shed some light on how I sould study to fast-track my progress with learning Visual Studios Developement.
I am all about transistioning over to C# .NET if needed, but I also want to make sure I am not wasting any time learning something that I don't need, So I need to get some feedback on what is the best / most knowledge intesive training out there.

What should I be focusing on for the development of my career?

I have looked at LearnDevNow.com (which seems good), but is basically just practical knowledge wrapped into DVD's.  Is there anything I can look into that will give me a fast paced / head-on training for Visual Studios (probally C# and Web .NET based focused?)

I am not able to devote time to a traditional University, as I don't want to spend semester upon semester in classes, I want to grasp core knowledge and move forward with it. - Also I don't have ability to get involved in university classes as my schedule does not permit it.

Any help/advice is appreciated.  Thank you.
4 Solutions
käµfm³d 👽Commented:
Learn the Framework; don't stress so much about VB vs. C#. If you get a good handle on programming fundamentals, then it won't be terribly difficult to switch languages. The great thing about .NET is that everything uses the same libraries. Code you write in one language is functionally the same as code written in another (.NET) language. If the job dictates you use one language over the other, then at worst you have to learn some syntax differences (and a few language-specific quirks).

I think C# is in demand because it is a language syntactically similar to Java and C++--two languages which exist in both the Windows and *nix environments. VB is a Windows-only language, and it is often easier for a beginner to pick up. This adds to its popularity.

As for what to specialize in, what are you interested in? Desktop applications? Web applications? Mobile development? One nice thing about .NET is that you can do all three using (mostly) the same Framework--mobile development uses a subset of the overall Framework, I believe. Hell, you can even write games for the XBox should you feel so inclined!
Do you have VS 2010?

If so, I would recommend you buy ASP.NET 4.0 (C#) book and create applications by following the book.

You can create whole website and test it locally (localhost).  You do not have to host it on the web hosting server in order to test your web applcation(s).

afrpaAuthor Commented:
I have been intersted in Desktop applications, but the era of that seems to be fading out fast, and everything seems to be moving forward towards the Web interface (It seems just as I feel comfortable with what I have leared, it all begins to change...)  I have picked up the the interest in Web applications, but I have not found any good training materials that stick when I am trying to learn them.  Since I don't have a corporate environment to produce/develop in it makes it a bit more difficult (since the practical knowlege I can't actually use in a realtime corporate environment - granted, I can use VM's and hypothetical scenerios, but it doesn't give a real feel for what is going on for corporate real-world.
Is there any fast-track training or experience that you have seen that has helped in the past to help jump-start your development path?
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

afrpaAuthor Commented:
I have studied and worked around the different environments, and have tested the software, and utilized VS 2008, 2010 but since my programs don't have a purpose, and they are just for study methods I get burned out.  Do you know of any site / corp that has open projects that people can help with (or part time experience gaining gigs), and while they learn they can get actual experience?
Any help/advice is appreciated.  Thank you.
käµfm³d 👽Commented:
You might try looking around http://www.codeplex.com/ for some open source projects to assist with. You might find someone who is willing to help you learn as well. I can't say that I've done it myself, but it probably wouldn't hurt.

For me, my learning has more or less been "trial by fire". I was fortunate enough to land a programming job while still in school, and since then I have been placed into projects that fell entirely on my shoulders.

One thing I am sure you will find in the professional world is that not all shops do things the same. In addition to setting standards on the way things are coded, tested, deployed, etc., you will also find differences in how projects are managed and designed. Some shops rely on the Waterfall approach whereas others use methodologies like Agile.

Just one more tidbit for you to ponder. I cannot recommend any tutorials or companies for learning, because as I mentioned my knowledge was pretty much gained "on the job". (Oh! And a *whole bunch* of Googling!)
afrpaAuthor Commented:
What should a beginner / entry level programmer be expected to know, such as how deep should his coding experience entail?  Also to further expand on the question, what should an intermediate level programmer know (in terms of VB, C#, .net, ASP, and other protocals).

Should the programmer be able to 'whiteboard' in full detail, know all relevant terms/definitions, know how to programmiclly code a database drive application, etc...

I am trying to gauge where I am at in my knowledge and experience, compared to where I need to be.
afrpaAuthor Commented:
It seems like there is a wide array, and constantly growing extremelly vast amount of roads when talking about programming/developing.  I am not sure which section/subsection or focus that I should pursue, as there is so many, and they all seem to be so delicately different.  Which would be the best road for long term growth and stability to grow in my career with?  I have a great understanding of VB and a good grasp on VB.net, but I am unsure what to do to further my skills, without learning something that may no longer be relevent by the time I am done learning it.
Any help / advice is always appreciated.  Thank you.
käµfm³d 👽Commented:
What should a beginner / entry level programmer be expected to know, such as how deep should his coding experience entail?
Speaking from opinion only, I would say that an entry level programmer would not be required to have much, if any, experience. As far as what to know, I would expect *any* programmer to have a working knowledge of programming fundamentals (e.g. various loops, how arrays are indexed for a given language, decent/beginner's understanding of Object Oriented programming, etc.). As far as .NET goes, knowing things as simple as the difference between value types and reference types is something I find lacking even in some intermediate developers I have met--but it's definitely important. Knowing how to use generic collections, the fact that anything can be assigned to a variable of type object (and why), possibly (now that we are past .NET 3.5) what the var keyword is/does/works, how to debug a NullReferenceException (this one shocks me to this day how many questions are asked here regarding this exception), what the Garbage Collector is and a very basic understanding of how it works, and probably a few other things that I cannot think of at the moment. In my opinion, a business should be spending most, if not all, of its training time for indoctrinating a new employee into the business side rather than teaching him how to code--no matter the language in use.

Your entry-level programmer is going to be nothing more than a "code monkey", at least in the beginning. They are given programming tasks which suit their abilities. With experience, their abilities will grow, and so will the tasks which they are assigned. Should an entry-level programmer be able to code a database-driven application without direction? It would be nice, but I wouldn't expect such. I would expect, however, that my intermediate programmers could explain or break up the task to an entry-level programmer in such a way that the entry-level programmer could accomplish the goal without much obstruction. Should a developer be able to "whiteboard" in full detail? Probably not, but he should be able to tell what's going on when it is shown to him. Should he know all of the relevant terms/defintions? He should know the big ones! He should know a good number of them. Speaking for myself, though, I still find acronyms and terms I have never heard before. The down side of I.T. is that it murders the alphabet 7 times over with its acronyms!

As I mentioned previously, all shops are different, and as such each has its own set of requirements for what it seeks in a new employee. Please only take what I say above as my opinion and not necessarily "the gospel." I'm sure there are shops out there who might require more of their entry-level programmers, and you should certainly wait for more diversified comments to the subject. I hope I've helped a little, though  = )
You commented that just doing exercises doesn't seem to help you learn all that much. Keep in mind that the exercises generally are designed to teach just a couple of concepts at a time. When I was learning VB .NET after many years in less advanced languages, I worked through a coursebook, doing the extra problems, and sometimes trying out expanding the application beyond what was requested.

Then try to think of an application that would be useful to you: maybe an address book that will drive output of Christmas card envelopes, or a stats tracker for your son's Little League team, or a database of your CD collection. Sure, you've probably got something else (even Excel) that can do the job, too; that's not the point. You're creating something real as a learning exercise. Think about the input error checking you should do; once the app is done, try to break it, then fix the bugs.

Once you're feeling a bit more confident in your ability, if you're not feeling ready (or you're unable) to find a regular job as a developer, you might look for a nonprofit that has a need to improve their web site in some way, and offer to do a project for free. As a neophyte, I'd stay away from anything that involves money changing hands or serious privacy issues, but they may have other things of an application nature that they'd like to do with their website. You'll get real-world feedback from them; you may be able to use them as a reference (and the site/app as an example of your work) to land a job.

Unless you start working on realtime projects, you won't be comfortable at all.
learning might give you confidence, but realtime work will only give you the confidence.

So my advice, try to work in some project as a developer and all the rest like learning, keeping pace with the technology will follow itself.

Get into some project.

afrpaAuthor Commented:
Great Advice guys, I appreciate the help.  It has helped to understand the process a lot better.

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now