Unlocking the Secrets to a Successful Software Engineering Career: An Interview with Otavio SantanaApril 03, 2023
In this exclusive interview, we had the pleasure of speaking with Otavio Santana, a Java Champion and passionate software engineer and architect dedicated to empowering fellow engineers to deliver efficient, scalable software on the Cloud.
Otavio shares valuable insights from his journey in the open-source world, highlighting the importance of mentorship and open-source contributions for career growth.
With numerous awards and recognitions under his belt, Otavio discusses his current projects, the concept of evolutionary architecture, and the impact of simplicity on software development.
Dive into this engaging conversation to learn more about Otavio's experiences, the significance of mentorship for senior engineers, and the role of open-source projects in shaping the careers of aspiring developers.
- Otavio Santana emphasizes the importance of both hard and soft skills in advancing a software engineer's career.
- Open-source contributions offer valuable learning experiences and opportunities for career growth by working with top engineers and projects.
- Mentorship is crucial for senior engineers, as it helps them scale quality within an organization and improve their leadership skills.
- Junior developers should engage in open-source projects to gain exposure to good coding practices, architecture, and leadership skills.
- Inspired by Leonardo da Vinci's quote, simplicity should be a core focus when creating software, ensuring flexibility and evolutionary architecture.
- Otavio shares memorable experiences from his time in the industry, like celebrating Java's 20th anniversary with friends by travelling in an RV across the USA.
- He encourages readers to follow him on social media and check his books for more insights on becoming an ultimate sophisticated engineer.
Besides my dad jokes, I enjoy reading and studying history. That's why I spend so much time in museums when I travel. I also love music and playing the piano. I will be the quiet boy at the corner of any conference because I'm shy, but I love to talk and communicate; that hard part is the ice-breaker, and after that, we can talk.
Bazlur: Can you tell us about your background and how you got started in the software industry?
Otavio Santana: Hello, Bazlur; how are you?
That is an enormous pleasure to be here and talk with you, introducing me.
My name is Otávio Santana, and I'm a software engineer; My background and experience are based mainly on the open-source world. I've been working on several Apache, Eclipse, and Java projects.
I started my journey as an open-source engineer for Java 8 with OpenJDK, and I did not stop there; I did not find open-source, but open-source found me. It was a great pleasure to be part of this family.
Usually, when I talk about open-source, people relate it only to philosophy. Remember, there is sophisticated software engineering, such as a project with over two decades of existence, clear documentation, high-quality code, tests, etc.
Based on my work to make the Java developer's life easier with frameworks and bringing innovation to the Java platform, I've received several awards, such as Duke Choice Awards and JCP Awards in all the categories etc.
I also decided to help senior engineers move their careers to the next level, becoming more effective and productive and impacting the world with code as the ultimate sophisticated engineer.
Simplicity is one thing that I always want to archive. One of my favourite scientists and engineer, Leonardo da Vinci, said: simplicity is the ultimate sophistication. Why this "ultimate sophistication"?
To be simple is to put enough effort into resulting in the issue and avoid any over-engineering, understanding that you cannot see the future but create an evolutionary architecture and be ready for constant changes as the real world requires.
I started my graduate studies as a computer engineer in my hometown. I began working in IT for the majority of my time. Because I enjoy playing video games, I want to know how they work and how to create my games.
In this insightful conversation, Otavio Santana shares his passion for open-source software and its importance in the industry. With a focus on simplicity and evolving architectures, he has contributed to numerous Apache, Eclipse, and Java projects. Not only has he earned multiple awards, but he's also dedicated to helping other engineers advance in their careers. Drawing inspiration from Leonardo da Vinci, Otavio emphasizes the value of simplicity as the ultimate sophistication in software engineering.
Bazlur: Your background and achievements in the open-source world are truly impressive. Before we dive into open source, I'd like to know your transition to mentoring senior engineers. What motivated you to start mentoring, and what are the benefits of mentorship? Have you faced any challenges while mentoring others, particularly senior engineers?
Otavio Santana: We intercommunicate with a familiar friend, Bruno Souza, who always talks about the power of sharing what we know. It helps increase our communication skills and impact people's lives.
At the entry-level, it is nice to have activities, but when you become a senior, this becomes a mandatory activity that includes mentoring. My motivation for mentoring was to impact the company more and become a Staff Plus engineer.
As a staff-plus, we need to understand that the software engineer is not only about code but that the whole process includes a strategy for the software in the long term. Therefore, mentoring is an excellent way to scale quality inside the organization.
It is advice that I have for those who want to move to the next level as Staff, take time to mentor and multiply quality inside the organization.
That is the challenge that most seniors I face; they underestimate the power of influence. They need to understand the importance of seeing the software in the long term, multiplying quality, and seeing it strategically.
Being a mentor and sharing knowledge is part of the job, and it helps a lot in moving to the next level of software engineer, but unfortunately, those seniors don't want to do it. There is no way to escape interaction; we do software with/to/through people.
They want to keep increasing only their hard skill, but it is enough; there is the leadership part.
Otavio Santana highlights the importance of mentorship in a senior engineer's career. He emphasizes that the role extends beyond coding to include long-term strategy and scaling quality within an organization. While some senior engineers may resist sharing knowledge, Otavio sees mentorship as a key aspect of leadership and essential for career advancement.
Bazlur: Your perspective on mentoring and knowledge-sharing as keys to success for staff-plus engineers is valuable. I've noticed that you often discuss this topic on social media, and I'd like to hear your thoughts on the various paths a junior developer can take to become a staff-plus engineer. Also, with your experience, what approaches or strategies do you recommend for junior developers looking to advance their careers?
Otavio Santana: The secret to keeping a career as a Soft-Plus engineer moving forward is understanding that this rule has both hard and soft skills. You will be a leader, a tech one; you must mentor, share knowledge, and guide the team.
It is not an exclusive path for the manager; with the complexity of technology, the tech has become a strategic resource, and it needs someone to help simplify the solution.
A tech leader must have a deep knowledge of software engineering and architecture; this person will lead by example and be an inspiration through good communication and giving results.
The open source is where you can apply both hard and soft skills. As I said, open-source is where we have the most successful software in the industry.
On the tech, you can see samples of good code design, patterns, good practices, tests, CI, software release versions, code reviews, etc.
You need to deal with stakeholders, defend your opinion, counterargue, prepare a presentation, and write documentation and procedures, besides exploring the power of remote and distributed work and different cultures at the global impact project.
Thus, for any engineer, I believe in going to open-source and learning from it.
Otavio Santana emphasizes the importance of both hard and soft skills in advancing to a staff-plus engineer level. He suggests that junior developers engage in open-source projects to gain exposure to good coding practices, architecture, and leadership skills. By participating in open-source projects, engineers can develop their communication, collaboration, and decision-making abilities while working with global teams and diverse cultures.
Bazlur: Since you have been a long-time contributor to open source, could you please share your thoughts on the benefits and challenges of doing so and how you have used it to advance your career? Also, what advice would you give to junior developers who want to get started contributing to open source?
Otavio Santana: The benefits of contributing to open-source cover both aspects of being a software engineer: soft and hard skills; You'll learn from the most successful projects/products in the software industry and from the best engineers in the entire world.
The challenges are in both areas. From the tech perspective, it is essential to understand that each project/product has different code design styles, goals, histories, and contexts. It is like any company, understand the context first and help.
The soft-skill side is communication, being a politician, and transforming the idea/proposal into something tangible.
To start on any open-source project, follow these steps:
- Choose a project that you want to spend time and learn about it.
- Get into a mailing list or any communication from the open-source project.
- Introduce yourself
- Watch the code and read the documentation. Understand the context.
- Do what no one wants: enhance documentation and increase test and code quality.
- Be a steward: understand the context of the project; trust me, everyone wants to indicate new ideas and proposals. Before doing it, understand the context and oversee and protect what is worn to carry; software has a long term.
Otavio Santana shares the benefits and challenges of contributing to open-source projects, emphasizing the development of hard and soft skills. He advises junior developers to choose a project they're passionate about, understand its context, improve documentation, and respect long-term goals. Engaging in open-source projects can greatly impact career advancement, providing opportunities to learn from top engineers and projects.
A list of successful Java Opensource projects: https://wiki.openjdk.org/display/quality/Quality+Outreach
Bazlur: Great insight into the benefits and challenges of open-source contributions! I'd love to hear more about your current projects. What interesting project are you currently working on, and what's something interesting you are looking forward to working on in the future?
Otavio Santana: We are still working on open-source projects; I hope to deliver two new persistence specifications to the Jakarta EE world this year: Data and NoSQL.
Another essential step in my career is to share the know-how and know-why I've used in my own production and make it more flexible using an evolutionary architecture.
Otavio Santana is working on new Jakarta EE persistence specifications and aims to share his open-source expertise with fellow engineers.
Jakarta Data: https://projects.eclipse.org/projects/ee4j.data
Jakarta NoSQL: https://jakarta.ee/specifications/nosql/
Bazlur: Great job on those two Jakarta EE specifications; I will try them out! Nonetheless, I'd like to know if those projects are open for contribution and how someone can get involved. Additionally, could you explain the concept of evolutionary architecture in more detail? Moreover, I find it fascinating that you care so much about helping other engineers in their pursuit of excellence. If someone wanted you as a mentor, what would be the best way for them to approach you?
Otavio Santana: The Jakarta NoSQL goal is to simplify the integration between Java and NoSQL databases from the Java architecture perspective. We have Jakarta data to facilitate patterns and good practices in the persistence layer. Those specifications are new, and those are open to unique contributions for sure.
Please, join us on the email list.
Evolutionary architecture is based on the fact that we cannot see the future; every time we as software engineers try, we fail and create a useless and complex architecture, generating our enemy: over-engineering and, thus, complexity. Neal Ford has an excellent book on Building Evolutionary Architectures: Automated Software Governance, Second Edition.
Currently, the best way to have me as a mentor is to follow me on social media:
The YouTube one is new. There is a weekly context in which I have two editorials:
- When talking about code, mostly Java in Practice
- The second one is about software engineering and architecture
I'll release more programs soon; stay tuned on social media for more news.
Otavio Santana invites contributions to the Jakarta NoSQL and Data projects and highlights the importance of evolutionary architecture. To connect with him for mentorship, follow his Twitter, LinkedIn, and YouTube channels, where he shares coding insights and software engineering advice.
Bazlur: Thank you for sharing those; I am sure our readers will get benefitted immensely. On a different note, could you tell us some funny or interesting stories from your time in the software industry?
Otavio Santana: Just one?
I can talk about the crazy and fantastic idea of travelling to the USA in an RV to celebrate two decades of Java anniversary; It was over twenty days of a wonderful experience with great Java friends such as Bruno Souza, Yoland Porier, and Edson Yanaga.
At the time, we decided to jump by parachute in San Diego; it was fun; I became super nervous but survived.
Bazlur: That's a fascinating story. Thank you so much for sharing your insights with us. We really appreciate your time. Before we end, is there any parting advice or resources you would like to share with our readers, such as a list of recommended books or any other helpful information?
Otavio Santana: If you want to know more about being the ultimate sophisticated engineer, stay tuned on my social media:
I also wrote some books, most of which are free: https://otaviojava.com/books/
In conclusion, this insightful interview with Otavio Santana sheds light on the importance of embracing open-source contributions, mentorship, and the pursuit of simplicity in the software engineering field.
Otavio's extensive experience and achievements in the industry serve as an inspiration for engineers at all stages of their careers. From sharing valuable advice for junior developers to discussing the power of evolutionary architecture, Otavio highlights the keys to success for software engineers in today's rapidly evolving landscape.
His passion for learning and sharing knowledge is evident throughout the conversation, emphasizing the critical role of continuous growth and collaboration in achieving excellence within the software industry.
I hope you, as a reader, have found this interview beneficial. Stay tuned for next week's interview with another industry star.