This is the first chapter of our story, a story in which we embarked on a journey to create biicode. We hope this gives you a hint of the pains and gains of creating a start-up from scratch. This is our story.
Why I quit a tenure track position as professor
I’m Diego Rodriguez-Losada, the first promoter of biicode and one of its founders. Right before embracing this adventure, I had a comfortable position as a professor in Universidad Politecnica de Madrid.
I had been working very hard many years before and after my PhD: publishing research papers in top ranked journals, leading projects, etc. I had recently obtained my tenure track position, I was the first to do so in my department and probably the youngest in my college. I had also recently had my third child. I knew I was smart and I was also confident with my solid background, but compared to some of the brilliant and talented people I met during those years I felt merely mediocre. Meeting in conferences with some of the best brains in my area (Robotics), like S. Thrun or P. Newman was amazing, but realizing that even the local and much younger than me Spanish talents such as J. L. Blanco were far more capable than me, was simultaneously frustrating and inspiring.
This inspiration motivated me to join the open source movement. I started to release our C/C++ research code, working together with my friends M. Hernando (my former advisor) and A. Valero (former colleague, now an openHW and 3D printers master in BQ). We had a lot of trouble managing dependencies and I wondered about the absence of a good multi-OS dependencies manager for C/C++. I love C/C++, but it made me jealous how languages like python managed so easily to dependencies on third party code (e.g. just the simple task to use a serial port in any OS). Why couldn’t this be done in C/C++? Why libraries are so huge in C/C++, forcing one to use the whole library even for a simple task? Why one of the most used languages (up to 20% of the world source code) does not have a dependency manager?
Why couldn’t this be done in C/C++? Why libraries are so huge in C/C++, forcing one to use the whole library even for a simple task? Why one of the most used languages (up to 20% of the world source code) does not have a dependency manager?
So I imagined a simple dependency manager for C/C++ that completely avoided packaging and, at the same time, was able to reuse individual source code files easily. I even realized that such an approach could be great for every language, as exactly the same procedure for publishing, reusing, handling dependencies and conflicts for every language sound the proper approach to the problem. This however is yet a very abstract and probably naïve approach on the matter since dependency managers already exist for other languages and it is almost impossible to compete with them.
I made some initial research to check that indeed nobody was building or trying to build something similar to this idea. And I decided that I could try to build it. How could I even dare think I could be able to build such a system? Why in heaven would I have any chance of succeeding in such a complex and challenging project?
Those questions drove me back in time to my early teens, when I was a top student in school, and probably the typical nerd that built miniaturized fm radio emitters with my homemade PCBs (using acids, the reason why my mother was not very happy about it), and programmed videogames in our Amstrad CPC6128 instead of playing them. Those years I learnt that in technology, everything is possible: it is not necessary to be a genius, just smart enough and have a clear goal and ambition, have discipline and commitment and people you can learn from. And I learnt to love challenges. The PhD, the tenure track position… are probably partly just the consequence of that love.
As you can guess, I decided to quit my position (the first professor to do so and the only one until today in my University) and run my startup: biicode, where we are building this system, and I am enjoying an ecosystem of brilliant (more than me, as usual) developers and software engineers, that are also challenge-hungry and willing to learn. And we are very close to show that this technological challenge is, indeed, also possible. There is only a missing piece, a different kind of challenge I have possible underestimated: the community. This deserves a dedicated post, so stay tuned :)
This story continues with Miguel Hernando’s memories of where everything started. Find the second episode HERE.