views:

195

answers:

8

In terms of skills, he should need knowledge on the server side programming (mostly), the client side programming (AJAX today is a MUST), front-end design techniques (XHTML & CSS + Usability issues), a RDBMS knowhow (both developer and maintainance), a big knowledge on recover server issues (the Apache web server and the underline hot, linux) ..

All of this stuff plus others such as SEO, multimedia design (flash), ..

It's a long way to master all this skills, so I wonder if anyone think that a single person could cover all of them?

+5  A: 

See In Defense of The Jack of All Trades !

Yes, there are people who possess all those skills but relatively their number is less as compared to those who are specialized in specific technologies.

Having said that, if you involve yourself in large number of technologies, i am afraid you won't have that firm command on it but if you are limited to few technologies you can become master of that.

Once I was master of VB6 now I am looser, have moved to PHP, forgot the nuts and bolts of VB6

Sarfraz
+7  A: 

Jack of all trades, master of none. Often times better than a master of one.

A single person cannot master all of what is necessary, but then again, mastering something isn't necessary to be good at it. And being good at something is all that is necessary to succeed.

You can find many one-man programming teams that are responsible for database design and development. Server-maintenance. Programming both server-side and client-side, and topping it off with graphics and layout.

That is a description of my team (team of 'me'). And on a good day, you may even talk me into fixing Outlook for you as well ;)

Jonathan Sampson
Why the downvote?
Jonathan Sampson
yes answer seems to be logical, i also hate it when people down vote without providing their explanation. +1
Sarfraz
Sorry my bad, I fixed the vote, it was a total accident.
JL
Another downvote? Seriously?
Jonathan Sampson
A: 

Short Answer YES!

Long Answer, some developers have extreme front-end skills (HTML, JS, AJAX, Some use of photoshop, some even have flash). Extreme programming skills in their language of choice .Net, Java or PHP for example. And then a solid grasp of databases and with a strong knowledge of SQL to seal the deal. In addition to this a more than extensive knowledge on networking, security, hosting, etc.

What I find unreasonable is when companies want you to know every language out there... For example - MUST be an expert in ASP.net and PHP. Or Have have outstanding C# and Java Skills.

But for complimentary skills its not uncommon to find developers with more than 2 years experience to have these skills.

But remember a 1 man band product (if its a large implementation) will always have issues in production, unless its properly tested.

JL
And I forgot to mention, you'll be hard pressed to find an excellent C# developer who is also an expert at flash. Realistically you'll find a flash developer who dabbles in C# or visa versa.
JL
A: 

I developed http://bugspy.net totally on my own. Both the web interface (except for the initial css template) and the server side search engine.

It might not be easy or beneficial short term do many things, but in the long term you'll gain knowledge and insight on your business that you wouldn't gained otherwise. So, strive to gain experience and knowledge in whatever you can, and accept the fact that you'll never succeed in mastering any of the technologies.

bugspy.net
A: 

I believe Mint (the web analytics package, not the money-managing web app) was/is a one-man job, and that’s successful. So, yup.

Thing is, all you’ve listed is skills at technical implementation of ideas. They’re essential, but without having an idea of what people want, they’re useless to a commercial web project. (“Commercial” means selling something, which means making something that people want more than whatever sum of money you need to charge them for it.)

Paul D. Waite
A: 

Yes, I am one, myself. I've been programming since I was nine years old (I am 32 years old now), was previously employed as a graphic designer at a phone book company, and I have a half-dozen IT certifications (MCSE on Win NT 4.0, Novell, RedHat, Citrix, CompTIA stuff). I was also previously a DBA/DB developer. I also do home improvement, woodworking, wrench on motorcycles, and previously taught martial arts. :-)

I've always had a knack for learning things very quickly and I am addicted to doing so. I'm quite good at each of these skill sets, with the big caveat of that it generally takes me quite a bit longer to do something. (But it's done well)

A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects. -Robert A. Heinlein

jamieb
A: 

i am the one,,, i know front end ( xhtml,css,jQuery ) and backend ( PHP,MySQL ),,,, i too know Photoshop and Flash,,, but i am not an expert,,,, it is very difficult to become a expert in all, it takes time,,,,

Ashok
+1  A: 

I'm also one who is adapt at all necessary technologies to develop any high-end software but knowledge is not absolute.

For example:
I have excellent knowledge of (X)HTML and CSS but any website i create still looks horrible as i lack the knowledge of "making things look good" which you can't find in any technical specification.

For commercial stuff it is always best to split the tasks as most developers specialize in a different field, eventhough they might know something (sometimes even a lot) about other fields. Programmers are (usually) bad artists, Webguys are (usually) bad at SEO (and in my company even at JS/AJAX) and all of them couldn't (usually) care less about proper backups which is something DB admins will know best how to do.

It helps if everyone knows a little about the other fields, i.e. the programmers can optimize their data accessing if they know SQL, webdesigners can use the provided data from the programmers better if they know a little about OOP or general programming, DB admins can provide better stored procedures or tables if they know how they can be accessed by the programmers and so on.

All in all:
A good team of specialists is better than a good team of generalists.

dbemerlin