10

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.

  • Is it possible to assume the role of PM and outsource the grunt work to a web development company? – Michael Riley - AKA Gunny Nov 07 '10 at 13:40
  • possible duplicate of [How does one keep up with all the new tools/languages/framework?](http://programmers.stackexchange.com/questions/56848/how-does-one-keep-up-with-all-the-new-tools-languages-framework) and of [What should every programmer know about web development?](http://programmers.stackexchange.com/questions/46716/what-should-every-programmer-know-about-web-development) – gnat May 06 '13 at 06:10

3 Answers3

6

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.

DanSingerman
  • 1,681
  • 3
  • 15
  • 14
  • +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. – Steven 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 Jul 03 '12 at 11:19
5

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.

Steven Evers
  • 28,200
  • 10
  • 75
  • 159
  • 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 01:59
0

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.

serg
  • 2,097
  • 3
  • 17
  • 22