Not too long ago, my good friend Alex Torrenegra published a post on his company’s blog which attracted plenty of comments and sparked a very interesting conversation among the software developer community in the region.

Assuming you’ve taken the time to read his article, what you’ll find below is an in-depth analysis of what I’ve learned over the past 5 years, building engineering teams and supporting Open Source communities in the US and Latin-America. I used to have a very similar position before becoming an active participant of the Colombian developer community. And, at that time I found that the “engineering deficit” (not just software) in Colombia was a new one. Today the conversation is becoming more mainstream, mostly due to the increasing popularity of technology startups and the more diverse backgrounds of people who want to build them, they are not mostly engineers any more.

Publications about this deficit/crisis in Colombia can be found as far back as 2008, and continuously through 2010, 2011, 2012, 2013, and 2014. I’ve dedicated a significant amount of my personal resources over the past 5 years to promote software development in the region. Today, I can say that I’ve been proven wrong numerous times on this assumption, and I’d like to share with you in some detail why I think that the belief of scarcity of “good developers” in Colombia is not very well founded.

The best proof I have is the superior level of engineers who have joined the Ride team in the past 4 months. We’re not a Colombian company, and yet 70% (9 members) of our core engineering team is distributed among Barranquilla, Medellín and Bogotá. Every week I look at the work we’ve been doing and I say to myself. “I’m never ever ever going to be able to build a team of this level again”, but since we haven’t launched our product just yet, you’ll have to take my word for it for now. I’m hoping you see what I mean when we release in the coming months. (we’re now live since this article came live, you can see what we’ve built at ride.com)

Looking at the raw numbers

Colombia is a developing nation where academic knowledge and research is not as prestigious as it is in developed nations. It’s difficult to dedicate a lot of time to answer academic questions when more than half of your population is on survival mode. This is shown by the fact that between 1960–2000 only 162 PhDs graduated in all areas of study (1). This amount has greatly increased to 909 between the years 2001–2010 (2). I’d say it’s a move in the right direction. However you look at it, you wouldn’t be wrong to say that our education system needs to work much harder and our economy needs to improve for us to dedicate more of our resources to academia.

Amazingly, in the same period of 2001–2010 there were 108,784 Systems Engineers who graduated (3), making it the degree with the 4th highest amount of graduates in the entire country. Considering that only 24,618 more lawyers graduated than Systems Engineers (4), I quite frankly find that number very impressive. Even more impressive is the fact that an astonishing 39% of graduates were women. From a pure numbers perspective, I struggle to see the deficit.

Blame the industry

Blaming schools on the lack of Software Engineers is just like blaming the same schools for the lack of Nuclear Engineers. It’s true there are no Nuclear Engineers in Colombia, but not just because the degree doesn’t exist, but also because there is no demand for someone with these skills in the Colombian economy.

Let’s go back to the problem Alex, and many others who I’ve spoken to, are facing in Colombia. Their version of a Software Engineer is one defined by the startup culture. They are building tech startups from Colombia, and even when their target market is sometimes local, they are competing against the best engineering teams in the world located in established tech hubs like Silicon Valley (SV). Colombian companies are looking for a very specific technical skills in a talent pool where these skills are not valued.

The software industry in Colombia is composed almost in its entirety by two big sectors: enterprise software and software consultancies. Fedesoft is an organization dedicated to the promotion and growth of the software industry in the country (5). As of the publishing date of this article, 100% of the organization’s board members are executives at companies that focus on providing either enterprise software solutions or software consultancy services. Since these are the companies that dominate the software landscape, they are the ones who determine which skills needed to be in the workforce. The vast majority of these companies focus on older languages, outdated tooling and practices than those used by smaller, faster moving startups.

When the job market determines what outdated skills are required to be employed, colleges and universities can’t choose to train their graduates on bleeding edge technologies. This happens in all industries, but the speed at which our discipline advances is orders of magnitude faster than others, Moore’s law is alive and well.

In Colombia, we have a software industry that is not ready to hire people who are experimenting with Go or Rust (very modern programming languages being developed by Google and Mozilla) because the market we have created of ourselves is not one of innovation. Most importantly, you can’t expect to find a forward looking industry when the organization that tries to promote the trade is actively working with the Colombian Congress on a very limiting and overreaching law that aims to regulate all Colombian software and add bureaucracy to the process of innovation.

So, when the Minister of Technology and related institutions talk about an engineer deficit they are referring to the thousands of workers these software factories need to continue to grow. It’s an industry that is starting to have a bigger impact in the economy, and there are important political interests which means it becomes the industry the government cares about. This is an industry dedicated to replicate and import someone else’s innovation, provide customer support for someone else’s software, offer cheap labor to international markets (near-shoring), and ship gigantic pieces of poorly designed software for governmental institutions and enterprises which have little knowledge on how to measure its quality.

This industry most definitely has a deficit and it’s a problem they have created for themselves. They are not an attractive sector to work for, even after salaries have increased thanks to an influx of foreign consultancies and near-shoring companies. The enterprise software industry in Colombia needs a reality check, better standards and overall employment conditions, if it ever wants to become a competitive sector. I’d say this industry has two problems, one related to marketing themselves as employers and another one related to where they’ve driven the quality of education in engineering schools. It will only get harder for them to attract talent as young engineers realize their skills have a bigger impact if they go to work for small startups, or more interesting companies like Google, especially when there is no significant salary differential.

