Skip

Should I gon into web design or web programming?
March 20, 2008 10:29 AM   Subscribe

Should I go into web design or web programming?

I want to go into the "web business" and would like a focus. I already program a little (PHP, MYSQL), but I wonder if there are more jobs in the design (i.e., graphical, structural) aspect. I'm afraid I couldn't be the master of both in the short or even medium term, so I am looking for advice as to where there are more jobs.

I've been told that it is more unlikely to outsource the graphical design aspect. But I don't know if this is true or not.

By the way, I have very little experience in either aspect, outside of hobbyist projects.
posted by zorro astor to Computers & Internet (26 answers total) 15 users marked this as a favorite
 
Which of these sounds more intriguing:

* object literal
* vertical rhythm

Seriously, though, unless you really have a passion for color contrast, typography, rounded corners and the like, I'd encourage you to lean toward back-end programming.
posted by bryanjbusch at 10:38 AM on March 20, 2008


In my experience there are far more jobs in the programming side of things. And contrary to what you've been told, it's also been my experience that the graphic design people are the first to go when times get tough.

But in general, I would think that you wouldn't have to necessarily focus entirely one or the other. I frequently see ads for companies wanting programmers that can do a little design (though you don't see the reverse too often).

So I guess my advice is to present yourself as a programmer with design skills. People with skills in multiple areas are always attractive to employers.
posted by yalestar at 10:40 AM on March 20, 2008


Also, designers (especially freelance) typically have to suffer nitpicky clients much more than coders do. Something to keep in mind if you have a personality that doesn't tolerate a lot of inconclusive criticism.
posted by yalestar at 10:42 AM on March 20, 2008


Well, you should do the one you enjoy more. But, for the sake of argument, let's say you enjoy them equally.

I've done them both, and here's one important difference: everyone thinks they know how to do graphic design. Every human being who looks at your design work will have something they think can improve it, and these suggestions will run from the helpful to the inane, but will be heavily weighed on the inane side. You will constantly have to tell people that no, making the logo 3-D and rotating will not improve the look of the site, and sometimes you'll have to make the logo rotate in 3-D anyway, because they're paying you to.

Programming, on the other hand, most people don't even want to look at. They'll have advice on the output, like "Can you make it sort by last name instead of first name?" but you'll have a lot fewer people, if any, saying "Well, I really think that function should take fewer arguments" or "Don't you think a floating-point variable would make more sense than an integer there?"

Maybe that will help you decide.
posted by L. Fitzgerald Sjoberg at 10:43 AM on March 20, 2008 [10 favorites]


Echoing Sjoberg - do what you love to do, not what pays the most or has the most opportunities. Life's too short. Also, doing what you love to do means that you do the 2am must-be-done-the-next-day jobs (which occur in both fields) with passion, not solely because you have to.

That being said: if you're skilled, both jobs can be equally lucrative, with a slight edge to programming (again, because of what Sjoberg pointed out). And if you're interested in being a freelancer or working for a small business, you can be both.
posted by Bora Horza Gobuchul at 11:05 AM on March 20, 2008


The biggest problem with design, as a lot of people have said, is dealing with the nitpicky types who always wanna change things, and refuse to make up their mind (a problem that has been going on a lot where I work currently).

Note also that as a designer, or at least someone who will be doing more front-end work, you will be required to also take on challenges like cross-browser compatibility (ensuring everything looks the same between all browsers) and accessibility. Both are extremely detail oriented, and can be exceptionally annoying and make you want to pull your hair out.... for very little recognition.

Regarding not being able to outsource the graphical side of a site, I would caution against looking at it that way. At a job, we actually outsourced the entire design of the site, and then the designers here were tasked to create the assets this other company designed, and other smaller aspects.. but the actual look and feel was mostly done by an outside company. And we have like 4 designers.

Some people were less than happy.
posted by tittergrrl at 11:21 AM on March 20, 2008


