What do people actually do, those ones who work with computers?
July 29, 2009 11:33 AM   Subscribe

Where can I find out more about the various types of jobs in web development/programming?

So I think I'd like to become one of those people who 'works with computers'. I'll need to go back to school, but first I need to find out more about possible career paths and the types of jobs that are out there. I've been talking to various friends and acquaintances about what they do, but haven't got very far in deciding. Got any tips on the current state of play in developer jobs? Where on earth can I find out about what kinds of things I actually want to learn?

I can't just show up at a training college and say, yeah, teach me all about.......well something, I don't know what exactly. Please hope me, AskMe!
posted by different to Computers & Internet (7 answers total) 6 users marked this as a favorite
 
This is sort of a broad question so I'm not sure quite where to go but here's some thoughts:

Jobs in "web development" run a gamut from very-programming-technical (like people that do Rails development) to a mix of design and technical (typical UI people) to very design-centric. There are a lot of development environments (Rails, PHP, Java, ASP.NET to name only a few) and some people specialize in one while other people do some of each. It's not really that difficult to understand them all if you're a developer but it can be a lot of work to learn all the libraries. Learning HTML, CSS and JavaScript is sort of orthogonal to all that although in some cases the frameworks hide all the client-side stuff. But anyways, there's the server side and the client side and then there's having actual design skills. The holy trinity of web development I guess.

The job market will vary a lot from place to place but there will always be jobs working with Microsoft technologies wherever you are I would expect.

I would not necessarily recommend that you actually pay someone a lot of money to get a Microsoft certification (MSPD or MSAD) but you'd more-or-less need to know everything they teach in those courses to work as a "web developer". There's the usual problem of not getting a job without experience and not getting experience without a job in this field - you'll need a plan to overcome that obstacle unless you're willing to take intern or student-type positions.

If you can afford the time and money, you may want to go back to basics and get an actual CS degree but that's a whole different kettle of fish from getting a vocational education in web development.
posted by GuyZero at 11:52 AM on July 29, 2009


Oh, some links: The Microsoft Certified Solution Developer Program for lack of a better benchmark of what you'd need to know to be a web dev. Simply getting this certification is unlikely to get you a job, but anyone who works as a web developer more-or-less knows this stuff. Most local community colleges will have a dept that deals with network admin and IT programming courses. Those are generally OK. To be honest, even the worst web developer at the lamest company that I've worked at had a university CS degree however at companies that are not software companies this is less true (e.g. banks, insurance companies, etc) - I've taught courses at companies to their web development staff and no one in the room had a formal CS education. But I have no clue how they actually got those jobs.
posted by GuyZero at 12:00 PM on July 29, 2009


I would look at job listings, keeping in mind that they always ask for more talent and skills than they get. That can give you a sense of what is out there, and it's a lot!

When it comes to web development, it used to be (and here I will begin to sound crusty) one person did almost all of it: writing a good chunk of the copy, making the images,, marking up HTML, installing and configuring the webserver, and so forth. As web technologies have exploded, we have more niches, and so more careers occupying those niches.

People have either specialized or become jacks (and jills) of all trades. Some people do nothing but layouts mocked-up in Photoshop, hopefully for someone else to transform into HTML and CSS. Some work in specialized sectors of web programming where none of their work either produces or consumes HTML — they're working on collecting data from one or more sources and transforming it to be consumed by one or more sinks; it's programming, for the web, but not of the web.

I went the "mile wide and an inch deep" route, so I end up putting together all of the above components occasionally. At any given time I'll be working with database servers for Windows or Linux, configuring webservers in IIS (or Apache, infrequently). I'll be writing Python, debugging PHP from legacy programs, figuring out what obscure permissions are needed for some web script to actually write useful HTML to your browser if you're using an account from another domain. I could be fixing someone's IE-unfriendly CSS. I could be figuring out why the SharePoint server stopped working. I might be moving data from legacy systems to an entirely new database structure from a different vendor. I could be giving advise on why our search engine isn't ranking your pages as being very relevant. I'm compressing video and delivering it via RTSP. The catch is that I am not particularly good at any of these.

So I guess my first question is, are you a generalist or do you like to drill down and master a given topic? That's one of the more important computer career questions you have to face. It's a tradeoff, and while some people can manage to be fantastic at several things at once, not many can.
posted by adipocere at 12:01 PM on July 29, 2009


