I've now been at a company using Drupal for 6 months and, to be honest, I feel like I still know very little. If I'm given a new task, eg: build a module that does X, I'm still completely clueless as to how to go about it.

I've been in the web industry 7 years now, most of those being front-end stuff. But I do have a generally good understanding of PHP and have used it to make OOP scripts in the past (I know 7 isn't technically OOP) and work on and modify other CMSs. I feel that, if given the same tasks to do in normal PHP, I could do achieve them, but with Drupal I'm still just stumped.

Has anyone else felt this way? How long did it take you to feel confident with Drupal?

Comments

Liam McDermott’s picture

I wish I could answer this properly, it was so long ago that I learned! It depends on how much you're able to use it day-to-day, I plunged straight into developing a large module for Drupal so it took me just a few months, but I was doing nothing else. If you're only working with it for an hour or less per day I expect it to take much longer.

Have you tried out Drupal 8 yet? I'm interested to know how you get on with it, since it has much more OOP in its APIs (though I don't think your Drupal 7 knowledge will be entirely wasted there, a surprising amount is still the same).

Is there a project, that would preferably take a month or more to complete, where you could just do Drupal and nothing else? That would help you learn it quickly, either that or just hunker down and realise you're in for the long haul (for example, I've been learning functional programming, Haskell mostly and not doing it full time, for years now and still feel clueless)

Jlols’s picture

Haha well maybe I'm in trouble! At this role I do literally nothing else but Drupal 7 stuff! About half of it's been theming, which is pretty straight forward. The other half is more in depth stuff using hooks, which, to be frank, I just couldn't do by myself.

I guess the thing is that most of the work I'm doing is improving or change little chunks of other peoples stuff. For example, this week I was given the task of taking a module that takes images and outputs them in a html grid and making this work to take data from Paragraph Bundles as well.

Now, in isolation there's just nothing to turn to. I can't simply Google 'How does Paragraphs output data', there's nothing there. All I can do is look at the existing hooks and read what they do in API, which is usually just one sentence.

How did you learn it? Did you have someone teaching you? A book? A tutorial series? It seems the documentation alone isn't enough to cut it, IMHO.

Jaypan’s picture

The huge majority of my learning has come from pulling apart either core or modules that do something similar to what I want to do. A lot of learning came from reading the forums here daily. At the start, I used to just try to solve other people's problems, even when I didn't know the solution myself (eventually I became able to give my solutions as answers). I read a few books as well. Being aware of the various Drupal APIs goes a long way, so that you can try to implement them when you have a project that needs them.

Jaypan’s picture

As Liam said, it depends on how much you are using it. I think it took me about six months or so to kind of feel comfortable with it, using it daily. It took me about a year or two before I really felt that I knew what I needed to do without having to spend time studying it all, and that was back in D5 and D6 - it's gotten more complex since then.

D8 is OOP based, so if you come from an OOP background, you may find it much easier to work with when developing within it. I'm not entirely sure about that though - often when trying to figure out how to do something in D8, I'll google the D7 name/method/function, with "Drupal 8" prepended to it, so if you don't know what it is in Drupal 7, then you won't know what to look for in Drupal 8!

I'd suggest just posting lots of questions in the forums. I or someone else is usually quite happy to help in the code forum.

khurram.drupak’s picture

It sounds funny but you will appreciate it later;

"Eat, Sleep & Breather Drupal" just like Drupak.

This will for sure make you confident & an expert in DRUPAL. ;)

Br,
Khurram
Drupak
 

sprite’s picture

Because you are a Drupal beginner, there is something seriously wrong with your approach if you mistakenly believe you need to be building modules. When developing Drupal websites, creating a custom module should be an extreme rarity, and it should not be something attempted by someone who doesn't have a basic understanding of Drupal's core concepts and abstractions, no matter how much PHP one knows. You'd be better off while building Drupal websites if you didn't have any programming knowledge at all.

spritefully yours
Technical assistance provided to the Drupal community on my own time ...
Thank yous appreciated ...

EdPhillis’s picture

Ive been working with Drupal for about 5 years and don't write much code. I find that there is a spectrum of Drupal developers. I have worked with a few who refuse to use it as intended and just 'stuff' in php and javascript where they can get it to work. Which is a nightmare for anyone that follows. Also there are those that have learnt to code with the API and mostly chose that over using someone else's contrib module - leaner, more to the point. Then there are those that will just add modules even when the module doesnt do very much beyond what could be achieved by adding a javascript file programmatically or using a simple hook form alter function in template.php - creating sites with hundreds of modules that feels like you can hear the site groaning and about to fall over. Ive been working on Drupal 8 now for about 6 months and it seems like a nice mix. It forces you to rely less on contrib modules. I have never worked on a project yet that hasnt either required some coding or a compromise on the original requirements. Personally I think it gets boring if all you ever do is download and enable modules. You are also not particularly employable in the long run. There arent many Drupal jobs looking for people who cant put together a simple module.

litnrod’s picture

As was stated earlier, the only way to truly learn it is to "Eat, breathe, and sleep" Drupal(btw this might annoy your significant other). It's a living entity and it is constantly evolving.

I've been at this going on 5 years myself and there are days I feel like a genius, and days I feel like I'll never understand wth I'm looking at. I saw a video that demonstrated the "learning curve" for Drupal. It was a cliff. With people falling off. But don't despair, it's a crazy addiction that you can't get rid of...

Again the best way to learn it, is to use it. Regularly. Seriously

Jlols’s picture

Unfortunetly, it's out of my control what tasks I do.

The business requires something done, a ticket is created and I do my best to do it. If I had it my way I would have done a course or intense training but as it stands that is not possible.

altombasketball’s picture

I'm here for learning more about Drupal, so this is a relevant issue for me. I can't say anything about Drupal yet, because I have only used Wordpress until now.

So this is my general opinion about learning new stuff. I think Wordpress took me some time to be familiar with around 1 year I think so. Every time I shifted to a new theme with my websites I thought I should start from scratch, because the themes are differently coded.

But I had some basic knowledge, so it takes shorter time to be safe with new themes.

I think it's quite normal that you can't step into a job from day one and think you can solve all problems. Especially not when it comes to coding.

Good luck!

Best regards

Morten

imclean’s picture

Familarise yourself with the Devel module and in particular dpm() (D7) and kint() (D8) functions. These functions can display the content of render arrays, objects and other parameters and help you drill down. D8 often uses methods for changing things so you don't always have to alter data directly.