And yes, once you get into the business, it's fairly easy to work both sides of the fence, and I would actually encourage you do... makes you understand the business better on both ends, which can really help from a consultancy standpoint. It will also make it easier for you to work with others from both groups.
posted by tittergrrl at 11:22 AM on March 20, 2008


nthing the joys of nitpicky clients on the design side.

There's no reason to feel like you should specialise on one side unless you think it necessary for your own (commercial and technical) benefit. The old-school webmaster did everything, because that's just what you had to do: having those broad-based skills -- knowing the right backend, having a grasp of good UI practices, the learned intuition of how a particular site ought to look and feel -- can be useful in certain environments where site development hasn't been dissected into job titles and distinctive tasks. After all, you do see ridiculous job ads that set out MySQL and Photoshop, Flash and PHP as the basic requirements, almost certainly copied and pasted from some other job ad.
posted by holgate at 11:26 AM on March 20, 2008


Speaking personally, I think you should verse yourself in both aspects.
Anymore, the "web designer" jobs I see posted are requiring a butt-load of coding experience on top of the design chops. Employers seem to be going for an all-in-one solution. Personally, I think it's a mistake, but...oh well.
posted by Thorzdad at 11:34 AM on March 20, 2008


I disagree with a lot of the above posters.

Clients completely change their mind about features, sometimes deciding to add in entire suites of features (user management and moderation on a photography site that previously had anon submissions, etc.) after you complete the site functionality.

The real question is would you rather redo the homepage layout in 35 different styles, or code 35 different websites? Also, whatever you choose, be sure to write in the kinds of things which require a change order.
posted by shownomercy at 11:45 AM on March 20, 2008


PS Don't take "Designer who can code" jobs, you will get dicked for pay. "Coder who can design" is much saner
posted by shownomercy at 11:49 AM on March 20, 2008 [2 favorites]


All these answers are so good that I fear I will not be able to mark one as best.
posted by zorro astor at 11:57 AM on March 20, 2008


If programming is fun to you and makes you happy, get good at it. If you're just going in it for the money, you'll end up making yourself miserable in the long run and you'll never get good at it. Do what makes the day go by fast and excites you. If it's design, you can get good at that and be in high demand and make the money just because you're happier doing it.

Since I have a feeling you'll go programming, here's some advice. If you're just getting into it, you have a lot to learn. Get an entry level job, find the programmer that knows it all, and soak up as much knowledge as you can. It's more than knowing a little PHP and MySQL. If you want to make top dollar and find a good job, you'll a breadth of knowledge on which to draw. (network security, tcp/ip, server management and security, javascript, usability, database normalization... to name a few)

Good programmers who understand site usability and design are priceless. Also, it's incredibly important to hone your interpersonal and communication skills, whether you're in an organization or working freelance. You'll have to be able to take technical topics and make them palatable for the non-technical person on a regular basis.

And you'll have to write functional specifications when you start and documentation when you're done, so writing skills are also incredibly important.
posted by kat at 12:08 PM on March 20, 2008 [2 favorites]


I've never met anyone who truly excels at both development and design so my suggestion would be to find out what you're best at and do that.

That said, every side has its pros and cons.

Its a lot easier to get by as a mediocre coder than a mediocre designer, at the end of the day, the code has to work and that's pretty much it, it can be a mess of unmanageable code spaghetti, the client wont care. If your design is a bit rough around the edges or rushed it shows. On the flip side of that - your portfolio is much easier as a designer - you don't even need live examples if you're just concentrating on the graphics stuff - so you don't need to worry about clients messing with your design after you've done. Code portfolio is a lot more difficult to show off - often a potential client will be put off if the live site has a poor design, no matter how spectacular the code is. You can have the most beautifully written code in the world but the client can't see that and if they could they probably wouldn't appreciate it. Quality design is much more obvious/accessible.

Clients often want a lot more input on your design than they would on code and because design is more accessible than code, most clients know enough to be dangerous (make the logo bigger etc or they've seen a site with an animated background - can we do that?) whereas with code they have no clue (if you're lucky)

Design is also very subjective, coders don't have to worry about clients giving feedback like 'hmm, I don't like it... but I'm not sure why', they don't have to rewrite a whole application because the client just didn't like it.

