How to keep myself on the cutting edge...
March 23, 2006 10:56 AM   Subscribe

How can I put myself on the cutting edge of the Internet and interactive media? -or- What's the future of the Internet?

After soul searching, I returned to school to focus on interactive media. When the additional two years of classes are done, I would like to be better positioned than other graduates to get a job.

I already have a background in video, and what I'm looking to do is specialize in helping combine video, audio and the internet. I'm studying web design, more video, animation, and sound, but I'm looking for specific technologies to learn that will put me ahead of the curve. For example, in video, the future is HD. What will be the most useful to know for web design? (I'm currently studying Javascript, DHTML, Flash, Actionscript, and then Ajax).

I also understand that knowing how to learn a new language or technique is as important as already knowing the techniques.
posted by drezdn to Media & Arts (9 answers total)
 
This is kind of abstract, but each year the web becomes less and less confined to "the box that sits on your desk" (your computer). There is a generation of people who rely on Google and web-based information for EVERYTHING (myself included). In two years, people will be wanting access to this type of information at any time, anywhere (think about the popularity of crackberries). Learning to develop web content for truly portable devices will be a good investment.

AJAX is great, but you need server-side code to make it actually do anything. I like PHP/MySQL which is extremely popular and has the benefit of being free.
posted by CaptApollo at 11:07 AM on March 23, 2006


You should understand there are separate/distinct disciplines within the field of Web development. Here are a few, off the top of my head:

* Designing Web pages (e.g., Photoshop work)
* Coding the design of Web pages (HTML/CSS)
* Client-side development (JavaScript)
* Flash
* Server-side development (Python, PHP, etc.)
* Databases (PostgreSQL, MySQL, Oracle, etc.)

This is by no means a definitive list, and it's no doubt biased toward my personal experience doing Web development.

I know of places in which these "disciplines" are performed by different teams, and places in which there's a lot of overlap. Personally, I think you should have a working knowledge of all aspects of Web development but focus on being an expert in a couple of them. The more aspects you're familiar with, the more marketable you are.
posted by adrian_h at 11:40 AM on March 23, 2006 [1 favorite]


The basic database stuff is pretty easy. They actually have a book "teach yourself SQL in 24 hours" and that's about right.

A really, really good thing to learn is server management. If you don't know how to setup and maintain servers you'd need to hire someone to do that for you, or you won't know what you can and can't do.
posted by delmoi at 12:00 PM on March 23, 2006


Actually you can think of web design and deployment sort of like a "stack"

At the first level you have the Operating system, which can be Linux, Windows or OSX. For server, those OS's are pretty much completely interchangeable, but most server stuff is written on Linux, so a strong Linux background will be helpful. All implement POSIX and Linux and OSX are both "Unix". It's really best to know Linux IMO.

At the second level you have, sitting on the OS, you have the Database server and the web server. For a database you might use MySQL or Postgres, and for a web server you'd use Apache. There's really no reason to use anything other then apache other then for fun

