For Programmable podcast episode #11, Lucas sat down to chat with John Ferlito, CTO and co-founder of Gladly. This tech startup is helping creators and influencers monetize their skills directly with their audience. John was also founder and CTO of Bulletproof Group, a managed cloud service provider which IPO'd in 2012.
Podcast

How to be a 10x engineer with John Ferlito

Lucas Hakewill

For Programmable podcast episode #11, Lucas sat down to chat with John Ferlito, CTO and co-founder of Gladly. This tech startup is helping creators and influencers monetize their skills directly with their audience.

John was also founder and CTO of Bulletproof Group, a managed cloud service provider which IPO’d in 2012.

The conversation had lots of fantastic technical nuggets that I found sublime. Here we go:

Read on or listen to the podcast on Spotify, Apple or Youtube

Subscribe & Listen to the full podcast on Spotify, Apple & Youtube

What is a 10x engineer?

A “10x engineer” is someone who can be 10x more productive than a regular engineer. Lucas asked John to explain what this means, and how to become a 10x engineer. It goes like this:

First, you’re a coder. Here you work with a team where you are given tasks. You’ll work on converting a user story into code and that’s where your work ends.

“You’re really just doing that straight conversion, not really thinking about it or anything like that.”

Next, you’ve risen up the ranks and are now a developer. Now you understand the business side of things and aren’t just writing code unthinkingly. You might seek clarification if you find anything wrong with the user story. You input your ideas into the code that you write.

“You might go back and question the product manager and say, they’ve wanted to put this button on the left, but every single other button in the app is on the right. Was that intentional? Was that something they forgot?”

Then comes the level of an engineer, where your role expands further. You’re no longer simply concerned with the code itself, but with how the overall architecture of the system is designed. You’re evaluating the frameworks, libraries, and infrastructure.

“It’s being able to dig into the architecture. So how are we implementing this? What framework are we using? Do we use a third-party library? We write it ourselves?”

By this stage, you’re considering not only how the code works but how it performs. You’re diving into infrastructure, solving deeper problems, and not afraid to venture into unknown territory. You start asking questions about performance issues and scalability.

Finally, the 10x engineer. Here, you’re no longer waiting for detailed instructions but are handed broad problems to solve.

“A 10X engineer can take almost a single sentence understanding the business implications, the architectural implications, the coding implications, and take that to…the MVP that you can show everyone in terms of, hey, it’s done.”

It’s all about knowing the whys and asking the right questions.

Sometimes being a manager is a mistake

Many companies put their best engineers in managerial positions. But the skill sets required for management and technical work are quite different.

“One’s about comms and leadership, the other one’s about technical ability and problem solving.”

There’s a clear set of differences between the two.

Management is about communication, leadership, and overseeing teams, whereas technical roles focus on problem-solving and deep technical knowledge.

So what do you do when a tempting offer comes knocking?

There have been multiple scenarios where senior technical engineer are earning more than their managers.

“They could be on $400,000, $500,000 a year, maybe earning $200,000 more than their manager because they have that deep technical know-how, and putting someone like that in a management position is almost a waste because they’re then, you know, dealing with the management things, writing reports, budgets, managing people.”

Two things you need to progress in your career

At the start of the interview, John explains that a tech career is challenging and climbing the ladder isn’t easy, but once you do, “with great power comes great responsibility.”

But how do you climb this ladder?

One, never stop learning.

“With public cloud and the rate that public cloud moves today, you incur technical debt by doing nothing.”

Be interested in the platform that you work on. Stay updated on the technical progress being made in the industry and be mindful of any new releases.

The second key? Problem solving.

It’s important not to give up too easily when faced with challenges. He suggests diving deep into the issue, exploring the tools available to troubleshoot, and learning from the process.

Whether it’s open source or proprietary software, being persistent in finding solutions is essential to growth in your career.

Know when to ask for help

As the chat progressed they discussed what a new coder should do when faced with a unique challenge.

Simple:

“Bang your head against the wall for 20 minutes, an hour… and then put your hand up and talk to a colleague or manager.”

The time spent trying to solve a problem on your own will improve your skills massively. But acknowledging your limitations, and asking for help, is an important skill in itself.

At the end of the day, you’re working for someone else. So reaching out to colleagues helps you save the company’s time, and your own effort and you learn something new along the way.

John’s experience as a CTO and founder is an amazing resource to developers. Listen to the full episode to get all the fantastic details!

Follow John on Linkedin, and check out Gladly here.

The journey from coder to 10x engineer

John’s framework for understanding engineering progression provides a clear roadmap for career development. Let’s dive deeper into each stage and what it takes to advance:

Stage 1: The Coder