PHP coders are 10 a penny, great designers are like gold dust. Sure, most of those php coders are rubbish but they can make it work eventually all that's all the client sees (that and the invoice)

Hopefully that's given you something to think about...


on preview:
I disagree with a lot of the above posters.

Clients completely change their mind about features, sometimes deciding to add in entire suites of features (user management and moderation on a photography site that previously had anon submissions, etc.) after you complete the site functionality.

The real question is would you rather redo the homepage layout in 35 different styles, or code 35 different websites?


A good coder would have no problems with extra features or less features and certainly wouldn't require recoding the entire site every time the client changed their mind. Plus extra features are chargable. Whereas a designer usually has to come up with at least 3 complete layouts that may have little to no reusable assets.
posted by missmagenta at 12:09 PM on March 20, 2008


missmagenta:

You're right, a good coder will write code that is modular and does not require a lot of rewriting to make a minor change.

However, I don't think that minor changes were what was being referred to. The issue is the client "remembers something" or "thinks of something new" late into the process.

If you don't have a spine and didn't put change requests into the contract, you're going to end up working for minimum wage or less hourly.
posted by qvtqht at 12:28 PM on March 20, 2008


[a few comments removed - rephrase your answers without calling people names please, thank you]
posted by jessamyn at 12:50 PM on March 20, 2008


Just from the responses here it looks like it's going to be programming for me. One other question. I am currently unemployed, but I have enough money to last for about 6 months, and much longer if I get a bullshit job on the side. Would I have any problem working for free at home for, say, a few hundred hours of labor in order to get some 'official experience'? Think of it as an internship?
posted by zorro astor at 12:51 PM on March 20, 2008


I didn't call anyone any names.

I was just telling mismagenta that it is ignorant to suggest that design takes longer than programming work.


It happens so often it's like project managers and designers are on a campaign to convince the world that what they do takes longer than coding. It just isn't true. They try to tout the nuveau languages as proof that programming is rapid, which is a joke since so many of these new web languages are DOA at best.

I just wanted to point out that this misconception just opens the door for terrible design and poor workmanship. It has nothing to do with differences in careers. That mindset has to do with laziness and dishonesty.
posted by judge.mentok.the.mindtaker at 1:00 PM on March 20, 2008


Zorro: What you may wanna think about doing first is getting decent at JavaScript as that language isn't going anywhere, and is a key part of design and will give you good skills to step up to other programming languages that are used behind the scenes as it has object oriented aspects. Plus, since JavaScript often dovetails nicely with css and dhtml work, it might start getting you some work on front-end.

I'd also get familiar with scriptaculous and prototype, which (at least for us) are used a lot for the AJAX stuff the kids are all gaga over these days. ;) Some jobs these days are looking specifically for experience using these two frameworks.
posted by tittergrrl at 1:09 PM on March 20, 2008


Ack, one more thing... learning about css will also help if you decide to go into more design work to help navigate the shoals of browser compatibility issues, which helps EVERYONE.
posted by tittergrrl at 1:10 PM on March 20, 2008


PHP coders are 10 a penny, great designers are like gold dust. Sure, most of those php coders are rubbish but they can make it work eventually all that's all (sic) the client sees (that and the invoice).

This is wisdom. I would like to expand.

Like all creative pursuits, it is incredibly difficult to be objective about your output if you simply design websites. History is littered with artists and designers who were absolutely confident that what they created was genius. They thought that all others are fools and simply don't appreciate them. The problem of course is that occasionally there truly is a genius, and the world has yet to catch up. We all think we are that genius.

A superior designer will create things that will create eureka moments. Once a client sees something that they never expected nor anticipated but realize is exactly what they needed, oh my goodness, that is an amazing moment. If you can nail this consistently, you will do very well.

As a designer, you will not make what you feel is good. You will balance your client's tastes and prejudices against your theoretically better tastes and prejudices. Everyone, absolutely everyone, feels qualified to judge design. Far fewer feel qualified to judge development and programming.

