Looking for new skillz (turning the blog around)…

Just for giggles, I went looking at the various job listings within Microsoft and outside Microsoft (no, I’m not going anywhere, I was just curious).  While looking, I realized that I had absolutely no marketable skills :).  Nobody seems to be hiring an OS developer these days.

To repeat and be even more clear: I’m *not* leaving Microsoft.  I’m *not* leaving Windows. 

I’m just looking for a book or two to read to improve my skills (I do this regularly – most of my recent reading has either been on Security or WPF and to be honest, I’m kinda bored of those topics so I’m interested in branching out beyond security and UI topics)…

I could run out and browse the bookstores (and I might just do that) but I figured “Hey, I’ve got a blog, why don’t I ask the folks who read my blog?”.  So let me turn the blog around and ask:

If I wanted to go out and learn web development, which books should I read? 

I’ve already read “Javascript: The ood Parts” and it was fascinating but it was more of a language book (and a very good language book), but it’s not a web development book.  So what books should I read to learn web development?

Comments

  • Anonymous
    October 20, 2009
    The comment has been removed

  • Anonymous
    October 20, 2009
    The comment has been removed

  • Anonymous
    October 20, 2009
    jQuery is a great tool for manipulating webpages. Book: jQuery In Action

  • Anonymous
    October 20, 2009
    "Design of Sites" is good, but it's not code per se.

  • Anonymous
    October 20, 2009
    Great suggestion from Zian - jQuery in Action is superb. Also check out Douglas Crockford's [Javascript: The Good Parts](http://oreilly.com/catalog/9780596517748) .. it gave me an entirely new appreciation of the language.

  • Anonymous
    October 20, 2009
    I'd say a book about Silverlight. There are many good ones, and Silverlight is great stuff.

  • Anonymous
    October 20, 2009
    Gah! Perhaps I should have read your entire post. Another book I enjoyed was Pragmatic Ajax (http://www.pragprog.com/titles/ajax/pragmatic-ajax), co-authored by the chaps that started ajaxian.com (which also is an excellent resource for client side development). Now that I think about it, all of The Pragmatic Programmers have been consistently worthwhile.

  • Anonymous
    October 20, 2009
    If you are not particular about web development, learning SSIS would be a pleasant experience.

  • Anonymous
    October 20, 2009
    The comment has been removed

  • Anonymous
    October 20, 2009
    As already said - jQuery is excellent. I'd be tempted by either of the books by jQuery's developer, John Resig, even though they aren't about jQuery (as already mentioned, jQuery In Action is a good book for jQuery). Or why not have a look at alternate server-side technologies, like Django, Rails or TurboGears? It'd certainly be a significant departure from ASP.NET :-) Or with F# entering the Visual Studio mainstream, maybe you could dip a toe into functional water? Real-World Haskell (pub. by O'Reilly) or Joe Armstrong's Erlang book (pub. by Pragmatic Programmers)?

  • Anonymous
    October 20, 2009
    +1 for jQuery, it's probably the most fun you'll have with Javascript. Diving into its internals to get a feel for how challenging cross-browser development is (if you're not already familiar with the pain) is also a nice pastime.

  • Anonymous
    October 20, 2009
    Thomas: While I agree that Silverlight is excellent, I'm looking for something that will teach me HTML+CSS+JavaScript programming.  

  • Anonymous
    October 20, 2009
    I’ve already read “Javascript: The ood Parts” ... http://en.wikipedia.org/wiki/Ood Are you implying that Javascript programmers are Squid-faced humanoids?

  • Anonymous
    October 21, 2009
    The comment has been removed

  • Anonymous
    October 21, 2009
    What Karellen said. I can't recommend any book, but when I was doing web development I made a habit of reading the relevant standards: http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf http://www.w3.org/Style/CSS/ http://www.w3.org/TR/html4 http://www.w3.org/CGI/ With that basic knowledge under my belt, I was able to better understand what the various server engines/libraries I used were actually trying to do.

  • Anonymous
    October 21, 2009
    You can feel the pain in Karellen's post :-) But web dev can be fun! Choose some cool software stack built upon a cool language and you won't be disappointed. I suggest django, because rails is so not cool, mainstream nowadays.

  • Anonymous
    October 21, 2009
    The Django Book is free? http://www.djangobook.com/

  • Anonymous
    October 21, 2009
    Why not Android? Just skim through "Application fundamentals" in their Developer's Guide and get an overview of their super-cool model of activites, services, content providers, broadcasts and intents: http://d.android.com/guide/topics/fundamentals.html Even if you do not want to develop any Android application, it can be very refreshing to learn their concept, which is quite different from other platforms (UNIX, Windows xyz (server, desktop, mobile), OS X, ...). Actually I find some similarities with the good, old "ActiveX Documents" concept of Windows, but they kind of generalize documents. Unfortunately I do not know yet any good book on Android to recommend you to read...

  • Anonymous
    October 21, 2009
    The comment has been removed

  • Anonymous
    October 21, 2009
    Does Android run on PCs?  I thought it was an OS for mobile devices.

  • Anonymous
    October 21, 2009
    Dear Larry, Please don't switch to the JavaScript camp! What a waste of genius would that be. Literally anybody can program in JS after some weeks. What the world really needs are the few remaining kernel hackers, the Russinovichs and Ostermans. The true heros who still can read and optimize assembly code and create the basis for a fascinating whole like Windows 7. We need guys who care about reducing latency in the audio stack, even it's just 1 ms. I don't want to see Dave Cutler write JS code, I don't want to see Raymond Chen blog about .NET, and I don't want to see Larry Osterman write in a language that shields him from using pointers. With deepest respect and admiration! Roland, a nostalgic German software engineer

  • Anonymous
    October 21, 2009
    > Does Android run on PCs?  I thought it was an OS for mobile devices Yes it does - http://www.android-x86.org/ ! Get the ISO image and use it under VPC if you like - http://android-x86.googlecode.com/files/android-x86-20090916.iso .

  • Anonymous
    October 21, 2009
    LarryFan: Let me rephrase: Where's the Windows port of Android?  How do I build and run an android application for Windows?   One other question: How does learning about Android help me learn HTML+CSS+JavaScript programming?  

  • Anonymous
    October 21, 2009
    Larry: Just to make sure - I was answering your specific question - does Android run on PCs. However using Android or Palm's Mojo SDK (runs on Windows) are two great choices to experiment with HTML/CSS/JavaScript as you can build interesting stuff using the environment and that in my opinion makes things a lot interesting than they otherwise would be if you were to experiment with HTML/CSS/JS on the browser. I would advise not going the book route - and instead using the ton of freely available resources on the web - google^W bing for it and learn the basics and then advance by looking at existing code and by experimenting building apps in HTML/JS/CSS on one of those cool devices or emulators. You will learn a lot faster! But for CSS check out Eric Meyer's work - http://meyerweb.com/eric/css/ What did I just hand over advice to you Larry?!  

  • Anonymous
    October 21, 2009
    Larry, if you ever DO go looking, BAE Systems might be looking for OS types, to help continue developing STOP.  It's not at all Windows-y, and it's on the east coast, but . . . . -Dave

  • Anonymous
    October 21, 2009
    Roland is right -- any idiot can program in Javascript (for various values of "program"), and many do. That said, though, it would help your roundedness to learn it (and HTML and CSS and so on).  As Heinlein said, "Specialization is for insects."  (My all-time favorite quote.)

  • Anonymous
    October 21, 2009
    LarryFan: My question should have been "Do Android apps run on Windows?".   As I said in the article, if it's not HTML+CSS+JavaScript, I'm simply not interested (jquery absolutely falls into the HTML+CSS+JavaScript world and I appreciate the suggestions).  I don't see a ton of job listings for Android developers but I do see job listings for web developers.

  • Anonymous
    October 21, 2009
    Oh and LarryFan: Me getting suggestions from the people who read the blog is the whole point behind the "Turning the blog around" theme).

  • Anonymous
    October 21, 2009
    Dave: Exactly - if I don't keep on learning new things, my skills ossify.  It's important for my job that I keep up-to-date with at least some level of the industry and it's clear that a lot of client side development is being done in HTML+CSS+JavaScript.  That's why I chose them for my next toy project.

  • Anonymous
    October 21, 2009
    Any idiot can use Javascript. The problem is that they often do.  :) Anyway, Javascript is sufficiently different to most languages used on the desktop that it can't hurt to at least learn a bit about it even if you don't end up using it. Another thought: google's V8 is pretty neat, and is "just Javascript" instead of "javascript plus web browser stuff". Aside from being interesting for doing Javascript on the desktop, a bit of playing with it could help with learning how the actual language itself works. A lot of Javascript stuff seems to focus on "how to use Javascript on the web" rather than just "how to use Javascript". Obviously that side is important, though. But still, I find a lot of javascript tutorials just assume the DOM manipulation stuff is there and don't explain the magic of how it gets there. Personally I find that sort of stuff important to understand. As always, wikipedia is your friend: http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks If you want to do all the web stuff in one big hit, pick a framework, any framework will do, learn to use it. Then once you know what you're doing, you'll be able to evaluate frameworks to use for real. But jQuery is still a decent choice.  :) Also, A List Apart seems, to me, to be a decent website site - plenty of CSS and HTML goodness. The CSS Zen Garden is cool, too: http://www.csszengarden.com/http://www.alistapart.com/ One page of text, large numbers of completely different CSS files to change the presentation completely. While its more extreme than most "real" sites, it has to be worth a look.

  • Anonymous
    October 21, 2009
    The comment has been removed

  • Anonymous
    October 21, 2009
    Larry Osterman learning web development? Where is this world going? I guess it is good to stay up to date with new technologies, but do you consider doing web development with your experience and skill set? For web development - check out http://www.w3schools.com/ - they have nice html, css and javascript tutorials for beginners. Also check out http://msdn.microsoft.com, section web development - it is the ultimative reference when doing web dev.

  • Anonymous
    October 22, 2009
    The O'Reilly "Definitive Guide" books on HTML, CSS, and JavaScript are dated but still good reads. Eric Meyer. CSS: The Definitive Guide (3rd Edition, 2006). Danny Goodman. Dynamic HTML: The Definitive Guide (3rd Edition, 2006). David Flanagan. JavaScript: The Definitive Guide (5th Edition, 2006).

  • Anonymous
    October 22, 2009
    Any idiot can program in Javascript like any idiot can in C. C is challenging...like any other language.

  • Anonymous
    October 23, 2009
    I must take issue with Roland regarding JavaScript. Sure, anyone can pick it up in no time; that's true of any language. Using JavaScript correctly, however, takes quite a bit of learning. You mentioned reading "JavaScript: The Good Parts," so you're already WAY ahead of most JavaScript coders. Check out Crockford's web site as well. Too many people regard JavaScript as an underpowered little scripting language, when it's actually incredibly powerful when you learn what it's actually capable of. I use it to write full-fledged apps away from the web.

  • Anonymous
    October 23, 2009
    RESTful Web Services Web services for the real world By Leonard Richardson and Sam Ruby You've built web sites that can be used by humans. But can you also build web sites that are usable by machines? That's where the future lies, and that's what this book shows you how to do. Today's web service technologies have lost sight of the simplicity that made the Web successful. This book explains how to put the "Web" back into web services with REST, the architectural style that drives the Web. http://oreilly.com/catalog/9780596529260/

  • Anonymous
    November 14, 2009
    The comment has been removed

  • Anonymous
    November 24, 2009
    The comment has been removed

  • Anonymous
    November 24, 2009
    The comment has been removed

  • Anonymous
    November 26, 2009
    The comment has been removed

  • Anonymous
    January 04, 2010
    The comment has been removed

  • Anonymous
    January 12, 2010
    The comment has been removed