Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I just found out the other day that the previous web company where I worked for 8 years will pretty much be shut down except for occasional updates and support of existing applications.

I was thinking back to my days over there and I came to the realization that I was really the only programmer there who could build stuff from scratch. It got me wondering just how valuable that skill set is and I'd like to hear your input.

When I say build stuff from scratch I mean you start with an empty website and take the ideas and concepts a customer has in his head and turn it into a working functional application.

How valuable is that skillset? Is this something that all programmers can do or do I just take it for granted that all programmers can build stuff from scratch?

share|improve this question
    
" I mean you start with an empty website and take the ideas and concepts a customer has in his head and turn it into a working functional application." as opposed to what....? –  Jetti Dec 2 '11 at 21:44
    
@Jetti: I'm guessing that it's as opposed to taking ideas and concepts a customer has in their head and cramming them into an amalgam of plug-ins in some blogging/e-commerce framework. –  FrustratedWithFormsDesigner Dec 2 '11 at 22:00
    
@Jetti - As opposed to not being able to do that. –  Cape Cod Gunny Dec 3 '11 at 4:57
    
@CapeCodGunny if the option is either build from scratch or not able to build from scratch then nothing would ever get built if programmers couldn't do it so it would need to be a common trait that all programmers share. Would the opposite be using something like a CMS and going from there or copy & paste coding...that was what I was getting at. –  Jetti Dec 3 '11 at 6:51
add comment

5 Answers

up vote 4 down vote accepted

It's valuable only when what you're building doesn't already exist/can't be reused from somewhere else. In that case, it's extremely valuable.

If your employer largely build websites for clients based on existing blog engine templates, this skill won't help you much. Unless of course, you need to build a new plugin. If your employer is building systems that are brand new, then the skill will be more useful.

Of course these days, most projects start with something. I can't remember a project where I didn't use any 3rd-party plugins, libraries, toolkits, templates, etc... except maybe for when I was in school.

share|improve this answer
    
Your last sentence could include the OS itself. Did you build everything, including the OS? :P –  John Fisher Dec 2 '11 at 22:26
1  
@JohnFisher: Well, I know people who built components of an OS for academic projects... –  FrustratedWithFormsDesigner Dec 2 '11 at 22:31
add comment

Being able to build something from scratch is a valuable skill but to be able to take an existing system and enhance it so not to leave technical debt is even more valuable and shows more skill.

share|improve this answer
    
What do you mean by that? Please edit your answer instead of adding a comment. –  Cape Cod Gunny Dec 2 '11 at 21:21
    
I'm not sure if I agree that it's more valuable, but I think I can agree it's equally valuable. If you are able to quickly understand a large body of code, and improve it without adding technical debt, that is certainly a valuable skill. –  Bryan Oakley Dec 3 '11 at 13:39
add comment

In the web industry, turnkey systems and other third-party solutions are usually favored over custom-building from scratch for a lot of external projects (projects coming from other clients), and demand for them is growing.

If it's a business app that has to be tailor-made for that particular company, or more advanced SaaS, then yes, being able to custom-build something would be a valuable skill to have. However, as previously mentioned, that value depends on how much demand a particular company has for that.

I barely have to work on from-scratch websites, except for some simple ones with barely any dynamic content. Most clients big or small will have some sort of CMS for the site that is meant to mostly advertise themselves. You'll find a greater concentration of custom work on the internal business side.

share|improve this answer
add comment

I think it really depends on the employer. Some will value this skill because they need someone who has that level of creativity. Others want somebody to be an interchangeable cog in the machine who won't question or change anything and certainly won't want to create anything new and different.

While there can be some crossover, they are different mindsets and it is a sure path to job unhappiness to be in a role that doesn't fit you. A creative person will be unhappy plugging away at maintaining an ancient app or doing minor modifications to CMS themes. A technician is likely to be unhappy and stressed out trying to come up with something creative from a blank slate.

share|improve this answer
    
+1 on different mindsets. That's exactly why I didn't last long in more than one recent gig. I am quick to create new things from scratch, and suck at maintenance. Find out what your mindset is and spend most of your time there. –  DarenW Dec 3 '11 at 7:18
add comment

Very valuable, and very rare. But mostly only to you.

The opportunity to create something from scratch does not come often in a programmer's career. Cherish the experience.

The value of what you created cannot be judged until it has survived childhood tantrums and teenage angst and grown up into a responsible adult.

In summary, anyone can be a father ... it takes someone special to be a dad.

share|improve this answer
    
Does not come often? I can't agree with that (but not enough to down vote...). Many times in my career I've created new products, new tools, new websites. –  Bryan Oakley Dec 3 '11 at 13:45
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.