Table of Contents
Today I was pleased to attend to the "From Developer to CTO" Bootcamp, the final phase of the Tech Leadership Training Course: an online program promoted by Facebook Developer Circles in partnership with Codemotion and designed to help developers in their journey to become Chief Technical Officers by combining strong interpersonal, influential and technical skills.
Here's a quick breakdown of the previous modules:
- Module 1: Defining the CTO Role, focused on defining the role of CTOs by touching their main responsibilities and challenges.
- Module 2: AI/Machine Learning, dedicated to some strategic approaches to use this technology to create real innovation for a startup or company, and also focused on giving suggestions to the CTO to correctly introduce a new technology in a company.
- Module 3: Software Architecture/DevOps, based upon the concept of scaling and the analysis / review of the DevOps methodology, a modern and versatile full-stack approach that can be used to effectively deal with such problems.
The bootcamp, being the final phase of the course, is meant to be a unique opportunity to summarize and empower the knowledge about the topics covered in the previous three modules by gaining valuable insights from a highly experienced group of Codemotion and Facebook experts.
The bootcamp is a 2-days event hosted by Codemotion by the LUISS EnLabs & LVenture Group venues in Rome, Italy.
LUISS EnLabs, also known as "The Startup Factory", is one of the leading startup accelerators in Europe. It was established in 2013 as a joint venture between LVenture Group - a venture capital operator listed on the Stock Exchange - and LUISS Guido Carli University, and in just a few years it has accelerated over 60 startups. Twice a year LUISS EnLabs selects them for its Acceleration Programs and also organizes Open Innovation Programs to bring corporates into the world of innovation. Overall, the startups have collected 44 million euros, 11 from LVenture Group and the remaining from other international venture capital funds and Business Angels. Thanks to the support of its network of investors, corporates and institutions - including LUISS University - and its partners Wind Tre, BNL Gruppo BNP Paribas, Accenture and Sara Assicurazioni, LUISS EnLabs has grown into a real point of reference for innovation in Italy.
The Program - First Day
- 8:20: check in opening
- 9:00: Opening by Facebook
- 9:10: Opening by Codemotion
- 9:15: Talk by Codemotion: Data-Driven Decision especially in the CTO perspective, Andrea Saltarello, CTO @Managed Designs
- 10:30-10:40: Small Break
- 10:40: Talk by Codemotion: Business / financial management, Andrea Saltarello, CTO @Managed Designs
- 12:15: Talk by Codemotion: Tech Team Management (pt.1), Antony Mistretta, Founder @Inglorious Coderz
- 13:15-14:00: Lunch break
- 14.00-16.30: Talk by Codemotion: Tech Team Management (pt. 2), Antony Mistretta, Founder @Inglorious Coderz
All the talks have been held in english language.
The Bootcamp started with a brief talk of Mara Marzocchi, co-founder and Codemotion and operating as Chief Content Officer since 2011. She briefly reviewed the daily program and explained the attendees a series of info related to the overall course and the Codemotion roadmap for the upcoming months - which will eventually lead to Codemotion Milan 2019, the largest italian Tech Conference (October 24-25, 2019).
It was then the turn of Willie Elamien, Facebook Product Partnership Program Manager, which explained what Facebook Developer Circles actually is: a brand-new Facebook project aiming to create an international community made from local developer groups in the various parts of the globe and connect them with startups and companies looking for developers, tech leaders and CTOs.
The main idea of Developer Circles revolves consists in helping their members to collaborate, learn, and code in the following ways:
- Connect with other developers: Access an exclusive local Facebook Group community and attend meetups near you.
- Engage with local experts: Each community is organized and run by local developer Leads.
- Learn about new tech: Learn about Bots, AI, IoT, React and other tools.
- Build with other developers: Collaborate with developers of all types using the local communities and meetups.
For additional info, you can visit the Facebook Developer Circles Presentation Video or just take a look to the official program page.
Data-Driven Decisions from the CTO perspective
The third talk was hosted by Andrea Saltarello, CTO at Managed Designs, Microsoft Regional Directors member and successful IT entrepreneur. During his long (~ 3 hours) attendance, he did a great job by bringing a lot of very interesting topics to the table.
He started defining the main aspects that helps defining a good CTO: relying to data-driven decision instead of gut feeling; acting as a translation layer between business expectations and technicians, people vs strict way of thinking; being able to calculate how much amount you can afford to invest in knowledge in order to avoid the potential losses coming from innovations and breaking changes you might miss otherwise; being able to communicate with colleagues and employees and also enforce communication between layers; countinuosly sharing feedbacks, as opposed as keeping everyone in the dark.
He clearly explained how all these concepts, if properly embodied by a competent CTO, could help him in to match what company needs with what the employees - and the customers - like the most.
He also introduced us to feenpal, a web-based e-invoicing SaaS he's currently working with, to make real-life examples of the decision-making tasks that a CEO has to perform when he's in charge of defining the launch of a new IT product. He explained how to rely with the other executive partners - the CEO, the CIO, the marketing manager and so on: once again, communication and knowledge sharing was the ultime key to success. He emphasized this concept a lot, and I think he pretty much nailed it: despite being obvious, most companies and startups just don't have it in their DNA, thus being unable to properly design and/or succesfully launch a new project.
It definitely was a great session, with a lot of valuable concepts to learn. I really liked the fact that most of the info transmitted by Andrea perfectly applies to any scenario - including the PMI-based Italian one - since most of these talks tend to give advices that are only fit for international companies.
Business & Financial Management
After a small coffee break, Andrea got the microphone back to talk about Business & Financial Management from a CTO perspective, consisting in a rather versatile and heterogeneous set of skills such as: planning the activities ahead, thus avoiding task switching; being able to handle the various aspects of the business plan, such as: anaging assets, evaluating the budget, being able to assess and prevent the risks, considering the change management costs and evaluate the gains & losses of present and future activities; being able to properly calculate the TCO (Total Cost of Ownership) using timesheets, GANTT and all the available data.
Again, the data-driven decision approach was granted a major role here.
Tech Team Management
Right after Andrea came the turn of Matteo Anthony Mistretta, the founder of Inglorious Coderz, who hosted a two-parts talk (before and after the lunch break) about Tech Team Management.
I have to say that I literally loved his talk: during my 15 years of life spent as a lead developer, I can say I have experienced first-hand most - if not all - the scenarios, and samples that Matteo mentioned during his speech... and, most importantly, I approached them in the same way and reached the same conclusions - and, luckily enough, mostly achieved the same goals. That talk was almost a deja vu to me - to the point that I think I almost felt being an inglorious coder myself!
Jokes aside, Matteo did a terrific job explaining what being a Tech Team Manager actually means by making use of an enticing example-driven storytelling that encompassed the latest 20 years - roughly from the 2000s to the current days.
Practical technical leading; the importance of communicating with the management - by properly "translating" the technical terms - and to push developers to do that as well; being a a leader, not a boss; the irreplaceable role of the metrics: pertinence, customizability, innovation, freshness and application, for the technologies; architertural skills, PM skills and trasversal skills, for developers; satisfaction and happiness, for the stakeholders; speed, cost, coverage and quality, for the actual development phase. Marco introduced and explained all of these concepts with an unique, passionate approach that could only come from the heart of someone who actually did that for a good part of his life, and the audience immediately got that.
In the second part of the talk, he switched to Agile topics and introduced some key concepts of eXtreme Programming (XP), a development methodology that emphasizes software quality and code responsiveness by making an extensive use of some proven good coding practices, such as: measurable, understandable Values; Test-Driven Development; Pair Programming; steady develoment speed; frequent iterations; constant refactoring (to keep the complexity constantly low while adding new features); and so on.
He then explained his views regarding how to be a good Project Manager: planning, coordinating activities (and assigning them properly), keeping track of what goes on (with timesheet and gantt), adapting to changes, driving communication, and - yet again - feedbacks. He then did the same with the key functions of a good Team Leader: assign responsibilities, making people grow, empowering people, leading by example, motivating.
Last, but not least, he talked about licensing management, first from the "buyer" and then from the "seller" point of view. He did his best to explain the differences between open-source and closed-source software, full packaged products (FPP), original equipment manufacturer (OEM), commercial use vs proprietary use, volume licensing, and so on. Truth to be told, this was perhaps the least intere spot of the whole talk - mostly because the previous topics were a blaze!
This was definitely a great bootcamp: the speakers did their best to give invualuable insights. I can only imagine how beneficial such "summary" would be for a young developer: I really wish I had these kind of stuff available when I started coding myself :) Can't wait for the next part!