Learning curve
My take on Drupal's learning curve. Inspired by Creating Passionate Users.


Anonymous (not verified):

It's a nice overview, but I'd like to point out that I started with FAPI early and still can't do locale and internationalization.


The order is obviously not absolute -- the learning curve varies from person to person based on background and goals. It's an attempt to generalize the Drupal learning curve. Good to see it matches more or less with yours.

webchick (not verified):

I see one important mistake in your graph: "Contributing documentation and support" is above the "I rule" threshold.

Ideally, this starts immediately after the very first "Installation and Configuration" stage. Why? Because you're still a newbie! This is the very best time to help in these areas!

a) You haven't passed the "I get it now!" threshold, so you know what bits of the documentation are confusing, and how they could be reworded to be more clear.
b) You can also write new documentation to fill in gaps which help your own and other newbies' understanding.
c) You still speak the language of other newbies, and can help them get past hurdles you've had to overcome in the forums, in IRC, etc.
d) It's the fastest way jump-start your path to becoming a Drupal ninja: by explaining things to other people, you help cement the knowledge in your head.

My start to Drupal was a bit different than other peoples'... because I was a Summer of Code student, I had to zoom up well into the "kick ass" threshold ("contribting code, designs, and patches to Drupal") within an extremely short period of time. Hands-down, the thing that helped me the most with this was participating in the documentation team and helping with user support.

Alan Pritt (not verified):

Webchick: I see one important mistake in your graph: "Contributing documentation and support" is above the "I rule" threshold.

I'd say it is in the right place on the graph, but the wrong place in reality. In other words it would be great if newbies got stuck in straight away, but it is nowhere near inviting and intuitive enough to make that happen. There is a learning curve to contributing to documentation which has to be cut to near zero.

I have a couple of ideas on how to improve this; but I just need to figure out how to contribute those ideas!

Greg Holsclaw (not verified):

Nice graph, though I might argue with where some of the titles land. I was using workflows and actions, using CCK and learning to use the Drupal APIs as I was exiting the 'I suck' category. I am hoping to keep up in the 'good' category and look forward to seeing some true Drupalers at the OSCMS summit at Yahoo (finally something in my neck of the woods). As a full time Drupaler, I definitely need work. Thanks for all the work.

thecoolone (not verified):

Interesting graph... it's a nice way to analyze one's progress as we immerse ourselves with Drupal. Right now I am between the "I suck" stage and the "I kick ass" stage. Once I learn how to modify theme template's I'm gonna kick ass. ;)

Gregory Heller (not verified):

It is worth noting that based on the orientation of these axes, a "Steeper" curve would actually be better. It means you learn more (vertical) in less time (horizontal).

as other's have pointed out, the "learning" labels could be re-arranged. I would suggest perhaps a "coder" centric learning curve, and an "application integrator" curve.

On the latter things like CCK, Views, Panels would fall between "i Suck" and "i Kick ass".

Bettina (not verified):

you missed it - or better him. Once you join a DrupalCon you will get to know him. He is probably coding all day long and knows everything about Drupal. I only just met him myself. Have a look at his profile at drupal.org if you like. Awesome.

I do not know UnConeD though.

Regan Johnner (not verified):

@ Toni Canabate - I was pretty excited to see that beginners guide (because I desperately need a good one!), but it looks like it's all in a different language? I know this post is older, but if anyone knows of a good guide I can follow, I would sure appreciate it!


Linux Techology

seutje (not verified):

@ webchick: I'm still afraid of posting anything to the docs, I'd rather post it on the forums where ppl won't shoot me for spelling "you" as "u"

but nowadays it seems like even the ppl on irc go all anal about chat language :<

Michael (not verified):

Almost a mirror image of my personal development in Drupal-land.

I was lucky that I had (and still have) a tutor at the workplace to help guide me.

Understanding that this is a general graph, I'm finding the largest gap of time is getting passed the theme and module development stage.

This is a great checklist to becoming a well-rounded Drupaler!

dave (not verified):

This is very interesting.. I think I am caught in a redirect loop... Going from I just have no clue, to I Suck, to I Kick Ass, and then back to I Don't have a clue. Is it just me? lol

tims (not verified):

I suck. I'm starting to kick ass. I'm kicking ass.

Image galleries, cool. Problems, patience... patience. Aha! Wait, no images. I suck. I try this and that. More stuff gets screwed up. I fix some of it.

Do what with Apache Rewrite_mod?! Study my ass off. Get nowhere. I suck. I hate Drupal.

KatyMac (not verified):

