views:

253

answers:

4

I'm in a bit of a career quandry here. I currently live in an area of the UK which is reasonably good job wise for C++ desktop application developers (i.e like me) however my wife is being relocated to an area of the country which is near to a major tech hub of the country, but not near enough to commute on a daily basis (i've done 2 hr. commutes before, they really don't fit with my sanity)
As a result there are not many hi-tech places in the new city, but seemingly a neverending supply of Web-App shops.

While I have been toying with .net apps in my (already quite sparse) spare time, having never done any web-dev (thanks previous employers with your carrot/infinite stick promises) I don't even know where to begin making a transition to making full blown web app production. without at least some inkling of how web apps work, my CV can't even get a first look, let alone an interview at these places.

What are some good resources for people in my situation?

EDIT:Great stuff guys!
so do you have any links to good kick off points? of course i can do a wikipedia lookup on each of the concepts, but finding the really good 'meat' of the tutorials can be a massive rabbit warren...

what's the 'webapps for dummies' or the De-Facto source for getting going here?

final edit:
OK, guess i should have looked a little closer to home :) plenty here:
http://stackoverflow.com/questions/tagged/getting-started

+3  A: 

If you've been doing C++ desktop application development for a good while I'd hire you in a split second, that puts you ahead (in terms of programming proficiency) of 99% of the candidates we interview.

C# is basically an easier version of C++ so you're good to go there already, if you wanna go the .NET route. You'd need to pick up HTML, CSS, Javascript skills assuming you want to work in the whole spectrum of web development and not just the back-end.

ASP.NET/WebForms is the dominant choice (with ASP.NET/MVC is getting more momentum every second, though) for .NET web development, luckily for you ASP.NET/WebForms is architectured in such a way that it tries to mimic desktop application development.

Honestly if you've been doing C++ desktop-apps for a long while, C# web-apps will be a cakewalk.

thr
I've been developing desktop/handheld apps for about 9 years....really my worry is architecture, rather than code
geocoin
+1  A: 

I've not done .NET before, but a couple of suggestions. First, you might want to see if your current job will let you telecommute (if at all possible, it's at least worth a try). In regards to web app development, it really depends on what you want to do. At bare minimum I would learn some XHTML and CSS. If you really want to get into front end development, you probably would also benefit from a JavaScript library like jQuery or MooTools. Otherwise, I would start taking a part a few open source .NET apps and see how they work. Also start looking for tutorials on the subject.

Edit: As far as architecture goes, I would imagine that it would tend toward MVC patterns, at least that's the way most PHP apps are starting to trend.

VirtuosiMedia
telecommute already discussed and not an option :(
geocoin
for .net I've found this one so far:http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx
geocoin
+4  A: 

My experience is that very few web-devs are sufficiently capable with server-side and client-side work, so the good news is that it isn't a killer to have minimal experience with CSS/JS/HTML, although some amount will be expected.

Where you start depends on what related background you can bring to the table. For example, exposure to XML/XSLT is excellent for picking up HTML, and some xpath concepts relate well to CSS. Scripting technologies are scripting technologies, the only thing special about the browser environment is understanding the DOM relation and the native limitations of the environment (i.e. file manipulation, event handling, etc..)

My advice is to take things one at a time, and don't try and become an expert in each. It's enough to know how to get by. Knocking up some web app projects is an excellent way to start getting the feel of it, and as always I suggest starting with your own personal site is a good way to learn something with "real" problems.

Some central concepts are:

  • HTTP and state
  • the server/client model
  • the ASP.NET pipeline (handlers and modules)
  • the ASP.NET page lifecycle
  • separation of concerns
  • the DOM and client-side event handling
  • and the cascade part of CSS

Most things should be transferable or readily apparent from winforms dev.

A word of caution: many middleware-like things exist in web-dev designed to make your life easier, but because they are just wrappers on javascript/html/css they have their own syntax and foibles and it's not the same as learning the root tech. I strongly advise you to learn JS not jquery, and html not asp.net controls at first. It would be like learning to use a mouse before a keyboard.

annakata
Good stuff! (and an extra +1 for your avatar ;) )now i just have to find a job ad that doesn't require x years experience!
geocoin
incidentally I'd love to know *where* you're finding all these web jobs cause I'm seeing a conspicuous absence in the last few months and I'm an hour out of london
annakata
Specifically, I'm looking in Norwich. any and all job searching i'm doing is coming up with a whole bunch of webby jobs, and so far only 1 application job, and that was for a Jr. position. currently i'm on the south coast, nr Southampton
geocoin
oh yeah, the Jr position which had a *required* list worthy of someone with 6+ years experience! (and not *my* particular experience - still I applied anyway)
geocoin
I used to work in Norwich, it's always been pretty much dominated by the insurance companies. Pretty hard place to work given it's isolation. Good luck anyway.
annakata
yeah... guess where my wife works...
geocoin
+1 to learning the basics of the web, HTML, CSS, JavaScript
Richard Ev
+1  A: 

From what little I know about traditional app development, I would hazard this guess:

You're going to get a grip on the programming side of things fairly easy since you know all the basics. Everything is going the Object Orientated route anyway which will be a big plus for you. My advice would be to choose the right language to learn. Your opportunities will increase the more popular the language is. Your learning curve will be easier the closer to C# it is.

My guess is .NET is the way to go for you. I suspect there's a higher demand for PHP so I would encourage you to go that way, but it's a question of what you're comfortable with. A lot of people talk about Ruby, Rails, Python, and I'm sure they're all great, but I don't come across many people using them and I know I would not miss them on a potential employees CV.

you'll need to know about HTML,CSS, and Javascript (I recommend jQuery) but don't make them your priority. Frontend development is a full time job. CSS is the meat of front end development, but it's an uphill struggle that has no end in sight so unless UI design is something you're really into, I'd leave it to the specialists.

Then of course there's Flash and AS3. There's loads of work, clients love that stuff. But it's hard to get away form doing front end design when doing anything in Flash. It's a designer/developers world.

Good luck.

gargantaun