Eumir Gaspar

@corrodedlotus

Investing in the developer community to grow your company

This is a story of investing in skills and development with a twist: instead of your own skills, this is a story of investing in other people’s skills. Back in 2010, I was asked by my current freelance client if I wanted to join him in creating a company in the Philippines. I would be the first employee and due to some circumstances (and some goading from my future wife), I made a leap of faith and agreed.

For a couple of months, there were only two of us in the company working on client projects. I was learning the ropes as well since I was focused on frontend before, but now I needed to ramp up my skills to also cover the backend. My boss had a vision, he expected to double our numbers every year. That meant 4 people in 2011, 8 in 2012 , sixteen in 2013 etc. When I heard of his vision, I admit, I was a bit doubtful — we were a Ruby shop and the amount of people in the monthly Ruby meetup never exceeded ten. And everyone had a job!

To be able to reach those targets in the future, the only plan I could think of was to poach people from other companies or train non-Rubyists for the job. I was naive and this is why he was a CEO: he knew how to have that kind of vision and to actually pull it off.

Fast forward to 2016, I celebrated my fifth year anniversary with the company — with twenty plus people. How was that possible? Simple, we helped grow the community.

As a disclaimer, my previous company didn’t grow it single-handedly, but was part of the effort in doing so. The Ruby community in the Philippines is pretty tightly knit and I think this was one of the reasons we also got to that point in time. Here are some of the things we did to help make the community as it is today.

Hosting meetups

One of the things he did to put the company on the map was by hosting some of the monthly Ruby meetups. In doing so, people learned about the company and got to talk with us employees. As custom in our community, meetup hosts also got a free job ad / plug — which was pretty effective seeing we hired a few attendees in some occassions! I think this was one of the best and easiest things to do since meetups were usually composed of finding a person who will talk and buy pizza and beer enough for twenty people. EASY.

Sponsoring events

We researched and sponsored school events and job fairs. With meetups, the people who usually came were other developers who were curious about Ruby, people who wanted to improve their Ruby skills, and veterans who were there for the discussions with fellow enthusiasts. With school events and job fairs, the target market are the students and job hunters. Sometimes, sponsoring also meant having to do some talks, which some of my colleagues did. This gave off the impression that we knew our stuff and that we were a good company to apply to.

Speaking in conferences

In line with sponsoring events, we also did some talks and sponsorships in conferences. The two major ones that I know of (from recent memory) are DevconPH and RubyConfPH.

By speaking and sponsoring these events, we also got to reach out to MORE professionals. The RubyConf PH event also involved some of the big names in Ruby like Yukihiro ‘Matz’ Matsumoto, Aaron ‘tenderlove’ Patterson and André Arko.

In doing so, people who didn’t usually attend the meetups surely went to the conferences — one, because their Ruby heroes were there, and two, who wouldn’t want a conference at the beach? (granted some of those were in the CBD, but still!).

Planting the seeds

There was a huge shortage of Rubyists in the Philippines. One, because it was still quite new, and two, it wasn’t taught in the universities. In universities, the foundation languages were usually C or Java. After that, it was mostly usually algorithms and solutions using any of those two languages (since you already had them as your foundation). Electives with different languages were few and mostly comprised of Lisp, ASP (Microsoft sponsored some of the major universities so this was part of the curriculum), and usually PHP since it was one of the easiest languages to learn.

By spreading the word through trainings and ‘install fests’, we got to talk with novices and tried to entice them to try Ruby out — and then apply to us. We did succeed in this regard as well — we had a bunch of interns who came to us for their OJT (on the job training). It was a win for both parties: students got to peek into the professional world and learn during the process, and as a company, we had more people to train and eventually hire.

Helping out in open source

During my time in my previous company, we suggested that the interns contribute to an open source project and then blog about it. As you can see, Karlo and his pair helped out Gitlab by adding a new feature. In doing so, we knew that he was a good prospect in hiring and we eventually did hire him as soon as he graduated. Pretty cool!

Not only did he get to learn stuff and be hired in the process (eventually!), he also got to help with an actual community project! Talk about hitting two birds with one stone!

Training the newcomers

Continuing from my point above, we trained some interns who eventually applied to us for hiring. Since my old company was a pair programming company, we paired almost 100% of the time so seniors can train and mentor their colleagues while working. Interns got to do some “shadowing” where they sit behind a pair and watch how they work.

They can still ask questions and suggest things, but generally they were there to watch and learn. Sometimes they also got to “drive” where they were the ones who typed while the senior-junior pair discussed the solution or told them how to solve it, while sometimes they were asked to be the ‘tie-breaker’ in some disagreements for solutions.

These steps took us years to accomplish. As an example, the interns we hired were juniors in college, so after they completed their OJT hours, it wasn’t until a year after that they graduated and applied to us.

As for the community, the meetups were a regular thing and in doing so, the community got to know each other better and spread the knowledge, such that everyone was a little bit better every after a meetup.

By investing time in helping out the community, everyone benefits since the community grows and now you have a larger pool of developers to choose from! It is now a thriving ecosystem of seniors and juniors helping each other level up their skills. I’ve known a LOT of people from the community and I’ve seen everyone just become better at what they do. Win-win indeed!

More by Eumir Gaspar

Topics of interest

More Related Stories