Jack of All Trades - Master of None?

Those were the words of SitePoint Mentor AlexDawson when referring to which areas a web designer should be studying. He says to stick to CSS, XHTML and JavaScript. He said anything outside of that and you start to become a “Jack of All Trades - Master of None.” What are your thoughts on this? I suppose he’s right. You can only learn so much. And it’s something I’ve thought a lot about since first reading his comment not long after joining this forum. I have the highest respect for AlexDawson, so this is not intended as a jab at him. I would just like to see what others’ perspective is on this. What he says does make sense, but the job ads contradict his theory a bit.

Shouldn’t you throw in graphic programs like Adobe Photoshop to the essential skill sets of a Web Designer? Alex said that Photoshop is for “graphic designers, not web designers.” But then how do you pretty up a website? SitePoint even wrote an entire book on Photoshop and what you can do with it for a website. It seems to me absolutely essential to learn Photoshop if you want to get a job as a web designer. Just look at this ad on craigslist.

How is one going to get a job just knowing CSS, XHTML and JavaScript? Look at what that ad wants. They want: Photoshop or equivalent, Illustrator, CSS, XHTML, JavaScript, JQuery, Blueprint or 960. And notice how they specifically say: “You are not a graphic designer, you are a WEB designer.” What say you all?

The more you know, the better, I say. But specialize in something and work out from there. I only have the most basic grasp of PHP, but it goes a long way. You can do a lot as a web designer with a little Ps knowhow. If you can do a few nice backgrounds, a bit on image manipulation etc it will take you far. I’ve been trying to bump up my Ps skills, but I’ve started to see that the Ps skills you need to create beautiful web graphics are not many.

OK, so you know how to open Ps and Ai and do a few things. Done. CSS, Blueprint and 960. Well, that’s just CSS. JavaScript and jQuery. Well, jQuery is pretty much out of the box and what most web designers seem to use; but if you are au fait with it you can say you can handle JS (even though it’s not really true :slight_smile: ). (X)HTML… well, that’s easy to get your head around.

So there’s not a huge amount there really.

I’ve given some thought to Alex’s characterization, and since I don’t approach Web design from a strictly commercial standpoint, I’m comfortable with the characterization. I recall that he posited, quite correctly, that many of the most enjoyable, well-constructed, and aesthetically satisfying designs on the Net were created by a “master of none” designer.

I think it’s all in your reason towards designing. If you intend to make your living, feed your family, and retire on the money you make designing Web sites, you’d damn well better learn everything you can learn, from HTML and CSS to JS, PS, AI, PHP, Ruby, Flash, you name it, and learn it well, so you can become the best and most economically productive designer you can possibly be. If you design for yourself as an avocation/hobby, then you don’t need to know anything more than you need to design the sites you want.

Maybe an apt comparison is between a commercial artist and the guy who paints seascapes (or whatever) in his garage. The commercial artist must know techniques and elements of his trade that the guy in his garage has no need, nor desire, to know. But the garage guy may well be able to create lovely paintings that are suitable for display in the most discerning aesthete’s home.

IMHO there’s nothing wrong with being a “Jack of all trades” as long as you’re not a “Master of none”. Try to be a “Master of at least one”.

Once you get a taste of the many facets, most likely you’ll gravitate to some and not the others. That’s OK, you can’t possibly keep up with everything without compromising what you know in each. But the more you know about more of them, even if minimal, will be a help in your understanding of how the pieces fit together in general, and how your chosen “piece” fits in specifically.

Thanks for the first reply, ralph. I’m so much better now working around using Photoshop now. I really never thought I’d be able to learn it. We will see, though. I think people can learn these basics, but then have trouble “getting it just right.”

That ad I showed you I think wasn’t the best example. Most ads want a lot more than that. They’ll throw in Flash, PHP, etc. That was pretty light.

Thanks for putting this into better perspective, Black Max. I found a really good post by AlexDawson when doing a search earlier. He did mention PHP, Ruby and a few others. However, no mention of Photoshop. So I think he does believe in going further than those three mentioned in the “Jack of all trades” post.

I think Alex means well but you did the right thing asking for other opinions.

He’s right in that there’s so much to know in the web development area that it’s very difficult to know it all and be good at it so you should try to find your specialities. What those are though is entirely up to you and is situationally dependent, do what suits you and allows you to achieve whatever goals you have in mind.