Coding is not like this. The superior developer derives satisfaction from the quality of the code itself, something the client is unlikely to ever see. If it works, most clients are happy. There are superstar developers, sure, but their skills are often not so apparent unless they work in a larger company with other coders.
posted by nedpwolf at 1:10 PM on March 20, 2008


Coding is not like this. The superior developer derives satisfaction from the quality of the code itself, something the client is unlikely to ever see. If it works, most clients are happy. There are superstar developers, sure, but their skills are often not so apparent unless they work in a larger company with other coders.

Again. It's not coding vs design itself. It's the droves of unintelligent uncreative hackers posing as professionals that produce this notion.

Those "superstar coders" you speak of, are likely just "actual programmers". There are way more of them than you think, but they generally don't speak out because they know how irrelevant the opinion of designers and technical architects are.. completely not based in reality as they are.

If you think there's no creativity in coding, it's because you are an uncreative coder, or have only been exposed to things like .NET or Ruby which are not languages so much as they are large API's (collections of tinker toys and widgets) and are basically designed to quash creativity.
posted by judge.mentok.the.mindtaker at 1:47 PM on March 20, 2008


Those "superstar coders" you speak of, are likely just "actual programmers". There are way more of them than you think, but they generally don't speak out because they know how irrelevant the opinion of designers and technical architects are.. completely not based in reality as they are.

Well.... it's a stretch to label designers and technical architects as "not based in reality", but I do, I really do, understand where you're coming from.

Programming and design are two very different skillsets and talents that are related only by the coincidence of technology. The web (like film before, like architecture before...) has created the opportunity for some individuals with both aesthetic and mathematic talents to express themselves in the same medium.

I am fully aware of how many talented programmers there are. There are far fewer of them than you think.
posted by nedpwolf at 3:09 PM on March 20, 2008 [2 favorites]


Would I have any problem working for free at home for, say, a few hundred hours of labor in order to get some 'official experience'? Think of it as an internship?

Working at home for free is super easy. Contribute to an open source project or four.

Start by finding one that's reasonably mature, has solid development practices in place (version control, bug tracking etc) pick some low priority bug and fix it. Read the existing documentation then try doing something by following it and help improve it so other people of your initial skill level can get up to speed with less pain.

Subscribe to the core development mailing lists, lurk in irc, read the forums. Stay quiet for the first little while then start participating.

Great projects to join would be web framework ones. I'm partial to Zend Framework because I use it a lot for work and it's fairly well-run but there's a ton out there and they can all use another engaged person.

As you start to get comfortable, look around for an interesting project just starting out, or even better start one yourself to scratch an itch. Maybe a new module for something big. Go through the process of getting setup at Google Code or Sourceforge or whereever you prefer.

Dipping into open source code is a fantastic way to see some great code and some outstandingly horrible code that still gets the job done. It's good to see how other developers are writing code and learning some of the quirks of the language and common solutions, workarounds and complaints.

Being a recognized contributor to a reasonably popular project is a pretty nice addition to any resume. It might even lead you to some contracts or a full-time position.
posted by cCranium at 3:52 PM on March 20, 2008 [2 favorites]


That, sir, is the best answer! Thank you very much. Oh, everyone was very helpful.
posted by zorro astor at 4:30 PM on March 20, 2008


Building on what cCranium wrote, I'd like to suggest an open source project to get involved in — Drupal. I've worked with lots of open source web software, including Joomla, WordPress, Mediawiki, and others. Drupal has several big advantages in that it's modular, flexible, well documented, and has a supportive community. The recent Drupalcon in Boston had over 800 attendees and lots of companies were hiring, both designers and developers.

There are lots of ways to contribute. In fact, here is a podcast and a couple of articles on getting involved. The podcast and articles are Drupal-centric, but the ideas would apply to any open source project you might want to get involved in.
posted by xulu at 8:26 PM on March 21, 2008


« Older My neighbor is very generous -...   |  Why do some people lose weight... Newer »
This thread is closed to new comments.


Post