Above that (what I'm calling the third level) you have your server side scripting. PHP, Perl Scripts, JSP, Ruby on Rails, all kinds of different things are out there, and they're all designed to do the same thing, let you write programs that take input from the user, and send stuff back to the user, as HTML or XML. This can be done either by talking with the Database, with another program running on the OS, or by itself

Then, finally, you have the client's browser, hopefully with JavaScript enabled. Flash also works at this level, it's something on the client site. You can write your interface entirely in HTML, or mix HTML and Flash, or go flash only. Macromedia shockwave also takes place at this level, as does Java applets.

You really want to lean all of these levels if you want to be able to do everything.

Video is a good example of something that's going to require tweaks throughout the entire stack to work, since there's no real standard way of serving video. You'll need to install a streaming server on the OS level, configure Apache to send the data (or use another port and bypass apache) and get the client to ether install another client program, or get the video to play in flash.

If I were you, I'd concentrate on learning the 'stack' first, and then add flash, since flash is sort of an 'option' on the side of everything else.
posted by delmoi at 12:10 PM on March 23, 2006


Just start making sites and projects and taking on jobs to make websites and anything else. Say yes yes yes to anything that comes along. After a couple years of hard work you'll be almost okay at it and you'll land a good job. You never stop learning. There's always too much to know and it keeps changing. Just work hard and produce.

/worked for me
posted by letterneversent at 12:28 PM on March 23, 2006


It's probably worth pointing out that two years is a very long time in Internet terms. It's quite possible that what your college teaches you will be out of date before you even step into the class, and there's really no way around that.

Similarly, anything we could tell you right now about the web/technology might well look like nonsense a year from now.

Couple of examples:
  • when the iPod came out, most people hardly noticed, and a lot of those who did thought it would be a complete failure -- now it's hard to imagine what we did without them;
  • people have been spending billions of dollars developing video cellphone calls, which the customer is lukewarm about, while other people have been making billions from downloading annoying ring-tones based on pop songs. If you'd told people only five years ago that vast fortunes were to be made from tinny little twenty-second MIDI renditions of rap tunes, they'd have called you crazy, but there it is.
The future of video may be HD, but "the future of video" is much much less of a moving target because big companies decide these kind of things and there's a lot of inertia in terms of the installed base of players, disk formats and so on. The platform is decided by the powers that be. But on the web, someone could launch a new form of video on Monday and we all be watching it on Tuesday. The platform is already there and anybody can adapt it.

So keeping up with technology yourself is the only way. Read Slashdot and Digg and other technology related sites, I suppose, and BoingBoing and TechDirt and Gizmodo and anything else that's tech-related.
posted by AmbroseChapel at 3:13 PM on March 23, 2006


I disagree about learning "server management." Basic system administration is good to know, but the web hosting industry is extremely competitive. For a lot of projects, you're much better off just paying someone else to worry about keeping the servers up and running. Just as you are usually better off letting someone else worrying about routing tables, TCP/IP stacks, operating systems and the like.

It is worth gaining an understanding of how to architect things that can be easily deployed and scaled in commodity hosting environments and how the various layers work and interact, but learning the whole stack is folly.

A decade ago you could actually launch a strong career by knowing how to set up a high speed internet connection and keep a half dozen web and database servers and running. These days, both of those things are nearly commodities. The same progression is happening with other Internet technologies.

Part of your challenge is going to be avoiding overinvesting in learning about things that other people can do cheaper and more easily than you can. The other part is knowing when you have a strategic need to keep that sort of infrastructure "in house."
posted by Good Brain at 4:36 PM on March 23, 2006


The basic database stuff is pretty easy.

I'm going to go ahead and call bullshit on that. Basic database stuff may be easy, but actual database administration (DBA) is a) very hard b) requires a great deal of abstract thinking and intelligence c) requires a great deal of technical, computer science, and math expertise and c) isn't going anywhere soon.

If you want to be just another webdev head, one of a teeming multitude, by all means go ahead and learn JavaScript. If you truly want to be on the cutting edge, then DBA, data modelling, structures, and algorithms are the things to learn. What makes Google king? One thing: their databases are the best in the world. Whom are the people trying to catch Google hiring? Database engineers. What do del.icio.us and flickr and wikipedia and just about every other "cutting edge" "web 2.0" sites all have in common? Great databases.
posted by ChasFile at 6:09 PM on March 23, 2006


I disagree about learning "server management." Basic system administration is good to know, but the web hosting industry is extremely competitive. For a lot of projects, you're much better off just paying someone else to worry about keeping the servers up and running.

Well, try finding a hosting provider that has an integrated video serving system. Yeah, you can find providers, but if you don't know the stuff you're not even going to know what it is you need to get.

I'm going to go ahead and call bullshit on that. Basic database stuff may be easy, but actual database administration (DBA) is a) very hard b) requires a great deal of abstract thinking and intelligence c) requires a great deal of technical, computer science, and math expertise and c) isn't going anywhere soon.

Well, I agree with b and the second c. The first c, not so much. Technical expertise? Where? Comp sci? Maybe for thinking about how the queries are implemented and what they can (and can't) do. Math? Nothing more then discrete math, no calculous or algebra. a) Not at all creating databases is about the easiest thing to do in CS.
posted by delmoi at 9:15 PM on March 23, 2006


« Older Stretchy graph problem   |   Delay a task in Windows? Newer »
This thread is closed to new comments.