Common perception is that Drupal has a steep learning curve. Others, colleagues included, find the statement misleading and detrimental. I find myself somewhere in the middle. I think that Drupal development can be unintuitive to someone new to Drupal. However, I believe that any motivated, interested individual can 'conquer' Drupal development, regardless of prior experience.
I decided to test the theory by teaching a pre-school teacher, a used car dealership manager, a Java developer, and five others, Drupal 7 development.
Why the Reputation?
Drupal allows you to change almost anything at all, without editing any of Drupal’s core code. Let that sink in for a minute. Bear in mind, Drupal built its name on older versions of PHP with little Object Oriented support. This required pushing older versions of PHP’s limits using creative techniques, which led to coining the phrase doing things ‘the Drupal way’. It also led to the well-known idiom that Drupal is ‘on an island’ of its own. Unfamiliarity with ‘the Drupal way’ is where the steep learning curve comes from. Note: Drupal 8 goes a long way towards moving from unique solutions to solutions which are "Proudly found elsewhere."
Once I finally wrapped my head around all of the Drupal-isms, I knew the learning process could have been much simpler with an experienced Drupal developer to show me that I didn’t have to jump over the hurdles, there was a simpler path around them.
Motivation
Before working at Acquia, I began Debug Academy, which previously operated as Debug Society. Through Debug Academy, I taught motivated individuals to be web developers one-on-one. They learned HTML, CSS, Drupal site building, and Drupal theming. They were then hired to build Drupal websites by Debug Society under my guidance, which often led to career changes.
After repeated successes, I decided to build a proper curriculum and expand the material taught. Git, Drush, Command line, HTML5, CSS, Advanced Drupal Site Building, managing updates in code, and more formed the newly assembled curriculum. It included all of the skills needed to be a successful member of an enterprise Drupal development team. But, if the learning curve is really so ‘steep’, could even non-developers really learn Drupal development?
Eight Students. Three Months. One Goal.
After developing the curriculum, I decided to test it on a full, diverse classroom at no cost to students.
I ensured the individuals in the class spanned a wide array of experiences and education. The only criteria for enrolling were an interest in learning and a willingness to attend. Classes took place on Wednesday evenings and Saturday mornings, to ensure the working professionals could participate.
The students' backgrounds were:
- Pre-school teacher (English degree)
- Tutor (Neuroscience degree)
- Non-technical Entrepreneur (N/A)
- Engineering Ops (Two Information Technology masters degrees)
- Civil Engineer (Civil Engineering degree)
- Java Developer (Mechanical Engineering degree)
- Dealership Manager (Associates degree)
- Recent High School graduate (N/A)
The learning experience consisted of PowerPoint presentations, written lessons, online tutorials, at-home assignments, pair-programming tasks, debugging, patches and so much more. When a topic was deemed too hard to follow for a majority of students, graphics were created to help explain.
Class Projects
During the class, we worked on projects the students could be proud of.
- Re-built craigslist using Drupal
- Updates were managed in code, using Git (all projects)
- Each student built a category, (Jobs / Housing / Community, etc)
- Using enterprise development workflows, students’ work was combined
- Each student created a version of the theme
- We were left with a functional copy of craigslist, built as a team
- Built http://debugacademy.com
- Students researched and made cases for different distros
- Created a new responsive theme for http://debugacademy.com
- Created a new responsive theme for http://debugsociety.com
- Built a new homepage for a paying customer
- Payment went to involved students
- Built a new responsive theme for a paying customer
- Payment went to involved students
Every website was built to be responsive, as is expected of all modern websites. A distribution was used for Debug Academy, while the rest were built from vanilla Drupal installs.
No decision was made in private, and no steps were skipped. Students chose which modules we used, and which distribution to use. It was a great experience for all of us, and students can still see their work online today.
Reactions to the Drupal Development Class
The diverse group of students, most of which with no development experience at all, were each tasked with learning web development using Drupal 7. With Drupal’s supposedly ‘steep’ learning curve, let’s see what their reactions were:
- Pre-school teacher (English degree) "I would definitely take it again. I learned so much and I feel that there is so much left to learn. I enjoy working with HTML and CSS and getting the hang of these languages as well as Drupal has been very rewarding."
- Tutor (Neuroscience degree) "Web design is the future. My favorite project was DebugAcademy.com, seeing it go live is exciting. I learned the basics of Drupal and feel that I now have a good foundation to continue with."
- Non-technical Entrepreneur (N/A) "It is empowering to know how to work the technical side of things, especially if you are thinking of starting (or have already started) a web based company. In such a company, the reality is that the non-technical founder (or co-founder) can be more of a liability than an asset to the team. The classes at Debug Academy gave me real experience and a real start to coding."
- Engineering Ops (Two Information Technology masters degrees) "I'm going to use Drupal to build a website for my business. It's fascinating how much we can do with it already."
- Civil Engineer (Civil Engineering degree) "This was an eye opening experience. I never programmed before but it makes sense. I'm impressed with Drupal and plan to do more freelance work before working with it full time."
- Java Developer (Mechanical Engineering degree) "This class is more than your typical 3-hour lecture with a lengthy slide-deck. It covers real-world problems in web development and best practices that will have you ready to join a development team in a short period of time. After a few weeks you'll be working on real work that will NOT be thrown away. The best way to learn Drupal and web-development is by completing hands-on, useful work, and this course ensures that you are doing just that."
- Dealership Manager (Associates degree) "This has opened so many doors for me."
- Recent High School graduate "I am not yet responsible enough to be doing assignments, projects on my own yet. But it was really interesting to see the amount of effort it takes to build a website from scratch. The class is only good if you are willing to put in the time and effort. "
Where are they now?
The paths taken as a result of taking the class varied, but not for the reasons you may have expected. The primary indicators of success were showing up to class on time and successfully completing the required assignments.
Let's break it down by person:
- Pre-school teacher (English degree)
- Timely Attendance: 95%
- Homework Completion: 80%
- Now: Working as a front-end Drupal developer, received a 50% Salary increase.
- Tutor (Neuroscience degree)
- Timely Attendance: 90%
- Homework Completion: 75%
- Now: Working as a front-end Drupal developer, received a 50% Salary increase.
- Non-technical Entrepreneur (N/A)
- Timely Attendance: 60%
- Homework Completion: 60%
- Now: Migrating web-based business to Drupal for its flexibility.
- Engineering Ops (Two Information Technology masters degrees)
- Timely Attendance: 80%
- Homework Completion: 30%
- Now: Building Drupal-based small business website to pursue a personal business goal, and to learn Drupal better.
- Civil Engineer (Civil Engineering degree)
- Timely Attendance: 70%
- Homework Completion: 60%
- Now: Studying PHP and MySQL with the intention of changing careers.
- Java Developer (Mechanical Engineering degree)
- Timely Attendance: 95%
- Homework Completion: 100%
- Now: Working as a Senior Drupal Developer at Acquia. Received a 40% salary increase.
- Dealership Manager (Associates degree)
- Timely Attendance: 80%
- Homework Completion: 80%
- Now: Became an IT Consultant, then Director of IT, after adding Drupal Development to the small business' services. Now employed as a Security Engineer for MicroStrategy.
- Recent High School graduate
- Timely Attendance: 65%
- Homework Completion: 40%
- Now: Pursuing a degree in finance, but having an easy time in his intro to web development course.
Conclusion
“Drupal has a steep learning curve” is the claim in question, and I readily refute it. It is not that the curve is steep, but that it can seem steep without guidance. The path to understanding is murky, and without a guide, it may seem more treacherous than it really is. After a three month, part time Drupal course provided through Debug Academy, ZERO students’ reactions were ‘Drupal is too hard’. Not even the students with no web development background at all!
On the contrary, 7 out of 8 students plan to use Drupal professionally. The former Java developer is currently working at Acquia as a Senior Drupal Developer. The former used car dealership manager was able to completely change career paths, and is now a Security Engineer at a large software company. These students earned it with their perseverance, hard work, and decision to enroll.
So if you are interested in learning Drupal, but are worried that the learning curve is too steep, take heed of the former pre-school teacher, the former car salesman, and the former Java developer. If you have the right attitude and have an experienced Drupalist to make you aware of the Drupal-isms as you get started, you can use Drupal to change your career as well.
The students in this article learned at Debug Academy, which is accepting applications for upcoming classes in the Northern VA / Washington D.C. area on its student-built website, and is accessible to individuals of any experience level. An option in Boston, Acquia U, pays you to learn, and is accessible to individuals with at least 2-3 years of technology experience. Find the right solution for you, and embrace the career changing opportunities!