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 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 (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.
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

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!
AshokSr. Software EngineerCommented:
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?
Learn SQL Server Core 2016

This course will introduce you to SQL Server Core 2016, as well as teach you about SSMS, data tools, installation, server configuration, using Management Studio, and writing and executing queries.

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 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, 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  = )

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
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.
Navneet.Net Full Stack DeveloperCommented:

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.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic.NET

From novice to tech pro — start learning today.