Characteristics:

  • Focuses on converting requirements into working code
  • Limited questioning of specifications
  • Primarily concerned with syntax and basic functionality
  • Works within clearly defined boundaries

Key skills to develop:

  • Programming fundamentals in your chosen language
  • Understanding of basic data structures and algorithms
  • Familiarity with development tools and environments
  • Code quality practices (readable, maintainable code)

How to progress:

  • Practice coding regularly and consistently
  • Study well-written code from experienced developers
  • Learn to use debugging tools effectively
  • Start asking questions about requirements that seem unclear

Stage 2: The Developer

Characteristics:

  • Begins to understand business context
  • Questions requirements when they don’t make sense
  • Considers user experience implications
  • Starts to think about code maintainability

Key skills to develop:

  • Understanding of the business domain you’re working in
  • Basic knowledge of user experience principles
  • Communication skills for interacting with product managers
  • Ability to estimate effort and complexity

How to progress:

  • Participate actively in planning meetings
  • Spend time with product managers to understand business goals
  • Learn about the end users of your software
  • Start reviewing other developers’ code

Stage 3: The Engineer

Characteristics:

  • Focuses on system architecture and design
  • Evaluates technology choices and trade-offs
  • Considers performance, scalability, and reliability
  • Takes ownership of technical decisions

Key skills to develop:

  • System design and architecture principles
  • Understanding of various frameworks and libraries
  • Performance optimization techniques
  • Infrastructure and deployment considerations

How to progress:

  • Study system architecture of successful applications
  • Learn about different architectural patterns and when to use them
  • Get involved in technology selection decisions
  • Start mentoring junior developers

Stage 4: The 10x Engineer

Characteristics:

  • Can translate business problems into technical solutions
  • Works effectively with minimal specification
  • Understands both technical and business implications
  • Delivers complete solutions, not just code

Key skills to develop:

  • Business acumen and strategic thinking
  • Leadership and mentoring abilities
  • Cross-functional collaboration skills
  • Ability to balance technical perfection with business needs

How to progress:

  • Take on increasingly complex and ambiguous problems
  • Build relationships across different departments
  • Develop your own technical opinions and be able to defend them
  • Focus on outcomes rather than just outputs

The management vs. technical track dilemma

John’s insight about the differences between management and technical roles is crucial for career planning. Many engineers face pressure to move into management, but this isn’t always the right choice.

When to consider management:

You might be suited for management if you:

  • Enjoy helping others grow and develop
  • Are energized by solving organizational problems
  • Like facilitating communication between teams
  • Want to have broader influence on business outcomes
  • Are comfortable with ambiguity and people-related challenges

Potential downsides:

  • Less time for hands-on technical work
  • More meetings and administrative tasks
  • Responsibility for other people’s performance
  • Dealing with interpersonal conflicts

When to stay on the technical track:

You might prefer staying technical if you:

  • Find deep technical problems energizing
  • Prefer tangible, measurable outcomes
  • Want to maintain hands-on technical skills
  • Enjoy the flow state that comes with focused development work
  • Value technical expertise over organizational influence

Benefits of senior technical roles:

  • Often higher compensation than management at senior levels
  • Direct impact on product quality and performance
  • Continued learning and skill development
  • Less administrative overhead
  • Clear, objective measures of success

Making the choice

The key is understanding what motivates and energizes you. Both paths can lead to significant impact and compensation. The best organizations create parallel tracks that allow talented individuals to advance without being forced into management roles they’re not suited for.

Continuous learning in a rapidly evolving field

John’s emphasis on continuous learning reflects the reality of modern software development. The technology landscape changes rapidly, and staying current is essential for career growth.

Why continuous learning matters:

Technology evolution:

  • New frameworks and languages emerge regularly
  • Best practices evolve based on industry experience
  • Cloud platforms continuously add new services
  • Security threats and mitigation strategies change

Competitive advantage:

  • Early adopters of new technologies often have career advantages
  • Deep understanding of emerging trends can lead to better architectural decisions
  • Staying current demonstrates commitment and professionalism
  • Learning agility becomes increasingly valuable

Strategies for effective learning:

Structured learning:

  • Follow technology blogs and newsletters
  • Attend conferences and meetups
  • Take online courses in new technologies
  • Read technical books and documentation

Hands-on practice:

  • Build side projects using new technologies
  • Contribute to open source projects
  • Experiment with new tools in low-risk environments
  • Participate in hackathons and coding challenges

Learning from others:

  • Find mentors who can guide your learning journey
  • Join technical communities and forums
  • Participate in code reviews and discussions
  • Share your own learning through writing or speaking

The art of asking for help

John’s advice about when and how to ask for help is crucial for junior developers. There’s a delicate balance between being self-sufficient and knowing when to seek assistance.

The 20-minute rule

