7 Good Tech Practices to Follow (by Peruvian Startup Riqra)
I sat down with Julio César Canares García, CTO and co-founder of startup Riqra, a platform of wholesale suppliers for SME (small and medium enterprises). Riqra is currently being accelerated at UTEC Ventures, one of the most well-know startup accelerators in Peru. I wanted to share with the startup community the many technical practices that he is following at his startup. Many of them, IMHO, are noteworthy for the Peruvian ecosystem.
#1: English as a First Language
I was pleasantly surprised that Riqra uses English throughout their development life-cycle. All is in English: variable names, file names, server names, documentation, comments, maintenance comments, bug reports, and even code reviews. Engineers who don’t know English won’t pass Riqra’s hiring filter, moreover, an English-speaking engineer will most definitely feel at home at Riqra.
#2: Not afraid of Spending
Many Peruvian startups suffer from “stinginess”, that is, they are not willing to spend hundreds of dollar per month on services (mainly SaaS that are available in another part of the world) that could, in the long run, save a lot of daily work, external consulting or headaches from badly-done custom work. The main concern on the part of (commercial side) startups is that when you compare the amount of funding that you are able to raise (hundreds of thousands of dollars for seed rounds) vs. the amount you are spending monthly (hundreds or thousands of dollars), it seems proportionally “too much.”
Julio chose the service Heroku, which is a cloud application platform that manages infrastructure (or PaaS — Platform as a Service). His bill runs in the hundreds of dollars, but Julio is happy with the productivity that he gets out of it. Instead of spending the time to create a custom-built system, he opted for this PaaS, which let him concentrate on building his product. In the early days, many startups waste too much time in building things rather than buying them and focusing on their core business. Many don’t make a good “buy vs. build” decision and try to tackle too many things at the same time.
#3: Use the Best Technology for the Problem
A pattern that many Peruvian startups show is their reluctance to step out of the comfort zone in terms of technology choice. Many startups have the chance to have a clean slate to start, but pick PHP (LAMP) as their technology stack. There is nothing wrong with LAMP, but the 90s was 20 years ago. Bucking this local trend, Julio had the courage to pick GraphQL instead of REST, and nodejs instead of PHP. This decision was made, with knowledge that there won’t be too much expertise (in GraphQL and nodejs) in the market to hire from. He will have to inspire and train them, as he has done so far. Julio couldn’t be happier with his choice of GraphQL, it abstracts the back-end so much, that he has “time to do other things”, he commented.
#4: Having an Automated Code Workflow
One of the most under-looked skills/knowledge in Peruvian startups is code organization. Often, engineers come out of school knowing how to make a project of one person, but not too many know how to setup project for a team of engineers and several environments. By setup, I mean organizing repository, branches, environments (development, testing, staging, production) and pipelines that go between them to deploy the right version the fastest way possible. In essence, having the whole process automated that works consistently without human error. At Riqra, they have set their development pipeline to release often, and they have sometimes done so, many times a day. They have organized their code around “feature flags”, meaning that they can release a feature, but don’t show the feature until the “flag” is on. Features can have their respective branches and server environments. In the Riqra workflow setup, one can create an isolated server with a new feature (for testing purposes) and load it with production data.
#5: Understanding Agile, Really …
Many startups, not just Peruvian ones, fall into the trap of following agile methodologies (like Scrum or Kanban) to the letter and forget that the most important goal is to come up with a product iteratively. A team cannot work iteratively if it cannot arrive to a “production ready” state often. This was well-understood at Riqra. They have avoided the fluff of the popular methodologies and adapted to a workflow that works for their tech team and their clients. A feature can be deployed to production literally in less than an hour. Their development workflow is proof of this understanding of moving in an agile way.
#6: Developer Empowerment
One aspect of development that I don’t see often in Peruvian startups is having an empowered tech team. Too often, I see the CEO calling all the shots or a CTO being a subordinate of the CEO, not a partner. In this kind of environment, developers are often under motivated and responsibility is misplaced. Julio understood this because of being a developer himself. He has set the Riqra development environment so that each developer is responsible for not only writing, but also deploying, monitoring, evaluating, rolling back and fixing their own features in production. They become truly “owners” of their features. For this purpose, he has set tools like Pingdom and Fullstory to monitor performance and usability respectively. With FullStory, he told me that developers have watched how their feature was used by their clients, like a movie, even at wee hours at night. “This brings a sense of pride, when you are able to see your work being used in Production”, Julio asserts. In this way, by giving ownership and transparency, developers have a direct line to clients, and therefore feel more responsible for their outcomes.
#7: Technical Leadership
One manifestation of what I’ve mentioned above (lack of empowerment of the tech team) is that technical leadership is lacking in many Peruvian startups. The reasons are perverted, for once, many CTOs lack the technical leadership from the get go or just are not given the chance to lead, for fear that they might screw up or simply because they don’t have an assertive enough personality (most of us techies suffer from shyness). This is not what you find at Riqra. In order to be successful in an organization of techies, one must have empathy and understand how developers think. “Developers don’t like to be lead by somebody that they don’t respect”, told me Julio. At Riqra, Julio has set an environment and the processes that are transparent and give accountability to developers, and it’s a place where the work is interesting and cutting-edge, so that you stay motivated and challenged.
Among Peruvian startups, Julio has emerged as clear leader of his kind, because he has done things that are not commonly done in this part of the world. “I’ve learned mostly on the Internet … necessity is my driver”, says Julio. A technology leader is not only a master of all things technical, but also a master of soft kills like leadership, empowerment, vision, inspiration, empathy, transparency, accountability, motivation, responsibility. “The moment you start wearing the business hat, that’s when you’ve graduated to being a technology leader”, remarked Julio, in closing.
With all these practices, Riqra, with Julio at the technical helm, is on its way using world class development standards, mostly learned on the Internet. And one day, they might surprise us (the Peruvian ecosystem and the World) in many other ways.