Self Learner to Impactful Mentor: Interview with Ashraf Abed | MidCamp 23
Ashraf Abed is the CEO and Chief Instructor of Debug Academy. Interestingly, Ashraf began his career in Drupal through a fortnight-long self-learning. He then went on to become part of Drupal pioneers like Acquia.
In 2014, he founded Debug Academy, intending to provide quality technical education. He said, ‘At Debug Academy, we don’t just offer education - we offer a life-changing experience.’
He was a speaker at MidCamp 2023. His session, ‘How to use Dependency Injection & Services for unexpected performance gains,’ was well accepted by the participants.
In this interview, Ashraf speaks about Drupal, Debug Academy, and Drupal TV with Thomas Alias K, sub-editor at TheDropTimes (TDT).
Read TDT’s complete interview with Ashraf Abed below.
TDT : Can you tell us about your journey with Drupal? How did it start, and what are the major milestones?
Ashraf Abed: I learned web development prior to going to college, where I majored in an unrelated field. After graduation, I returned to my roots in software development.
I was laid off from my first job in software development because my government security clearance was taking too long to process. Weeks later, a recruiter reached out to me asking if I knew Drupal; I said, “If the interview is at least 2 weeks from now, then yes.” I picked up a book on Drupal development, studied it, and landed a job at a small Drupal development company.
I thought I knew what I was doing—but I didn’t fully understand the Drupal way of building websites until I was mentored by Drupal experts while at my second job at Acquia.
TDT : Your LinkedIn profile says you have worked on “high-profile public-facing software projects including acting as the lead developer on the ‘We the People’ White House Petitions project.” It must involve handling a high volume of data submission and retrieval. As a software architect, we would like to know the tools you would pick up for such a project, including database, analysis and report generation, graph generation, etc. and the reasons. Why would you prefer Drupal for the project over its competitors, and how robust was the solution?
Ashraf Abed: In a way, Drupal makes the “easy” tasks more difficult and more difficult tasks much easier. That dynamic makes Drupal perfect for more ambitious projects that would otherwise be quite complex.
Specifically, Drupal excels when it comes to building web-based applications with multiple related data types. For example, on the White House Petitions website, Users created petitions, and visitors signed those petitions—note the 3 data types in that example: Users, Petitions, and Signatures.
One reason for this is that Drupal makes it very easy to create complex data types. It automatically builds the database tables for you and generates queries using the Views module (functionality).
Furthermore, as Drupal is both open source and well-architected, it makes integrating with third-party systems at any layer of the application very accessible. For example, there were tens of millions of signatures on a site like the White House petitions website. That’s a lot of data to throw at a standard application! But thanks to Drupal’s flexibility, we could toss all signatures into external storage designed for that type of load. Then, using Drupal’s internal queuing system, we retrieved those signatures into the Drupal database at a more reasonable rate.
With this setup, we could benefit from Drupal’s strengths without being limited by the application’s abnormally large data processing requirements.
Lately, the Drupal community has focused on also making the “easy” things easier—making Drupal more accessible to users of all skill levels and project sizes. The new front-end theme, admin theme, and drag & drop layout builder are perfect examples of that!
TDT : You are the CEO and chief instructor of Debug Academy. What led you to be a mentor? Were you innately passionate about it or realized it at a certain stage?
Ashraf Abed: As outlined earlier, I taught myself Drupal in only a couple of weeks to prepare for a job interview. At that job, I made good money and enjoyed myself. But I regularly interacted with friends and family members who truly disliked their jobs and/or received inadequate salaries.
Intending to reconcile those two realities, I tried an experiment: Could I improve the lives of friends and family by teaching them Drupal?
I taught the first semester of Debug Academy’s Drupal training course for free out of my house. It started with a FaceBook post where I offered to teach how to become “web developers specialized in highly in-demand software, for free”—the screenshot below!
TDT : As the founder of Debug Academy, What are the principles upon which it is built?
Ashraf Abed: Debug Academy is the educational institution I have always dreamed of attending. It’s built upon the following principles:
- Prioritize providing practical, hands-on experience to prepare our students for real-world work.
- Ensure our training is clear, concise, and impactful. We don’t teach courses to “check a box.” Instead, we focus on our students deriving maximum benefit from our classes.
- Seek feedback and iterate. We ask for both good and bad feedback after each course and use that information to make iterative improvements.
- Prioritize outcomes over profit. We refuse to let a potential increase in profits hinder our ability to change someone’s life for the better.
- Lead with empathy. Meet students at their current level of knowledge and ability, and create an environment where they feel at ease asking questions.
At Debug Academy, we don’t just offer education—we provide a life-changing experience. With our focus on practical, impactful training, constant feedback, and a passion for changing lives, we’re confident that we can help you achieve your dreams. If you’d like to start a career in web development or take advanced Drupal training, check out Debug Academy! We’d love to help you achieve your goals.
TDT : Drupal.tv is a great initiative. With this, you are organizing the content generated by the Drupal conferences and camps in one place, making it easy to access. What motivates you to take this up? What is your plan for DrupalTV?
Ashraf Abed: Thank you! We are thrilled about Drupal.tv, one of the projects built by our outstanding students and maintained by our alumni. This platform serves as a centralized repository for videos from different Drupal camps and conferences.
Our motivation for Drupal.tv is twofold. Firstly, we aim to provide our alumni with an ongoing, real project that can help them gain valuable experience. Secondly, we want to give back to the Drupal community, which is very important to us.
As for our future plans, we have already completed a new design for Drupal.tv, and our alums are currently implementing it. The new design features a more flexible search function and landing pages for conferences that aggregate their material over the years.
TDT : According to you, improving the diversity in Drupal is one of your aims. What are the measures taken by Debug Academy specifically aim to increase the diversity of the Drupal community?
Ashraf Abed: At Debug Academy, we have implemented numerous measures to enhance the diversity of the Drupal community.
Some of these measures are financial:
- Not charging any interest on our payment plans
- Offering scholarships to our courses
- Completely forgiving tuition repayment when needed
Other measures are in support of expanding the network and reputation of our alums, such as: purchasing conference tickets for alums, submitting talks alongside new speakers as co-speakers, promoting an open and welcoming environment where students feel comfortable asking questions, and ensuring that every student receives the support they need to stay on track.
Ultimately, we want to make training and gaining experience affordable and accessible.
TDT : What changes do you wish to see in the technical education landscape?
Ashraf Abed: The technical education landscape is, somewhat ironically, in need of modernization. I would like to see the following changes in the field by educational institutions:
- Offer practical hands-on training and experience for students.
- Update curricula regularly. As technology is constantly changing, keeping curricula updated is imperative.
- Taught by instructors with practical, recent experience. The best instructors are those who are both empathetic and have ongoing real-world experience.
- Less predatory practices from certain institutions that refer to themselves as ‘coding boot camps.’ Too many institutions exploit individuals who are not well-informed by selling them costly courses that have little impact. It is because they prioritize profits over their students’ best interests, which needs to change.
TDT : Coming to the MidCamp, how do you look forward to the event? (We had scheduled this interview before MidCamp—Editor)
Ashraf Abed: It will be my first time attending MidCamp! I look forward to seeing old friends, exploring a new city, and learning from and teaching other attendees. If you’re here, say hello at the Debug Academy booth!
TDT : ‘How to use Dependency Injection & Services for unexpected performance gains’ is the topic of your session. What will be the major takeaways?
Ashraf Abed: This session was a hit—you’ll be able to find it on Drupal.tv!
After introducing Services & Dependency Injection, I walked through a case study involving a website with a serious performance issue. We discussed how we used the characteristics of Dependency Injection to address the performance issues directly, resulting in significant performance improvements for the website. (The answer was updated post MidCamp—Editor)
TDT : Drupal 7 to 10 migrations are happening very slowly. If you take the statistics, out of 889,602 listed Drupal sites, 434,167 are still in Drupal 7 (as of April 16) (https://www.drupal.org/project/usage/drupal). Do you think options like Backdrop have any relevance here? How do you see the future of Drupal adoption?
Ashraf Abed: Not long after Drupal 8 was released, I saw an interesting comment: “Drupal 8 is the version of Drupal to skip.” That comment resonated with me.
Many people felt the move from Drupal 7 to 8 came with too many downsides. New architecture, new features, but also more complexity. It’s a fair perspective to have.
However, the move to a Symfony-based architecture also came with two significant improvements:
- Long-term security & stability
- Modern, extensible architecture
Long-term security & stability:
Drupal 8+ uses PHP’s package manager, Composer, to manage versions of all addons (Drupal Modules + Third-party packages). In short, it ensures the addons all “play nicely” with Drupal core and each other. As years pass, this becomes more and more significant.
Modern, extensible architecture:
Additionally, the newer Symfony-based architecture comes with many benefits. We can utilize modern Object-Oriented programming techniques to extend, override, and enhance functionality within Drupal. Furthermore, it allows us to import packages from non-Drupal PHP projects, to benefit from the work the wider PHP community has done.
And possibly most importantly, this enhanced architecture makes it easier to improve Drupal itself—Drupal’s UX in particular.
So, yes, Drupal 8 may have been a downgrade from Drupal 7 in some ways. But Drupal 10, the current version, is not. We now have a Drag & Drop layout builder in Drupal core, a new front-end theme, a new admin theme, and many other ongoing UX and Content Editor-focused initiatives.
The community has invested in the new architecture; now it’s time to reap the benefits.
Note: The vision of this web portal is to help promote news and stories around the Drupal community and promote and celebrate the people and organizations in the community. We strive to create and distribute our content based on these content policy. If you see any omission/variation on this please let us know in the comments below and we will try to address the issue as best we can.