I’ve become reasonably knowledgeable in HTML/CSS, Photoshop (only enought to be able to create graphics for websites), Joomla, SEO and PPC. That skills package allows me to build a website, static or dynamic, and drive traffic to it. Add to that a little Flash, enough PHP to be able to tinker with scripts, a little knowledge of domains and the way servers work and I have enough skills to be a self employed web site developer. I’m constantly learning new things but within that defined area. For everything else I need, I’ve made contacts that can provide them when a project requires skills I don’t have. Thta’s also a great way to get work, find someone who has complimentary skills and form a working relationship with them.

I’d say I fall under the category of Jack of all trades, but master of one (PHP).

I program PHP to a point that I can write a unique, fully functional framework with no assistance from the forums or google, and use the correct object-oriented application design patterns where appropriate.

As for the front-end, I can code minimal, semantic HTML and valid CSS to make a design I require - though whether or not I use the best pracises I don’t know. All I know is, it works and I make sure I use the right tools for the job - elements with css, rather than tables, and not overusing divs etc.

Javascript, I’m not very good at. I can write valid JS and I can do the basics such as AJAX requests and client-side validation, but I still often find myself looking at online JavaScript references to get where I’m going. I don’t like using tutorials because I prefer to write my own code.

Being a Linux user, I don’t have a preferable choice of graphic design applications. I could never get the hang of GIMP, and even on windows Photoshop seemed clunky and not very user-friendly, but that was just my experience. I always preferred Macromedia Fireworks, and I use Fireworks MX (Nice and ancient, but I can do a lot with it and I don’t use it enough to warrant buying a newer version which may not work) on linux, under WINE (a windows emulator for linux).

A broad working knowledge is always good (and necessary) but to stand out in a crowd you need to be better than your competitors at something special otherwise why would any one chose you above anyone else?

Of course your strengths may be your broad knowledge, or in organisation and management of the tasks concerned, and as JJ mentioned you may be able to outsource to experts in certain fields when necessary.

It depends whether you want to be that expert or not.

I think being a “Jack of all trades” has a lot of advantages and some disadvantages.

The advantages-
You can build all of a basic site from the website, graphics, SEO, etc. So you don’t have to outsource stuff or tell people you can’t do part of it.

You can gradually adapt to new markets and technologies as they develop because you are always learning new things and applying them so you can keep up with things as they hit the market.

You have more options; If you specialize in one thing that one thing might fade out of the market, get out sourced for cheap and drive prices to nothing or plain get outdated and useless. Then your one special skill is worthless. Just like homebuilders and real estate agents were kings a few years ago now most of them are either something else or probably unemployed.

The disadvantages-
You never get great at anything. I think you really have to focus on one thing to excel in it and get to the top of you field.

I know coders that make great money $80,000+ then I see the job ads for basic web designers for $30,000. I think it is harder to get a good paying job when you just have a bunch of basic skills.

Even if you are a “jack of all trades” you can only learn so much. This stuff takes lots of time and energy to learn you can only learn so much and be productive with it. I see a lot of collage kids say they know 12 codes, 9 software programs, etc, 100-hour class on something is nothing they would be lost and unproductive in a work environment with it, they don’t know Jack.

It depends on your definition of designer.

There’s the application side of things (PHP/MySQL, or other server-side language/database of choice). I usually think of this as the “web developer” side of things.

Then the “web design” side, which is most things to do with what shows in the browser. Laying out the template, going from a photoshop layout to HTML/CSS, and maybe some JS where appropriate.

I’d say it’s good to have an understanding of the whole stack, but focus on which area interests you most.

Good to see you posting eLePHANT! Though I think I need to clarify my perspective a bit as you got slightly confused by my wording. :slight_smile:

When I refer to a “Jack of all trades - master of none” I’m not excluding photoshop or any language… when people ask me what they should learn it all depends on what job they want to fulfil. I wouldn’t give the same prescription to each member of the web design community as every role has it’s own requirements, in the case of a web designer, I tend to consider that role as the “physical” creation of websites. While I myself don’t use Photoshop I certainly wouldn’t say it’s not useful to learn, because having graphics skills can be a great attribute in a web designer. One reason I don’t feel it’s a necessary skill is because I often feel while Photoshop is the “best of breed” listing it as a requirement on it’s own could scare off professionals. For a beginner, remember that Photoshop is a VERY large investment in time and money (and that would increase the barrier for entry if every web designer needed or required to use and learn such a tool), there’s currently loads of web designers who happily purchase stock photography to use within their designs (and not that nasty clipart stuff - I myself outsource such a job to those kind of places). Therefore it’s best to say that it’s a useful skill but it’s not fundamental to the success of a website or designer as there are other alternative means and it’s a pretty costly route if you make it part of your job role - no offence to Photoshop users of course, it’s just about being practical as most beginners are hobbyists.

