Lazy Programmers

The best programmers are lazy programmers.  Drupal, more than many other systems holds that maxim to be true.  Why do lazy programmers have an advantage?

Because Drupal is not a traditional software framework.  It is a framework, but it is a community first and a framework second.  There are over ten thousand existing modules to choose from and thousands more blog posts and online resources to copy code from.  Add to that a thriving community on IRC channels, forums and commercial support companies like Acquia and there are many ways to find solutions.  The last thing you should resort to is writing custom code.

Custom code is expensive to maintain, risky to a project and creates a dependency on the people who wrote it.  So while it is necessary to write some code on the vast majority of large Drupal sites, strive to practice configuration before coding. You can accomplish a lot just by picking the right modules and configuring them to suit your needs.

Tags: 

Comments

Great!

Dave Newton's picture

So true, which is why the answer with any drupal question is always yes we can

I'm torn

Martin Q's picture

I have a mixed response to your article.

For starters, when I saw your tweet linking to this article, the title made me think you were going to have a rant about all the terribly lazy programmers out there.

When I read your article, I realised what you meant by the term, and overall I had to agree with the principle and its various reasoning. I've always been a major fan of top-down stepwise refinement of a project, and the modular concept of Drupal fits in well with that, as does the principle of reusing things that are already out there that work.

But the flip side is my own experience: I've spent just over three years now working on custom code for Drupal. It's now almost 10kB of code in my main module (no, most of it isn't comments, and, yes, I know it needs breaking up into sub-modules - in fact I've been calling for a major redesign for over half of the three years). This has evolved from a tiny prototype, and whilst we do use a few outside modules, mostly we don't because the client has had a very particular idea of how things should work and what features and behaviour should and shouldn't be there. As I've pushed for the chance to step back and redesign, I've thought for a long time about how I could separate the very specific requests that apply only to our own specialised field from the more general functionality, and work towards releasing that latter into the community and finding ways it can fit in with what others are doing (including, for example, full compatibility with the media API).

And so at last we're about to close up on our current version and start thinking about the next major version. It seems in the end that we're going to be even more radical than I was pushing for. I understand we're going to go back to the drawing board, and in what is probably a very wise move, my newer colleagues are going in first, looking through the requirements and the modules that are out there in the community now and working out how they could be matched up, before bringing me back in to work out what needs to be coded to fill in the gaps for our (client's) needs.

Of course that is a wise approach and - for many of the reasons you gave - it will stand us in better stead than having such a huge custom code base. As I face up to that, though, I have to say that my heart sinks. I'm a programmer at heart, and the idea of becoming a researcher and evaluator and admin/configurator - with actually coding only as our last resort - just doesn't appeal.

So whilst I endorse and embrace the concept of lazy programmers, both in general and in my own specific context, as a keen programmer I feel rather stranded by the idea. Maybe I need to become a module or core developer at a more general level rather than be involved in a project implementing one specific requirements set...?

I'll keep pondering this - thanks for bringing it up!

PS - Assuming you're either already here or on your way, welcome to England, and almost to my home town (I grew up about 2.5 miles away from the Fairfield Halls and am staying there with my parents this week in order to be at Drupalcon). Have a great convention and maybe I'll see you around!

You know you hit a chord when

Jacob Singh's picture

You know you hit a chord when the comments are longer than the post.

I hear you, and I too know the siren call of building the next great application.  I guess a less pejorative way of saying it is that programming should be like a martial art.  You can kick anyone's ass, but you need to have the disceplin to not use violence unless aboslutely necessary :)  

I have to say

Totally agree with your last comment Jacob, isn't the main reason of using a framework "Build your applications, not your tools".

It's also true when working in middle to big size projects it's necesary to write some custom code, but in most of the cases the desired functionality can be achieved. As you said "picking the right modules and configuring them to suit your needs".

This is so true

LOL! I believe that too. Lazy programmers are the best programmers, just look at Steve Jobs inventions., ideas and creativity because he is lazy he wants things done more effeciently and faster.

agree ...

Sree's picture

I agree with Jacob.

In real world at major branded companies this is not the case.

As per my experience till date:

In large projects where there are groups of developers (with mixed skill set) involved I see people preferring to write custom code rather than learning or developing the advanced drupal skills.

Eg: If there are some client requirements which can be solved using 'Rules' & if the majority of team is unaware of usage of rules - people in this team prefer to write custom code rather than learning the usage of rules irrespective of availability of people knowing rules within the same team.

This case should be minimised as much as possible to attain the real benifits of using open source softwares.

 

Totally.  I had an experience

Jacob Singh's picture

Totally.  I had an experience talking to a practice lead of a large (very large) software company who said "give me two weeks and I'll get you 40 Drupal devs".  Yeah right.  For Drupal it's all about context, not just about knowing the APIs.  That's why teaching it is so hard.  It takes a lot of experience to discern best practices.

Using obd2 code scanner DIY

In 1996 the EPA(Environmental Protection Agency) mandated that the computer interface for all vehicles sold in the United States should meet a common standard. This means that consumers could go to an auto parts store and pick up an inexpensive scanner to pull the codes from the ECM themselves.

Developers vs Programmers

errumm's picture

Spot on.

I think the differentiation between developers and programmers is becoming a bit clearer these days.

A good web developer is not necessarily a programmer, although the likelyhood is that they can write code. A good web developer is often a lazy programmer but is just as likely to be someone who hasn't written a lot code but knows how to configure the hell out of Drupal, or Wordpress or any other associated web framework.

I know people will argue this! The likelyhood is that most projects will require some programming, thats what a good programmer is for they shouldn't necassarily be the guys configuring the framework though or marking up the html for any templates.

 

"Custom code is expensive to