John suggests spending 20 minutes to an hour trying to solve a problem independently before asking for help. This timeframe serves several purposes:

Benefits of struggling first:

  • Develops problem-solving skills
  • Builds resilience and persistence
  • Often leads to deeper understanding
  • May result in discovering the solution independently

Why not to struggle too long:

  • Diminishing returns on time investment
  • Potential for developing bad habits or misconceptions
  • Company time and resources are valuable
  • Collaboration often leads to better solutions

How to ask for help effectively:

Before asking:

  • Document what you’ve tried
  • Identify specific error messages or symptoms
  • Understand the broader context of the problem
  • Prepare to explain your thought process

When asking:

  • Be specific about what you need help with
  • Show what you’ve already attempted
  • Be open to different approaches
  • Ask follow-up questions to understand the reasoning

After receiving help:

  • Document the solution for future reference
  • Understand why the solution works
  • Look for patterns you can apply to similar problems
  • Consider how to avoid the issue in the future

Building technical leadership skills

Even if you choose the technical track over management, developing leadership skills is important for becoming a 10x engineer.

Technical leadership vs. people management:

Technical leadership involves:

  • Setting technical direction and standards
  • Mentoring other engineers
  • Making architectural decisions
  • Representing technical concerns in business discussions
  • Driving technical initiatives across teams

Key skills for technical leaders:

  • Deep technical expertise in relevant areas
  • Ability to communicate complex technical concepts
  • Strategic thinking about technology choices
  • Influence without formal authority
  • Teaching and mentoring abilities

Developing leadership skills:

Start small:

  • Lead small technical projects or initiatives
  • Mentor junior developers informally
  • Participate in technical design discussions
  • Write technical documentation and share knowledge

Build influence:

  • Develop a reputation for technical excellence
  • Be helpful and generous with your knowledge
  • Build relationships across teams
  • Communicate clearly and persuasively

Think strategically:

  • Understand business goals and how technology serves them
  • Consider long-term implications of technical decisions
  • Stay informed about industry trends and best practices
  • Balance technical idealism with practical constraints

The creator economy and technical challenges

John’s work at Gladly, helping creators monetize their skills, represents an interesting intersection of technology and the creator economy. This space presents unique technical challenges:

Technical challenges in creator platforms:

Scalability:

  • Handling variable, unpredictable load patterns
  • Supporting both small creators and viral content
  • Managing costs as usage scales

Payment processing:

  • Handling micropayments efficiently
  • Supporting multiple currencies and payment methods
  • Ensuring security and fraud prevention
  • Managing complex revenue sharing models

Content delivery:

  • Optimizing for different types of media (video, audio, text)
  • Ensuring global performance
  • Supporting various device types and connection speeds

Community features:

  • Building engaging social interactions
  • Moderating content and managing communities
  • Providing analytics and insights to creators

Lessons from building Bulletproof

John’s experience taking Bulletproof Group public provides valuable insights into building and scaling technology companies:

Technical lessons:

  • Importance of reliable infrastructure
  • Value of automation and monitoring
  • Need for robust security practices
  • Benefits of cloud-native architectures

Business lessons:

  • Importance of understanding customer needs deeply
  • Value of building strong technical teams
  • Need for clear technical strategy aligned with business goals
  • Benefits of focusing on core competencies

The future of engineering careers

As technology continues to evolve, the nature of engineering careers is also changing. Several trends are shaping the future:

Emerging opportunities:

AI and machine learning:

  • Growing demand for engineers who understand AI/ML
  • Opportunities to build AI-powered products
  • Need for engineers who can work with data scientists

Cloud and infrastructure:

  • Continued growth in cloud adoption
  • Increasing importance of DevOps and SRE roles
  • Focus on security and compliance

Sustainability:

  • Growing focus on energy-efficient software
  • Opportunities in climate tech and green technology
  • Need for engineers who understand environmental impact

Evolving skill requirements:

Technical skills:

  • Broader understanding of distributed systems
  • Familiarity with cloud platforms and services
  • Understanding of security principles
  • Ability to work with APIs and microservices

Business skills:

  • Understanding of product development processes
  • Ability to communicate with non-technical stakeholders
  • Awareness of business models and revenue streams
  • Appreciation for user experience and design

John Ferlito’s journey from engineer to CTO and founder illustrates the potential career paths available to technical professionals. His insights about the progression from coder to 10x engineer provide a valuable framework for anyone looking to advance their technical career.

The key themes from John’s experience - continuous learning, knowing when to ask for help, and choosing between technical and management tracks - are timeless principles that will remain relevant as technology continues to evolve.

Follow John on Linkedin, and check out Gladly here.

Dive Deeper into More Topics

Get ready to go beyond the surface and explore a treasure trove of diverse topics!