The official definition of CTO is “executive-level position in a company or other entity whose occupation is focused on scientific and technological issues within an organization”. I’ve never been that. Indeed, within the startup world means “fullstack-lead developer”. This is what I am now and what I was for one year in Norauto. I lead a team, take technological decisions, teach and mentor people, introduce and apply agile methodologies. Actually is my second job experience doing that.
Yes, I work with Agile methodologies since 2013, at least using some Agile techniques. I prefer Kanban over Scrum, nevertheless I work with SCRUM most of the time.
No, I don’t have yet done a SCRUM certification. But the day I’ll get one, it will be the Product Owner one.
I like to say I’m 50% proactive and 50% reactive. I like to propose new ideas, investigate, prevent and try to improve myself and my environment.
But I’m a foreigner too, and change country, lifestyle, and even language, make a man really reactive.
Moreover I came to Spain during economical crisis and that forge anyone who want to survive and find a good job to be reactive and proactive at the same time.
The greatest value of any company is people. Software values nothing compared to people who crafted it. Peopleware is the art of developing productive persons and teams, increase and promote good company culture and encourage continuous improvement.
In ancient latin there are two words to express the concept of leadership.
Potestas. Is the concept of power give by a charge. Is the legal power. The chief has power over his employees. People do what the power say to avoid bad consequences. It cannot be questioned.
Autoritatis. Is the concept of knowledge. It comes from internal virtues. People follow the wise man advice because he is wise, he has experiences, he has an explications for what he suggests to do.
I prefer to have authority over power because it carries natural leadership with it
Yes absolutely. A CTO should take decision about technical solutions, time and processes. Nobody should never do that without knowing deeply what he is doing.
Yes, the CTO is the one who takes the technical decisions about how to craft the product or the service the company is going to sell. Indeed the product (or the service) depends on the business model, so he need to understand very well how the company develops its business model or he will be unable to take the best decisions.
About me as...
I started to work as developer in 2007. But for half of my career I have done more than a job at the same time. I still do some freelancer work meanwhile I’m a full time employee
Fullstack is a dangerous definition. For me a stack is composed by these layesrs:
Of course nobody has a complete knowledge of everything. But I can comfortably fit in any of these layers an fill my knowledge GAP quickly.
This is a very complicated question. I worked on high traffic websites like Rankia (with 4 milion unique visitors in a month). International ecommerces (like Norauto). Crowdsourcing projects (like Quick). Multiple third parts integrations (like GoPayments) and I really cannot decide which one is the biggest or hardest one!
I think to work in a team is always better. Is more motivating and rewarding, but I’m quite used to work alone too.
On the top of my list there is python, but is not alone. Maybe I’ll learn React too. In deed everyday I’m more and more attracted by the IoT so I guess I’ll take a close look to Arduino.
Java and .NET have their own market and rules. I prefer new, edge technologies. Is easier to access to new projects, to apply new ways of work and follow good practices. In the place where I live, the 90% of java or .NET job offers are to maintain something already existing, in an already existing teams with their own (most of the time not agile) methodologies. This is not what I want. I want to work with Kanban and SCRUM. With TDD, CI/CD, write clean code and collaborate with my team mates without a rigid vertical hierarchy. Cutting edges technologies and Rails React or Python are the easiest way to achieve that.
I write tests before writing code. But I’m not a TDD/BDD ninja. I still use framework, sometimes I still design a bit before coding. Sometime I write an entire group of tests before starting to solve a problem. TDD/BDD helps me to think how to approach a situation. Indeed where there is nothing to think. I don’t use TDD. (but I write tests anyway!)
I definitively moved to Valencia the 19th August 2008 and I celebrate it every year!
I’m an open person, I love to share my knowledge and enthusiasm with others, so for me is very hard to work with demotivated mates, liars or sloppy coworkers.
I’m very intolerant to incompetence, specially when people don’t do anything to improve their skills or solve their lacks. It burns me down quickly
I prefer quality over quantity, interact with people (customers, technical teams and users) to decide together instead of receive detailed instructions without having a big picture view.
Cooperation. Knowledge sharing. Independence.I’m a big follower of KAIZEN philosophy. I need to be able to improve myself, the team and our work every day.
Definitively not. I have a beautiful home here in Valencia and a mortgage to pay for it.
My wife has a great job here and my daughter is too young to change home without suffering it.
Moreover I come from Italy, I lived in London and Berlin. I think I already changed enough, and is time to take root.
Answer to this question is tricky. If we consider spare time, all the time I have except work and family, the most part of it is dedicated to computer science and technology. I use to study books related to coding, attend to or give tech talks, develop my own side projects or solve code katas. Otherwise if my spare time is the one NOT dedicated to Information Technology, in this case I love to read comics and novels, I collect coins, and I’m passionate about photography, LEGO, ancient history and travelling.
Italian is my mother tongue, my Spanish is like a native one (excluding my Italian accent, of course). I have an average English and I’m studying French since 2014.
Yes, but by the moment I don’t want. Indeed, never say never!
Actually I think I don’t have enough knowledge (at least by the moment) to understand market and economy.
I’m working hard to jump from lead developer to CTO/project manager. Actually I achieved to have my own team; my next goals is to become a real product owner, and in the future lead a group of teams.