Cássio de Sousa Antonio has 20 years of experience as a software engineer and a technical manager in Brazil and the USA. Prior to starting his own startup, he had developed and contributed to projects for major brands such as Microsoft, Coca-Cola, Unilever, HSBC and others. In late 2014, his startup was acquired by one of the biggest advertisement conglomerates in the world. After selling his company, he wrote a book called Pro React, which teaches how to successfully structure increasingly complex front-end applications and interfaces using React, and started working as a consultant.
In this exclusive interview, Cássio shares insights into how his career as a software engineer evolved, lessons learned and challenges he faced along the way. He also talks about his entrepreneurial experience and a recently published book.
Magazine MN: Cassio, tell us a bit about your background. How did you start your career as a software engineer? How did your career evolve?
Cássio: I feel like I never had a formal "Start" in a software engineer career. When I was a child, I was heavily influenced by my uncle, who was a mainframe software engineer.
I got my first computer from “Santa Claus”, and back then there wasn't much you could do with a computer without getting your hands dirty and writing code. I've always been fascinated by computers and programming. I always made small games and tools myself and did experiments.
During high school, I started making websites as a freelancer. And even though my college degree was in marketing & advertising, when I set foot on my first job at an advertising agency the web boom began and my first attributions were to make websites and multimedia CD-ROMs.
At 17, I was "promoted" to "new technologies" manager and my career took off, but I’ve always been connected to software engineering in one way or another
Magazine MN: What was the most memorable moment in your career?
Cássio: There were certainly some memorable moments such as my first promotion or the first award received for a project I had worked on.
But there is one specific fond memory I have from when I worked as a full stack developer at Grïngo. Grïngo was known for being the most innovative and successful digital advertising agency in Brazil, with employees from all over the world.
Every month the CCO would gather all employees for a meeting and talk about delivered projects, recent hiring, eventual awards and so on. During one of those meetings, I chimed in conversation at the end of the speech to mention an important technical achievement that one developer had made and how it would be useful for many future projects in the company. Since not everybody knew me in the agency, the COO tried to introduce me as an engineer in the development team, but he was interrupted by my colleagues who shouted "He is our representative" and "He is the development team leader".
That moment profoundly changed my career, not only because it was important for my later promotion to "Technology Director", but also because it led to the realization that those guys already saw me as their leader and that I could actually manage people.
Magazine MN: What was the single most important decision you made that contributed to your success?
Cássio: I don't think there was a single most important decision, but certainly there is a single most important attitude, something that I would later learn that Israelis call Chutzpah. Having chutzpah doesn't mean to be disrespectful, rude or ruthless to others. It's about having initiative. It's about having the ability and confidence to talk, to propose or to do something without being ashamed or worrying about looking silly or getting in trouble.
To use my previous answer as an example: It's about chiming in your boss's speech when you know there is something important to add.
I never had a boss or met a company leader who wasn’t open to listening to employees’ initiatives. Quite the opposite - In the face of fierce competition and immense global challenges, companies value those with courage to disagree and contribute with new ideas.
Magazine MN: What were the biggest challenges you faced in your career as a software engineer?
Cássio: Software development is a constantly changing environment. Changes happen so frequently (in the shape of new languages, libraries, frameworks, methodologies, best practices...) that professionals often feel fatigue because of having so many choices and living under constant pressure of having to keep up with the latest and greatest new things. In highly dynamic segments of the industry (such as startups) the mental health of the employees is becoming a seriously and commonly debated theme.
I personally faced challenges in this regard, like the drastic scenario changes when Steve Jobs (correctly) declared the death of Flash as he introduced the original iPhone. At that time I was a technology director and the whole company had to shift paradigm: designers had to be told about the characteristics and limitations of a new medium, developers had to learn new languages and get used to new tools, clients needed to be educated about what those changes represented for their future projects and so on.
Magazine MN: You worked on project development for such big brands as Microsoft, Coca-Cola, Unilever and HSBC to name a few. In your opinion, what skills are required to become a good software engineer?
Cássio: That question is very broad. In fact there are excellent books entirely dedicated to the subject, such as The Pragmatic Programmer by Andy Hunt and Dave Thomas, and Code Complete by Steve McConnell.
Even incurring the risk of over simplifying, I can briefly mention the skills I look for when hiring a developer:
Continuous Learning: Things move fast; the language and tools you use today will change and may even not be the best choice for future projects. Make learning a habit.
Effective Communication: Chances are that there are a lot of people involved in your project (other developers, managers and general stakeholders). In scenarios like these, communication becomes vital to ensure that the project succeeds.
Estimation knowledge: Estimation is an indispensable skill that is essential to all stakeholders in any project and usually undervalued by software engineer. Software development is a very complex task. It's hard to consider all variables and foresee all challenges in a future project (and that's why many estimations go wrong), but you can get better at it by reserving adequate time and effort to this task and always being aware during any project of the relation between the estimated versus de facto time taken - this awareness will give you experience to get better next time.
Magazine MN: You founded a tech company in Brazil and sold it to one of the biggest advertisement conglomerates in the world. Can you tell us more about this experience? What were the greatest business lessons you learnt while running your own company?
Cássio: I was fortunate to start my company at the right time. For one, Brazilian economy was thriving. Additionally, the advertising industry was in a transitional moment that was perfect for our business proposition.
See, when the Internet gained traction, traditional advertising agencies didn't know how to work on this new medium. That's the reason the so-called "digital advertising agencies" emerged.
After lagging behind for years, these traditional agencies started to catch up: they had money, their creative people learned how to deal with the new medium and their clients were ready to buy, but they didn't have any experience putting together a development team. They were suffering from all sorts of problems with technology - from hiring and managing qualified people to delivering quality work.
My company was a technology production studio focused on the advertisement industry, and we were able to seize this opportunity and acquire all the biggest advertising agencies in Brazil as our clients.
After a little less than 3 years, we started talking about possible mechanisms of partnership with the technology arm of the biggest advertising conglomerates in Brazil (which is itself owned by one of the biggest advertising conglomerates in the world). Since we shared a similar vision and valued the same principles, the conversation evolved to an acquisition offer.
During the time in my company, the greatest thing that I learned is that money income is everything. You can have a great plan, an awesome team, a revolutionary idea ... None of these will work as a company if you are not able to generate money. In my case, it meant going aggressively after clients, but in a world full of startups and venture capitalists it may include quickly getting a minimum viable product out to get funded.
Magazine MN: You have recently published technical book called Pro React. Tell us more about this book. What can readers learn from it?
Magazine MN: What are your favorite tool/apps that you use on a daily basis?
Cássio: Well, the basics include a great calendar app (I love Fantastical), a project management tool (Trello), a text editor for coding (Atom) and version control (Git and Github).
Besides the basics, I use 1password (since I gave up trying to remember all my passwords long ago) and, to try to keep focused and get things done, irunurun and headspace.
Although it's almost ubiquitous nowadays, I can live and work without Slack.
Magazine MN: Is there any valuable piece of career advice you’ve ever received and would like to share with our readers?
Cássio: I have two pieces of advice that an old boss gave me and for some reason I never forgot: "Perfect is the enemy of good" and "Sometimes we do everything to avoid doing what needs to be done". Despite the advices, I never quite stopped neither being a perfectionist nor procrastinating now and then ...
Magazine MN: How can our readers get in touch with you?
Cássio: I'm active on Twitter and accept direct messages from anyone. Reach me at @cassiozen
Cássio de Sousa Antonio was interviewed by Natalie Myhalnytska