Personally I like the idea of having independent graphic artists in the industry… we don’t expect all graphic artists to reverse the role and become web designers, why should we expect all web designers to do the same when outsourcing to someone who’s made photoshop their life career brings better skills to a market that needs diverse job roles - I’m not saying that you shouldn’t learn it, in my book I had a chapter on images and media which recommends people at least consider it, if they don’t take it up. In regards to the terminology “jack of all trades - master of none” my emphasis is that if you want to be skilled in EVERYTHING the web industry has to offer, you will end up knowing “a little about a lot” rather than “a lot about a little” (which in my view is something we need more in the industry). Being well rounded is great and being flexible is great too, but we do have a real need in the web industry for those who specialize in certain fields.

I (for example) do know enough HTML, CSS and JavaScript (all core languages any web designer should know these days as their central to the browser experience) to hold my own but I wouldn’t profess to be an expert in them. I always make a clear difference between Experts and Professionals in the industry as they target different roles… Professionals are the solid all-rounders who know their stuff and do the job, but the experts are those on the bleeding edge focusing on the details that most of us don’t have time to appreciate (as they are dedicated to a single task). Neither role is better or worse than the other but their both important to the industry. I didn’t in any post say to learn HTML, CSS and JavaScript (and anything more than that is too much), however I do stand by the general rule of thumb that the thinner you spread yourself, the less substance that knowledge has (so it’s a good practice to just keep to what you need or want to focus on). In my own job (at least when I get some fresh clients) - I don’t particularly find myself needing to produce loads of graphics, I like concentrating on what I can do best - helping people make sites better rather than spending hours slaving away over an image file - instead I decided to relinquish the skill as something I prefer to outsource to maintain my focus.

Most job descriptions tend to be the direct opposite of that however… business managers tend to have unrealistic expectations of coders and say they want someone who knows everything about everything (in the literal sense) - I’ve seen advertisements which have stated the knowledge of 20 different languages is required (along with a degree or pHD) - which is rather absurd as anyone who claims they know all those languages due to the time it takes to master something will probably be barely competent in many of those roles. Alas their mainly generically produced and very poorly thought through in terms of what the job actually requires. If you go to a job board on a web design community like 37Signals, FreelanceSwitch or even check out SitePoint’s job listings… their much more specific to actual skills required and they don’t throw around a lot of acronyms out of some expectation someone out there knows everything about everything. As I’ve mentioned before, having some good fundamental well rounded skills is essential, but I believe that being a Photoshop expert isn’t something that everyone should be awesome at - if that were true I wouldn’t have become a web designer because producing graphics (beyond the basics which I do produce in PaintShop Pro and GIMP) isn’t something I’m that skilled at or find enjoyable. My love in the industry are the more theoretical research aspects of web design like Accessibility, Usability and UX Design. :slight_smile:

In summary: I think that HTML, CSS and JavaScript are always the core skills any web designer should have (if their working in the front end) as their ubiquitous in respect to being something that most design work relies on. As for Photoshop, many professionals do their job without being able to push pixels… myself included. I know graphics isn’t my strongest area (probably why I think it’s better handled by graphic designers who spend their careers becoming experts of the likes of photoshop rather than “average” professionals) but I think it should be left as an optional component. Many websites don’t use images, many more do use images but outsource the work, which I think is a good thing. I just don’t see it as an essential component as many web professionals don’t have the time to learn, the money to choke out on a very expensive piece of software and graphics editing shouldn’t be for one product alone. That said, being a master of none can (as Max restated) result in being a great web designer - after all Jakob Nielsen may be awesome at usability but his website is pretty abundant of the eye candy we come to enjoy.

I hope this helps clear up my points and views for you! :slight_smile:

PS: Here’s a post I made on the difference between Professionals (jack of all trades) and Experts: http://www.sitepoint.com/forums/showpost.php?p=4518356