I struggled with learning Drupal on my own until I found the Drupal 6 tutorial on Lynda.com. The tutorial takes you through a building a very zen-like Drupal site. By "zen-like" I mean its a site that very much flows with the whole nature of the way Drupal is structured. It was through this tutorial that I started to really "get" Drupal.

I think the major problem with people who come to Drupal is that they think building a CMS is just like building website. Not so!

I think if there was something akin to the Lynda course out there, something free that is handed to people with the installation software, it would help people understand the instrinsic logic and nature of Drupal and learning it would be less fustrating.

Michael (not verified):

Your ladder is very accurate. I'm just getting there ... at i18n and a few others. Reading through the translation docs was a real eye opener for me.

Lewis D. Eigen (not verified):

We have just gone through a 5 month adoption of Drupal and the learning curve. For what it is worth, we had a very different experience in our learning curve.

We were a little unusual in that we were quite sophisticated web site developers using asp.net. We maintain dozens of sites for clients, but thought that Drupal might be a very effective tool for the future.

Our experience was a difficult one just geting the installation up, but after that we were amazed at what we could do, and the incredible efficientcy with which we could do it. Even with our fumbling and bumbling, a 30 minute Drupal Task took us then 3 days, but the result was 30 days of asp,net programming. So we were feeling very positive and powerful early in the process.

That was for some of what we wanted to do. At the same time, we were very discouraged that something that was trivial in asp.net was very difficult if not impossible at our early level with Drupal. One example, was displaying content using views and having the field names in one font, size and color and the contents of that field in another. Or simply allowing three additional blank lines after each display of a particular countent. Even with Firebug the effort was so great that at our level of learning it was not with it.
We had an early insight and that was for us beginners. Do not design a site and program Drupal to do it. Rather, take the Drupal structure and the Modules we knew and design for them!

Our biggest frustration in the learning curve was however learning what modules do what. For us, Drupal became productive when we were able to find modules and then design to them. However, how does one learn about 4,000 modules? We started investing time in just Browsing modules and then creating a large set that we tried to get experience with and then use. They fell into 3 catagories:
1) A piece of cake. Instant succeess. 2) Instant success configuraing but eratic performance (Cumulus drives us crazy, because it is so terrific when it works but sometimes does not and we have not a clue of why.) 3) Modules that we cannot get off the ground--some we managed after a week or so of struggle. Others we are still stuck.

We actually developed several Drupal sites and while they did not look as classy as we would have liked, our productivity in the creation was terrific.

In summary, for us the Drupal learning curve was not like others where it was uniform for the system learned. We can do many things with great confidence and our clients think we are amazing. Other areas we are stuck and feel very embarassed.

We believe that Drupal is quite easy to learn by units--concepts, modules, etc. However, the lack of uniformity in documentation is a big problem but is almost inevitable in open source development. The thing that would have (and still would) helped us the most is that if EVERY module documentation contained at least one functioning site where we can see the module in operation. We found that for about 15-20 percent of the modules, we could not even tell what they were supposed to do. Examples are rare in the Drupal documentation and programmers are notoriously bad writers.

Our learning curve is a combiantion of power and confidence along with feeblness and ignorance all at the same time.

Matt (not verified):

I would say that theme developing is a bit too high on the curve for developers who are specialized in web UIs and not on server-side technology.

Drupal developers need to be rather versatile or concentrated on more hardcore coding, since HTML/CSS/jQuery specialists, who are not that comfortable with PHP, find themselves easily overwhelmed. This might lead to theme development ending up in the hands of people who are not specialists in front-end, effecting the result.

Chris Rymer (not verified):

Nice graph, I feel better about myself now.

I was really kicking my own ass this evening because my brain cannot digest 200 hours of information in 3 hours.

Just been reading the CCK docs and they make sense but some of that stuff is just hard going for the sake of it. Why start talking about pulling arrays in to modify a content types form output for no apparent reason other than to just do it!? I get it I just don't understand why I need to know it now!

I actually installed a version of open press just to have a snoop and it helped to see things like CCK and taxonomy fully developed and working, it was like somebody turning a light on.

I think in the early stages there is so much to learn to get something looking reasonable, things like cck and taxonomy, view and pages pass you by. It all makes a lot more sense second time around - Thank God!

My path was learn to install, quickly bundle in some content modify a theme over a week, then play about with the result for a month or so.

Looking forward to getting really stuck in now :)))

Ruben (not verified):

Drupal module development is pretty hard to master if you're not used to the hooks and callbacks system, even for an experienced programmer. It is taking me quite a while to find all the knowledge I need to implement my own version of the book module.