DrupalCamp London is coming around the corner! If you have the chance to go, I highly recommend it. The organizers put on a top-notch event. Last year I had the privilege of giving my first keynote at the conference. I firmly believe that open source is a creator of opportunity. There is no such thing as free software. In open source, we donate our time to provide software that has no monetary cost. This lowers the barrier to entry by removing a layer economic limitations. This is why I love working in open source, and Drupal.
I realized I never wrote up my keynote or shared it beyond the recording. A year later it seems like a great reflection point.
I had been playing with code since middle school. I learned PHP because our Battle.net and Counter-Strike teams wanted websites, somewhere we could post news and stuff. Thanks to XTemplate and (I think?) PHPNuke. I then met some friends who played Ultima Online and began writing C# so we could hack on RunUO and have our own shard. For the record, C# is probably my favorite to work with and is one reason I'm glad to see OOP in Drupal 8.
What is open source?
The term "open source" refers to something people can modify and share because its design is publicly accessible.
This definition is from opensource.com. I like it because it is not limited to code. Having ideas open, shareable, and hackable leads to opportunities that would not be found in a locked down environment.
This is what allowed me to grow my hobby. It was a career possibility back then. It was just something fun I could do. I got to learn how to code by reading open source software and sandboxing around. I wrote a C# desktop client that communicated with our PHP website - security holes and glaringly bad code included.
Fast forward some years and I still wrote code as a hobby. I built a CMS for a World of Warcraft guild so we could manage raid times and membership. But I had met my wife and needed to get a real job that didn't involve making sandwiches and provided insurance. So I got a job at the local beer distributed and eventually became a driver, throwing kegs of beer around for thirsty college students.
Sometimes I think things happen for a reason. It was November of 2012 and I slipped going down some stairs with my dolly and two barrels. I hurt my back and had a doctors note that I could not work for a few days. At the same time, a local marketing agency had opened a job posting for a web developer. So I took the chance. I knew I had some skill, but I didn't think enough. But I went for it.
The job interview was to take a Photoshop mockup and convert it into a WordPress theme. I had worked with WordPress once or twice before, but not much. I had always opted to hack things on my own so I could fiddle around.
Thanks to open source...
I could review and learn.
I was able to review other existing themes and WordPress documentation to accomplish my task. I firmly believe you gauge someone's skill by the ability to solve problems. Not by how well they have memorized a process.
No training or formal education
I have a bachelors in Software Engineering, now. At that time I had an Associates degree in IT Networking. All of my code writing had been self-taught and learning by examples.
I was as knowledgeable as I chose to be.
Working with open source, my only limitation was my willingness to debug and reach the Google nethers for an answer.
Roughly 5 years ago, now, I started my first Drupal site. With Commerce Kickstart 2. I installed the demo store. I had to rebuild the site because you cannot uninstall the demo. It was a fun first ride. While we all of our sites on WordPress, we had a large eCommerce project. WooCommerce was in its infancy and there were many half-baked WordPress solutions. Through research, I found Drupal via Commerce Kickstart.
Why did I get hooked?
I got hooked, initially, out of the fact it was free and was stable compared to my other options. Magento felt too closed and heavy, requiring too much of an ask on hosting requirements.
Drupal had centralized issue queues, an active IRC channel and a free spirit of help. With basic research, I felt I could take on this task by just experiencing the static parts of the Drupal community.
There is something special about the people we work and connect with through Drupal. It still feels special today as it did those first few stressful weeks of figuring out what the hell I was doing while using Drupal. The code did not give me all the answers. Reading hook documentation only takes you so far when you're new.
- StackExchange question and answers came from people.
- Documentation on Drupal.org and blogs came from people
- IRC (now Slack, too) is full of people willing to donate some time and answer questions.
This community had sold me on Drupal, and it was from just the tip of the iceberg experience I had.
What makes the community?
At its basis, I think a community is made of people who share ideas. Is that not how open source projects start? Someone shares an idea or code. Someone else thinks it is a great idea or has a similar idea. These individuals work together to create more ideas and code. Now there is a project attracting more individuals and it becomes a community, regardless if anyone has ever met.
However, a community does not get far that way. What makes Drupal special is the friendship that seems to span all these individuals in different timezones, nations, and cultures. We make these friendships and bonds at user groups meetings and conferences (Drupal Camps for the win!)
Drupal & the community brought new opportunities
So, I got hooked on Drupal because of Drupal Commerce. We shifted away from using WordPress to using Drupal. Drupal's features allowed us to handle custom content models customers wanted, with less code to maintain. Community support made it easier to solve hard problems. Working with Drupal you feel like you have a support team behind you. It may not be immediate, but there are community members who will go above and beyond to help you solve problems (if you're polite!)
Drupal helped me land my first freelance gig!
In the past, I had done some freelance here and there. Nothing big, unless you count the two lost Bitcoin from when they were worth $5. Oops.
I had started contributing patches to some of the modules we were using. Specifically the USPS and UPS modules, just to help improve them. We were using them at work and I wanted to give something back in exchange. My activity in the queue turned into freelance work from the module maintainer, helping me pay down some bills.
DrupalCamp Atlanta 2013!
Andy Giles, said maintainer of the USPS and UPS modules, offered to fly me down to attend DrupalCamp Atlanta. I accepted the offer, with my mind yet again blown that this opportunity was happening. It's the career-defining moment of my life. I was shell-shocked by the openness of the community and the discussions being made. This was before Weather.com had officially launched on Drupal, and people were discussing those challenges. I couldn't believe it.
Thanks to Mike Anello, Ryan Szrama, and many others I spoke to at the conference
- I offered to co-maintain Commerce Reports and opened the 7.x-4.x branch to overhaul it
- I created a local Drupal user group
- I chipped away at my imposter syndrome
- I realize I could make a career out of Drupal
Networking and meeting similar individuals
Drupal Camps and local user group meetings introduced me to people from all over the world. This networking allows us to continue to share ideas, work on our projects, and introduce and nurture new members. I love the fact that the handful of times I needed to go to New York for a client that I could attend the NYC Drupal meet up.
Provides a way to show skillset and interact with others
I had horrible imposter syndrome. It is why I never pursued a career until I realized I was going to break my body down if I continued to throw barrels of beer around. The community allowed me beat back that imposter syndrome and realize we're all normal folk.
Creates demand for skills and people with those skills
If Dries has never released Drupal, hundreds of thousands of us would not have jobs. If those other individuals had not gathered around Drupal, those same hundreds and thousands of us would not have jobs. Even consider Drupal Commerce. If Ryan had not made Ubercart, ventured to Commerce Guys and built Drupal Commerce... I would not be where I am today. Everything I have today rests on a foundation laid by the Drupal community and the open source software we build.
As a community, we contribute Support, Inspiration, and Jobs. These are my motivators. For example
- If we build a better Drupal Commerce, we build a product people can sell
- If we build a better Drupal Commerce, more code samples and bug fixes in Drupal
The Driesnote at DrupalCon Dublin really resonated with me. I highly recommend reading his Drupal's collective purpose blog post. As open source users and contributors, we are making an impact on peoples lives. We are creating opportunities for people and lowering barriers. We may not be solving world problems, but we are doing something a little bit bigger than ourselves.
Some days I miss my CDL and driving a truck. Shooting the breeze with bar owners. But I also don't miss getting my truck ready at 5:30 AM and stacking barrels in a basement. So, thanks, Drupal and everyone who makes it!