aloha's picture

"Custom code is expensive to maintain, risky to a project and creates a dependency on the people who wrote it." +1 Thanks for taking the time to discuss this, I feel strongly about it and love learning more on this topic. If possible, as you gain expertise, would you mind updating your blog with more information ? It is extremely helpful for me. Regards, corsage boutonniere

I have learned so many things

ynnil's picture

I have learned so many things about software tools and thorough online resources for academic work, by gaining access to such high technological development ground for students. The truth is, once you enter this web platform environment, you see how paperwork is automatized up to its very last detail, in order to save time for acquiring more knowledge, at a higher level than even in the history of education. caderea parului

Drupal

That's exactly why I LOVE Drupal! Well said!

shopping save

hii's picture

Hey your site is really great I came across while in search for brand info on bing and it has lots of related information on it. Will be sure to come back again and bookmark. Keep up the great work! shopping save

Thanks for sharing such

jaime123's picture

Thanks for sharing such interesting useful information. this post is fantastic. i found many useful information in your website especially this blog page. nice sharing keep it up. Tech News

There are just some in that

Dani's picture

There are just some in that position! Many are really good and hardworking! Somehow this will be a really nice alternative for me. property Mallorca

Well written ! i have to

malingbowler's picture

Well written ! i have to admit that it's very informative article. This really is another very amazing and interesting publish. You've provided the publish that's proportional to the interest. Thank you for this publish. best table reviews

Excellent and decent post. I

malingbowler's picture

Excellent and decent post. I have found much informative, what I was exactly searching for. Thanks for such a post and please keep it up. Totaalrenovatie

Great information, I’ve been

malingbowler's picture

Great information, I’ve been reading about this topic for one week now for my exams in school and thank God I found it here in your blog. I had a great time reading this . best vpn china

I know what you mean. I have

Dani's picture

I know what you mean. I have some friends and they are so lazy. But, like you said in the article, I guess that it is a real fact. canon ink

Vom Fremden zum Bekannten es

Vom Fremden zum Bekannten es nur zwei Monaten, aber habe immer gefühlt, dass die Qualit?t und die Qualit?t dieser Marke von Kleidung gut sind, und bereits gekauft haben, http://www.peutereyonlines.com haben ein paar Stücke, die auch Mitglied der Bande, würde immer darauf achten, die Bewegungen von zufriedenen-Wen auch m?chte die Gelegenheit nutzen, um Zhang Coupons mit dem Einsatz zu verdienen, aber leider in diesem Monat zu sehr damit besch?ftigt, peuterey , nicht genug auf der Hoffnung, dass im n?chsten Monat verdienen sehr zufrieden-Wen in einer gro?en Verbesserung der Service-Feierlich Wort für zufriedene Hause, wird gesch?tzt, ist wirklich hei? Vertrieb und Kunde ist ein bisschen langsam, aber die Haltung ist immer noch sehr h?flich.

A philosophy of being a lazy

albing's picture

A philosophy of being a lazy programmer by writing code that programs for you. Quartz is a full-featured, open source job scheduling service that can be integrated with, or used along side virtually. Thanks for sharing the informative post.

Regards,

Robert - Assignment UK

Thank you very much for the

Thank you very much for the great insight and we really appreciate the time you took to write this post. There are many people searching about that now they will find enough sources by your tips.

This ultimately leads to them

This ultimately leads to them getting poor education and they end up committing mistakes in the job. Why take such risks? Experienced schools are always looked after by big MNCs and they make your ride, a bit easier.

awesome

arafat09's picture

Thank you for this nice post that you have given us here. Certainly is mostly a great resource that might have the capacity to help someone's research.i am glad to see such a nice post.it also help me for my study.thanks. <a href="http://www.swimwearplace.net/swimdress/">swimwearplace swimdresses</a>

Thank you for this nice post

Thank you for this nice post that you have given us here. Certainly is mostly a great resource that might have the capacity to help someone’s research.i am glad to see such a nice post.it also help me for my study.thanks.

Thanks

Richak's picture

Thanks for this interesting post. Loved it. Keep up the good work...villa ubud and villa ubud bali

Battlelog is a free social

albing07's picture

Battlelog is a free social platform that ties into Battlefield 3 and lets you socialize, track stats, plan your next game, and more from your web browser. I decided to put up this site partially as a place to post all my thoughts on programming. thanks for sharing the informative post.
Regards,

Robert - Team Building Activities

a lot of readers

jay's picture

The text here are kinda big.. really readable huh.. I hope you could feature more articles that can give us more informations not just about programming and codes.. you can feature stores or shop where you get your gadgets and even your inkjet supplies...

As I face up to that, though,

Chris Connolly's picture

As I face up to that, though, I have to say that my heart sinks. A good web developer is often a lazy programmer but is just as likely to be someone who hasn't written a lot code but knows how to configure the hell out of Drupal, or Wordpress or any other associated web framework.

Regards, joeygilbertlaw.com

Programmers that research

mba essay tips's picture

Programmers that research topics and code on their own always reign over those that copy and paste code. We look at several breeds of programmers in this post.

Regards,

Robert - mba essay tips

Well, good information on

home painters brisbane's picture
Well, good information on your blog. This blog is really useful home painters brisbane for everyone. I must appreciate your work here guys. Keep posting good blogs. Thanks.

Well, good information on

home painters brisbane's picture
Well, good information on your blog. This blog is really useful for everyone. I must appreciate your brisbane plastering work here guys. Keep posting good blogs. Thanks.

I will bookmark your blog and

home painters brisbane's picture
I will bookmark your blog and have my friends check up here often. I am quite sure they will learn lots life coaching for women of new stuff here than anybody else. Thanks for sharing this information.