Oh, checking your location in your profile - City College of San Franciso offers Associate's degrees in computer science or IT programming. I cannot vouch for anything beyond the simple existence of this program. Beyond that, there are a number of universities in the area that you can check out to see if you can get advanced standing for previous post-secondary education. If you can get into a CS program at a UC school that would be preferable.
posted by GuyZero at 12:04 PM on July 29, 2009


So I think I'd like to become one of those people who 'works with computers'.

Web developers and programmers make up only a small part of the spectrum of working-with-computers employment. There are many positions with extreme variance in working conditions, responsibilities, and technologies; you'll be a lot more successful if you pick one that is well-suited to you.

I'd look at Linkedin and see where people who have jobs you're interested in attended school. You'll probably find that, if your only concern is getting a job, you can get pretty far by combining a degree from a cheaper school like DeVry with some hard work. A CS degree from a UC is great, yes, and if you have a love for the specific subjects of study you should go for it, but if you only want employment there are many ways to get there.
posted by doteatop at 12:18 PM on July 29, 2009


Web development shops vary in size and number of roles. Depending on how big the place is, an employee may have one or more of the following roles:

Programmer. Writes the actual software. They need to be familiar with programming languages, object-oriented software design, and increasing amounts of Computer Science. Popular web languages today are PHP, Python and Javascript. They write programs that run on servers, and these programs send other programs to the client. This field is highly competitive, but webdesign is only a small fraction of what's available to qualified programmers. Pay usually scales with experience and education required.

Designer. Responsible for the layout and visual design of the website. Typically not well versed in programming or math, but may be required to write some HTML or templates. I think the .com crash really affected these people the most, since it's probably the easiest to master.

Database Administator. Most (but not all) websites run on an SQL database to store and retrieve data on disk. They're responsible for "tuning" the database for speed, because generally speaking, disk is a million times slower than RAM. Most of the no-brainer decisions are done out of box, leaving the DBA with tradeoffs to evaluate. Training wise, their main avenue is Oracle Certification. For some reason, companies hire Oracle Certified DBAs, who's main job is to recommend a system that's highly obtuse and arcane. Starting salaries are higher, but Oracle Certification isn't cheap.

System Administrator. Responsible for the parts of computer systems the development shop isn't creating, and usually responsible for integrating the parts the shop is creating with it. Due to the insecure nature of internet software (which the typical shop is actually contributing to), much of their duties revolves around testing and updating software. They're usually also responsible for configuring the web server.
They may also responsible for backups, hardware setup (look for "must be able to lift 50 pounds"), and networking. Pay varies according to the importance companies have for quality of service, and experience. For example, if you're working for a bank, preventing dataloss is imperative. Or if you're an ecommerce shop, downtime == money lost. Most likely to be "on call" and first in line to be woken up at 2am when something goes wrong.

I'd like to say that small companies and one-person shops specialize the least and make do without intimate knowledge of the various aspects, but I think it very quickly starts going the other way as the shop gets bigger -- multiple people in the same role to compensate for a lack of knowledge.

Personally, I think the programmer route is the most viable, but probably the hardest. The best programmers work to replace DBAs and designers. I'd add in system administrators, but they're working to replace themselves with tools like apt-get and puppet. In any case, a good candidate for any of these roles understands the basics of the others. For example a programmer needs to understand SQL, and installation scripts. Sysadmins need to know about database systems (especially backup procedures) and programming to fix things the development team depends on.

For example, Django somewhat obsoletes the DBA position, and reduces a programmer's need to know the ins and outs of SQL. Their basic mode of use is a programmer paired with a designer. It helps that their preferred system is PostgreSQL and not Oracle.
posted by pwnguin at 12:47 PM on July 29, 2009


Another works-with-computer job: I work with Geographic Information Systems at a public agency and my group handles the administration side of things so we deal with a variety of "techie" related things: We manage/work with databases, we program/code, we do tech support for people who have problems using the software, we create websites, we manage our servers, we work with other units to provide solutions to them using GIS technology. It's pretty much being able to do every one else does, but with a GIS flavor to it.

More schools now offer GIS certificates and programs if you're interested in it, but I also strongly encourage getting some database/programming/web stuff if you want to rise above an entry-level position.

The economy is not helpful to the job market here in the public sector, but I don't see the need for spatial data and those who can work with it disappearing any time soon.
posted by Seboshin at 4:17 PM on July 29, 2009


« Older Help me find the beautiful dancing napkin video!   |   Do you know this mellow song? A piece of the lyric... Newer »
This thread is closed to new comments.