About Juan Tellez

This page contains the professional information about Juan M. Tellez

I have over 25 years of experience in software engineering as an engineer, a manager, a director, and an architect.  I enjoy starting with new companies as an engineer and working my way up into leadership as I have done at the last three companies I worked at.  After proving myself as an engineer and demonstrating leadership and architectural skills I have always been promoted to formal leadership positions.  

I have managed tens of projects over my long career as a manager and technical lead.  At Oracle I managed multiple releases of software per year and a long software release that included a complete rewrite of CRS.  In Apcera using much more agile techniques I managed shorter projects on sprints doing smaller functionality pushed to our Apcera based website.   I have built three teams of 20+ engineers, and as a director at Oracle I lead a team with 3 managers and 25 employees in three countries.  I hired, fired, trained and mentored. I worked closely with both in-house and outside recruiting designing the interview screening, phone and on-site processes.  I have managed distributed teams since 2007, having dealt both with multi-site/multi-country environments as well and a team of 30% remote engineers. I have a strong understanding of overall software system design, implementation and testing processes, including Scrum, Agile, Xtreme Programming, waterfall and test driven development.  I believe in processes that adapt to the age and size of the team, the nature of the product, and the requirements of the industry. 

As an engineer and architect I have worked on complex systems that exist right at the boundary of the OS, most specifically in distributed environments.  At Oracle I developed code for CRS which was the cluster framework that controls the RAC Oracle database.   At Embrane I designed and implemented the distributed architecture of the Embrane distributed virtual appliance.  That system used both changes to the Linux kernel and C code in the user space. At Apcera we developed a container management system similar to Kubernetes, and I designed and developed private network implementations using GoLang, IPTABLES and other techniques.

The Apcera systems ran primarily in the cloud, using AWS, GCE and Azure.  We supported several clients with a SaaS implementation that required 24×7 support from the whole organization and as engineers and managers we participated in the on-call schedule.  The scale of these systems was up to 100 VMs and 1500 containers on multiple clouds with thousands of live customers.  


The Documentation for Apcera may still be live here: https://docs.apcera.com/

As an engineer I have written production code in C, C++, GoLang, Python, Java, Perl and Bash. I’m comfortable with all these languages and can come up to speed in any of them given a few weeks of intense coding.  I’m intimately familiar with several variants of the Unix operating systems including Linux.  The code I wrote at Oracle continues to serve thousands of sites across the world, while the code at Apcera is still in production supporting Volvo driverless cars. Ericsson no longer supports the Apcera platform for any customer except Volvo. The Embrane code was purchased by Cisco and reused in other applications but the Embrane product stopped being marketed and maintained by Cisco. 


Apcera was acquired by Ericsson, and after 5 years with the company I decided to take a Sabbatical.   For two years I sailed my catamaran Ay Caramba (A Catana431) with my now ex-wife, from California all the way to the Caribbean and Florida.  The experience was incredibly fulfilling in many ways.  Among them, I had to remain technically engaged during the entire trip as this boat includes a very complex set of systems.  I had to diagnose everything from electrical problems, issues with an open source chart plotter, connectivity to our sat phone, water pressure, diesel engines, navigation, planning , and communications. In short I became a hardware and software engineer, as well as a captain, navigator, and fisherman.

In 2020 Covid happened, and while many Americans got ready to leave their homes, move into homes away from the center, buy boats and go sailing, we in the sailing community found we no longer had any freedom to go anywhere. So I did the sensible thing and sailed from Puerto Rico to Florida and put my boat on a dry dock, then eventually sold it.

After this experience returning to the real world was not at all straightforward, but after refreshing my knowledge by taking the UCSD_AI/ML bootcamp, I found myself working for a database company Yugabyte which wanted to build their DBaaS, and had a POC example of it already running on top of Kubernetes and a rudimentary UI. We put together a proper team and 6 months later launched the first version of it, using Kubernetes as the backbone, and a monolith server serving the UI, using Java, Play framework, OpenAPI for API generation, and supporting AWS and GCP initially. Over three years we added a lot of different features to the system and I’m very proud of the team and work we did. Two years into our experience the financial pressures on Yugabyte increased and we stlowly started one downsize after another. When I left in 2025 the team was barebones but running a strong website with over 300 databases and over 100 production customers.

After YB I went to CB (CouchBase), and found the same problem set, a DBaaS using CouchBase’s noSQL database. It was quite interesting to see how close the two companies were in many ways, and how hugely different in others. The top priority at CB was to improve the execution motion, not necessarily to change the architectural design of the DBaaS. I found a system using an engineering approach from building using single engineers, delivering to a QA handoff, pushing to DEV, then STAGE (test) and finally PROD.