I'd like to jump into the wonderful world of programming.

In the past I took some programming courses in school. These included C, C++, and Python.

And I started to learn PHP about a year ago, and I've also played around with Ruby on Rails.

Unfortunately I never did much with what I learned.

Now I'm looking to jump back in. I currently have a career in IT and consider myself a Linux geek-guru-wannabe.

I'm wondering what is the learning curve of desktop programming (eg C#/.Net) vs that of web programming (eg PHP/RoR/Javascript)?

And how long does it take to become a Jr Level developer on either platform?

I mainly ask because it seems that there are a million different frameworks and languages for web development these days.

Whereas if you develop on the desktop (Windows) environment, the primary language used is C# with the .Net framework.

Are there many paid opportunities out there for people who have experience developing on a *nix GUI desktop environment?

Any advice for if you were in my shoes?

I can't speak to *nix desktop or *nix web development but I do very well with windows web and desktop development in c#. For many years I did c++ development professionally on windows platforms (even at one point wrote a web server in c++ for a windows app) before moving to the .net platform as it's a better tool for the kind of work I do.

In my (and many other people's) experience it takes 10 years to become really good at almost anything important in life and many more years to be considered a master at it.

Currently when discussions like this come up on sites like CodeProject.com which has a *lot* of professional developers who hang out in the lounge, most people are discouraging of the idea and I tend to agree. Unless your heart is *really* in it and it's something you would enjoy doing every day, day after day I advise against it as a profession.

Nothing can kill the fun of a hobby faster than making a career out of it and right now there are a *lot* of highly experienced developers out of work due to the economy and outsourcing etc. Couple that with the decades long takeover of software development by the gray men in business suits that have made every effort to turn software development into a commodity (quite successfully) and these days the average developer is little more than a tiny, easily replaced cog in a big machine. If you want to make money you're far better off being the gray man in the suit, not the developer. :)

That being said there is still a lot of fun and money to be had working for yourself publishing your own software online and if you stick to tiny little projects you can learn while still treating it as a hobby.

So in short I suspect you will need at least 2-3 years of dedicated learning and programming before you would be what we would consider a competent junior level developer in our shop. And a lot of that would have to be real world programming experience for real end users. Book learning and certifications amount to pretty much nothing these days.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.