Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm a regular user here, but linking my screen name to my real identity is dirt simple, and the question I'm about to ask would lead to a very unpleasant conversation with my current employer were they to see it. So, my apologies for this sock-puppet account; I promise Socky and I won't be voting on each other's stuff, and Socky won't be doing much of anything other than voting on answers to his own questions.

I may have an opportunity to work with somebody I've worked with in the past. Short, extremely understated summary: It went well. This time he's looking to bring me on as a partner to a fledgling web venture. My job title isn't defined, but I'd basically be "the guy" in terms of the tech side of the company. One of the first things I'd be doing is fleshing out the current and future requirements of the site and determining the best way to meet them -- overhaul the existing site? Scrap the existing site entirely and replace it with something like Drupal? I'd also be tasked with making sure that the site is not only a pleasant user experience, but that it looks and feels like a modern, professional website.

One problem: I'm not qualified.

At least, not yet.

I wasn't really qualified for the last time we worked together, but I taught myself what I needed to know and ... like I said. It Went Well. However, I was a lower-level code wrangler that time around, and a lot of key decisions had already been made. I had more room for error and time to learn as I was going.

This outing, not so much. It's been a long damn time since I was completely up-to-date on web programming; my current gig has a healthy dash of web stuff, but the web interface isn't the main business and it's built on old technology. (Technology it honestly doesn't use particularly well.) I just don't spend a lot of time playing with new tech when I'm not at work; I generally spend that time on hobbies and passions I don't get paid to do.

But I want this to happen. And I want to do it right. So my question is: what resources would you recommend I use to both get myself up-to-date and stay up-to-date on professional-caliber web programming?

I know I need to beef-up my jQuery-fu; I've been exposed to it a little, and holy crap does it make hard jobs easy. I also know I need to acquaint myself with Drupal and other content management systems so that I can accurately gauge whether using one as the foundation for the site would be a good idea or a waste of time. But I'm certain there are other technologies out there that would help me do that job that I don't yet know anything about. What are some good resources for helping me figure out what I don't know?

Websites, magazines, podcasts, whatever. I need to figure out how to get back into the game properly.

This is scary as hell, but it also feels like it could be a huge step forward in my career. (Assuming it's not a step into a pool filled with laser sharks.) My thanks in advance for any assistance anybody can offer in curing my ignorance.

share|improve this question

marked as duplicate by gnat, MichaelT, Jimmy Hoffa, Jalayn, psr May 6 '13 at 17:39

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

    
Is it possible to assume the role of PM and outsource the grunt work to a web development company? –  Cape Cod Gunny Nov 7 '10 at 13:40
    

3 Answers 3

There is so much going on in web technology nowadays you can not possibly be up to speed with everything.

It is literally not possible for a single individual to know everything at the cutting edge of web development: HTML5, CSS3, the latest jQuery, pubsubhubbub, Node.js, Google APIs, Yahoo YUI stuff,whichever MVC framework you like, whichever javascript framework you like... are all in a constant state of rapid flux.

Repeat after me: You can not know it all.

Now, breath a sigh of relief, and learn the stuff you need to for the new project. You have done it before and you will do it again.

The secret is not in the knowing but the learning. To do that, read the web, listen to relevant podcasts, and start building prototypes. There is no better way to learn than starting the doing.

Aside: I personally don't generally bother with books. Web technology moves so fast now that by the time anything gets to print it will probably be, to some extent, out of date.

share|improve this answer
    
+1 for the statement about books: If they're not out of date, then they're likely not good either. It takes a certain amount of time for good writers to get up to speed with a technology and then write a book about it. –  Steve Evers Oct 29 '10 at 22:46
2  
I disagree a bit about the books. Look at Knuth, GoF, Effective Java and so on. Those books are about proven algorithms, patterns and idioms that stand the test of time. Books that just describe the current state of play of some framework, though, well they'll be pulp shortly enough. –  Gary Rowe Jul 3 '12 at 11:19

Don't lie about who you are and what you can do but consider that if your business partner knows the first thing about you and technology, then he has an idea of how much web development you have done.

The thing about our industry is that it changes very frequently and lots of things are new. This why, every other questions about 'what language should I learn next' invariably ends up being answered as 'whichever is different enough from what you know now' - so that you gain knowledge and not just mechanical skills.

So, what do you do? Here's what I do:

  • Independent research: look up the docs, wrap your head around it
  • Refer to authorities: look at my P.SE/SO history, I've been asking questions about WCF Silverlight and EF recently. I didn't have much experience with them but I've researched them, formed opinions and think I have some answers. Now I'm cross referencing what I think I know against what my peers/superiors know.
  • Practice: Use the technology to implement something you already know how to make using the technologies you already know. You're not trying to create anything, you're trying to figure out the intricacies of a technology: don't compound it with domain knowledge problems.

I want to drill this point home: If your business partner wanted a 10 year vet, he could go find one. He wanted you, and you are a technology specialist not a [language] user. Leverage that knowledge to attain the skills you need to complete the job. If you can't then be honest with your partner and yourself and turn it down.

btw: you can.

share|improve this answer
    
I'm with you, but you've kind of answered past my question. I don't know what docs to look up yet, because I haven't decided yet what technology I'll be using. I'm trying to get my knowledge updated enough that, once we've hashed-out the requirements for the site, I'm qualified to say "FooLog can probably handle about 75% of what we need, and I can customize the rest using BarPal." Once I'm committed to the technology, I'm back on comfortable footing; I know I can learn it. But I need to get my broad knowledge base to the point where I can intelligently choose that technology. –  Socky McSockerson Oct 29 '10 at 1:59

I recently got into Chrome extension development and not only making them is very interesting by itself, I feel that it improved my knowledge of the latest bells and whistles of web development (client side) quite a bit. It's basically 99% regular javascript+html+css and 1% chrome specific javascript api (you can also make C++ plugins if you want).

Why it is great:

  • You don't need to worry about hosting, and often design
  • All latest HTML5 toys and technologies are at your disposal
  • No need to worry about cross-browser compatibility (it's like heaven)
  • There are no cross domain limitations for javascript, you can read any remote webpage or a file and then process it in javascript, so basically javascript can do almost anything your server side script can in this sence (you can read and parse binary files if you want)
  • You can use jquery or any framework you like
  • Making something that other people find useful is satisfying. You also get instant feedback - rating, comments.

If you go to this page, they have a nice list of all current hot technologies that Chrome supports, so you can just go through the list and play with them.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.