Every day more and more engineers are trading their 9–5 jobs and suits for jobs at startups and modern tech companies. Enterprise software companies, the financial industry and others who depend on their engineering teams have had to keep increasing salaries and bonuses to try to retain their talent. I don’t necessarily think that all startup jobs are much better than the industry, but they are definitely better at marketing themselves and attracting talent, even when there’s cuts in compensation, higher risks and little job security. This is nowhere near happening in our country.

Is there an engineering deficit for Colombian tech startups?

I don’t think so, the Colombian enterprise software industry may have a problem with worker shortage, and one that will keep getting worse if they keep coming up with listicles like this one in their search for talent. They are looking for cheap “manual labor” as they call it, and this is not the same kind of talent that tech are searching for, quite to the contrary. So, if they are the ones with the problem then where does that leave us, the nascent Colombian innovative tech ecosystem?

I’m not going to deny startups and new tech companies in Colombia are struggling to find qualified engineers to hire, but this doesn’t mean that because they cannot hire them they do not exist. Their challenge is one that can be broken in two parts, qualified engineer availability and company’s ability to recruit said engineers, let’s look into the first part of this problem.

Where are all the qualified programmers?

The amount of companies working on innovating software products and technology platforms in Colombia is very limited. Even if you include near-shoring companies working for US clients, the amount of Systems Engineers who have been able to dabble in new technologies and tools, solve complex problems and fail enough to gain meaningful experience is quite small. And, even though I can’t estimate the amount of qualified software engineers, I can give you some numbers for context.

Since 2011, Colombia has been able to build the single largest JavaScript community in LatinAmerica. BogotaJS and MedellínJS, with 1,193 and 1,190 members are by far the largest Meetup groups in the entire Latin-American region, including Mexico City, Santiago, Buenos Aires, Sao Paulo, Rio de Janeiro and Lima. There are currently 8 meetups under the ColJS family, BogotaJS, MedellínJS, CaliJS, VillavicencioJS, QuibdóJS, PereiraJS, MonteriaJS, PopayánJS (in progress) and ManizalesJS (in progress). In total, we are close to reaching 3000 members.

I may not have exact numbers on the size of qualified programmer talent pool, but the fact that we were able to sell out a 2 day JavaScript only conference for 310 attendees (+40 diversity scholarships), with 98% Colombian attendees tells me that the potential size of qualified individuals is much, much larger than we think it is.

If we were to assume that no more Systems Engineers graduated since 2010 and we extrapolate some of the results from the 2012 salary survey done by MinTic (very low sample of 646 takers in all 246 Fedesoft affiliates members), and make some other very exaggerated assumptions like saying ~10% of people in technical roles went to other industries, we’re still left with 33.5% or about 36,000 people in technical roles. What would you do if I told you ~10% of them already have Github accounts? I think that even in the worst possible scenario, and assuming that only the ~10% of this ~10% (the ~1%) are qualified to work at your company, you’d still have ~360 people. You can build plenty of startups with those people, at an average of 7 engineers per startup, we could build ~50. Getting one of them to work with you, that’s the real challenge my friend.

I can’t find them, ergo, they don’t exist

The biggest issue I take with the “there’s no engineers in Colombia” argument, is that it pretty much shits on all the work that a small group of very passionate individuals across different cities and communities have done to create a substantial programming culture and high quality talent pool in the country. All of this during their spare time, without compensation, many times using their own money and for the love of the craft. If your company can’t attract and hire the best engineers, it doesn’t necessarily mean they are not out there. I believe it is more likely that you need to evaluate if you’re really offering the best opportunities for those who you want to work with. You’re probably also wasting your valuable time shifting that blame on our education system, lets leave that to other sectors and the ruling class.

The current team I’m working on is the 4th engineering organization I’ve ever hired people for, and even though I’ve been quite lucky finding great people to work with in the cutthroat startup world in the past, this is the first time I feel like I understand 5% of how I’m supposed to do it. What I can see from the obviously reduced context I have, is that in Colombia there’s a great number of job offers, a good amount of PR and buzz on how companies are going to change the world, plenty of talk about investment, lean startups and startup weekends, poor understanding on technical interviewing, a terrible perspective on compensation and benefits and zero understanding of what talented or qualified engineers can do and what motivates them.

All of the Colombian tech startups I know are heavily influenced by Silicon Valley culture (it happens in the entire world, we’re not unique), and it’s natural, since SV is the birthplace of this technological revolution that is going to take like 15 people to Mars in self-driving rockets at some point. The problem with this cult-like mentality is that companies assume that by talking the talk, writing the blog and adding the “we’re hiring” banner all over their website they are automatically entitled to multiple all-knowing programmers who have 5+ years of experience in bleeding edge technologies, work 10 hours a day, contribute to Open Source on the weekends, organize meet-ups while they sleep and talk at conferences during their vacations. This is your problem my founding friends, and I’m not here to debate whether these wonderful engineers exist or not, but assuming they did, why should they be working with you? The keyword here is with and not for you.

Tech startups didn’t become these great and cool places to work just because they could, cool = spending money. Offering better work environments (open spaces are not so fun any more), more freedom (no suits, no schedule, no bosses) and the promise of a big reward (stock options) proved to be an extremely effective way to poach talented individuals from large enterprises when the funding is limited and you’re just getting started (sound familiar?). When the salary differential was not that big between enterprise and young startups, these were the deciding factors.

Attracting and retaining talent has become much, much harder. Salaries have increased by a lot in established tech companies even with efforts to fix wages, making them the new enterprise. While “perks” and high compensations are the standard in “the Valley”, the prospect of working on challenging technical problems along the best minds in the field from healthy work environments is not. Today, the most effective way a tech company can differentiate itself, even if their product seems to be less technically complex (photo apps vs computational chemistry), is by having genuine engineering interests.