There are several paths to starting a career in software development, including the more non-traditional routes that are now more accessible than ever. Whether you're interested in front-end, back-end, or full-stack development, we offer more than 10,000 resources that can help you grow your current career or *develop* a new one.
Much has been written about the impact of AI tooling on software development, or indeed on any creative endeavor. Some of those blogs may already be written by AI, who knows? If the benefits for mundane coding tasks today are any foretaste of what lies ahead, I dare not contemplate what the next year will bring, let alone the next decade. I’m not overly worried. The price of job security was always continuous upgrading of your skillset - which is why I’m studying for the Oracle Certified Professional Java SE 17 developer exam. The OCP is reassuringly and infuriatingly old-school. It grills you on arrays, shorts, ObjectOutputStream, the flip bit operator ~, and much you’re probably not going to write or encounter. What is the point? I’ll tell you. On the one hand, the programming profession has changed beyond recognition from when I started in 1999 and long before that. I look forward to veteran Jim Highsmith’s upcoming book Wild West to Agile. It’s supposed to be liberally sprinkled with personal anecdotes from the era of punch cards and overnight compiles. The teasers remind me of the classic Four Yorkshiremen sketch by Monty Python, boasting how tough they had it. “We lived eighteen to a room! – Luxury! We lived in a septic tank.” On the other hand, much less has changed at the level of methods and classes or loops and logic, despite the mushrooming complexity and range of APIs and tooling. Real language innovations are rare and the challenges for learners remain the same. Autocomplete doesn’t make understanding a tail recursive function any easier, but before Stack Overflow, it made sense to memorize such common patterns, because it was too much bother to look them up. It still makes sense. Professor Dijkstra Would Not Approve of Copilot You can safely assume that a famous Turing award winner like Edsger Dijkstra (1930-2002), would have been horrified by GitHub Copilot. He preferred doing his mathematical proofs on a blackboard and believed that software engineering had little to do with academic computer science and that the latter was not even about computers. After all, we don’t call a surgeon’s work "knife-science." Studying for the OCP means honing your Spartan mindset. Taking it unprepared, even as an experienced developer, is a waste of money. You will fail. Because it’s not a test of your design intuitions or clean coding hygiene. It calls on your knowledge of arcane details and APIs, but even more on your short-term memory skills to grasp some quite insane code. Boy, have these skills gone rusty! I wrote earlier that IntelliJ has made us all a bit stupid and it’s true. I’m still making plenty of mistakes. Factual knowledge gaps don’t trip me up anymore, but the time constraint does. The two-minute average you can spend on each question is tight. Yes, there are short questions requiring a single answer, but they don’t offset the ones with convoluted sample code, where you rack your brains for five minutes over the effect of changing one statement and fail to spot the missing semicolon after a switch expression, so the whole mess would never compile. Three Reasons Not To Bother There are reasons not to bother with this self-torture, but there’s a flavor of cognitive dissonance to them. They’re attractive to let yourself off the hook. First, what’s the point of playing human compiler and virtual machine over code samples that solve no real-world task and are only designed to confuse? The point is to train your mind muscles, to sharpen the saw. Nobody disputes that IDEs and their real-time compilation warnings are a great productivity boost. Nobody edits a big Java project in a plaintext editor. That would be inefficient and error-prone. But you want to know what you’re doing and at least understand the warnings. I don’t do dumbbell exercises for the sake of dumbbell exercises. I do them so I can still lift my own groceries when I retire. Secondly, neither this OCP nor any of its predecessors teach you how to write clean code, much less design a complex product. It has nothing to say about testing. It’s a thorough foundation of the language toolkit, but no more. Calling the exam inadequate for that reason is a strawman argument. You pooh-pooh it for not teaching you something it never claimed to teach you in the first place. If you take an advanced French grammar course, it won’t teach you how to write a novel either. A third bone of contention is the OCP’s focus on little-used and legacy features. Who uses serializable object streams when the whole world has been using JSON for years? Well, there’s an awful lot of twenty-year-old, pre-version 5 legacy around, and you shouldn’t be taken aback by it. Also, in the makers’ defense: deprecated features or ways of working do eventually make their way to the exit. The SCJP 6 I took in 2010 had some tough questions on low-level thread handling, all of which are now abstracted behind the concurrency API. We can expect arrays to go the same way, but no time soon. To Be Continued I have much more to say on each of the topics I raised, so I want to make this a series of blogs. I want to explore and explain my personal motivations throughout the process and hope to share useful advice on how to make the journey a success. The aim is not cramming to get a certificate and promptly forget what you learned. You’re not in high school. The aim is to respect the importance of certain mental skills we shouldn’t allow to get rusty. This will make you a better and happier software developer. I have the following topics in mind for the next months. Motivation and the "okay point." Do you enjoy learning for learning’s sake, or is it a means to an end? If so, you will master the bare minimum you need to get the job done and give up once you reach the okay point. This happens to seniors, especially when they are burdened with many non-coding tasks. The only effective way to learn is to make it fun, compelling, and practical. Always learn with the IDE at your side and disable all the clever assistants. I’m compiling a collection of mnemonics and rhymes, which I hope to expand. When it comes to remembering, the sillier and crazier the better – actually, the lewder the better, but I’ll leave that to your own imagination.
I taught myself to code from scratch. I just started writing in Basic on my Sinclair when I was in kindergarten and “got it.” I later picked up the books and courses easily without that initial study period of formal training. When I got to advanced academic materials, I already knew pretty much everything. As a matter of fact, I never learned much from teachers. I learned to read mostly on my own and followed through with most disciplines. This isn’t a “brag” because the reason for that is a learning disability. It’s hard for me to understand teachers and communicate with them. This was a problem in my childhood but became a bigger problem when I started to teach programming in a local computer lab at 16. I was a terrible instructor. Typically we would mimic the skills of a good role model when performing a task. I didn’t have any good teachers. At least not good for my learning disability. I kept teaching on and off for over a decade. It wasn’t because I was good (I wasn’t), but you couldn’t tell that from the feedback I received. Most students gave me high ratings. Why did they? The main reason was that I was knowledgeable and made an effort. The students who “didn’t get it” would end up blaming themselves or making an extreme effort to understand. This dragged on for a while until I faced a class in which I got a bad review. It stung, and I initially rejected the notion that I could be the one at fault. Eventually, it sunk in. I took that to heart and improved. I’m still not a great teacher. One of my shortcomings is my thought process isn’t visual enough, so I don’t communicate as visually as most students need. I’m working on that, and it’s an ongoing process. People like me who aren’t natural teachers need to overcompensate in other departments. One of the biggest tricks up my sleeve is my approach to learning. I teach theory in short bursts while focusing on building something cool. Why Do We Have Hello World? As a teacher, I usually taught advanced classes. Those are the “easy” classes to teach. In these classes, the students already have a decent baseline. If they don’t understand something, they can check, and they don’t get intimidated or ashamed because they missed something the teacher mentioned. A beginner class is an enormous challenge. If I explain something only once or I forget to mention something, I might lose the entire class. People might be missing basic knowledge, and if I explain it too much or too thoroughly, some students might get bored and lose interest. You lose if you do, and you lose if you don’t. There’s very little “winning” in this area. That’s why we have the “hello world.” It isn’t just to show how the language looks or how the tools function. It’s a “win.” Once we compile and run a version of “hello world” we accomplish “something,” and that is the most important part. It gives students the motivation to keep going and double down. Even if I missed something when teaching, they might make the extra effort to go back and learn or ask a question if they feel a sense of accomplishment. A few years ago, gamification was a “hot trend.” Thankfully it’s out of vogue. I never liked it. Stack overflow is great (that statement doesn’t condone the actions of overzealous rogue moderators), but what I liked about stack overflow wasn’t the gamification. It’s the accomplishment that rewarded that. I enjoy the points or badges, not because they are points or badges. I enjoy them because I earned them by giving a great answer. This is the core of the matter and what most learning experiences miss: winning. In It To Win I see a syllabus like this in practically every “beginner” oriented course: Hello world Variables If statements Loops … We accomplish one thing. Then it’s “study”; there’s no “reward” for successful accomplishment or something measured that would trigger excitement. I get why we teach that way… people need the theory. But is that theory sinking in if we learn it sequentially? When we build an ongoing demo and constantly improve it, we learn the theory while continuously accomplishing such goals. Better yet, we can intertwine it with a narrative story of developing an application or a game that helps memorize and form a narrative trail. There’s one downside: the tutorial sucks as a reference since the ideas are mixed within an additional narrative. But the advantage is the “show, don’t tell” approach. I love encapsulation. It’s wonderful. Don’t explain it. Show me why the code looks bad if I don’t use it. Don’t explain every type and waste my time. Show me how to build stuff, and then go back and refine it to explain the nuances involved in practical terms. This is the exact approach I tried to take with my Java Basics free course. The idea is that we can build a Wordle clone without knowing anything and slowly refine it into a real-world application. Yes, we need to understand some basics before we can write something useful. But the bar is very low. Better yet, we need to make flawed and imperfect code so we can show how to improve and fix it. Achievement Unlocked When we say gamification, this is what it really means; to achieve something meaningful and not merely satisfy a metric, a company needs to further push a user through a funnel. This applies to teaching coding skills and to your SaaS. Quite a few SaaS companies still show pointless “awards” and badges to get us engaged. Even kids don’t buy that nonsense in their iPad games. A reward matters only when you made an actual effort and should signify something with meaning. There’s harm in those nonsense awards as they reduce your credibility. When you have an important milestone, that award won’t matter as much. In any product, we need to divide the steps into achievable hops where something meaningful is accomplished before moving to the next step. An important aspect is milestone communication. A person needs to understand the goals, short and long-term. When I teach, I start a lesson by discussing what they will know by the end of the lesson: why should you pay attention? When I start the course I need to discuss the ending. What you will know and ideally show what we will build. I didn’t do this for the videos in the Java Basics course since I’m building them as I go along. That is not an ideal scenario. But I might revisit the first video in the series and redo it once I’m done. This gives us the motivation to work towards a clear goal.
As AI technology continues to evolve, it is creating a vast array of job opportunities that were once unheard of. While traditional AI roles such as data scientists, machine learning engineers, and AI researchers are widely recognized, there are several lesser-known careers that are equally important in driving change in the tech industry. In this article, we will explore 21 hidden careers in the AI revolution. These hidden careers in the AI revolution are becoming increasingly vital as AI technology becomes more pervasive in various industries. From AI psychologists who understand the human impact of AI to AI knowledge engineers who ensure AI systems have the necessary information to perform their tasks, these roles are critical to creating AI systems that are effective and ethical. Moreover, the rise of AI in the industry has created a need for AI professionals who can develop and implement AI tools and solutions tailored to this niche market. This highlights the versatility of AI professionals and the diverse range of applications for this technology. Here are 21 hidden careers in the AI revolution that are driving change in the tech industry. AI Ethicist: An AI Ethicist is a professional who specializes in the ethical considerations and implications of Artificial Intelligence (AI). They work to identify and address potential ethical issues that may arise from the development and deployment of AI technologies. This includes topics such as bias, privacy, safety, and transparency. AI Ethicists collaborate with various stakeholders, including developers, policymakers, and end-users, to ensure that AI systems are developed and used in a responsible and ethical manner. Their work is essential in shaping the future of AI and ensuring that it aligns with the values and principles of society. AI Psychologist: An AI Psychologist is a professional who specializes in the intersection of artificial intelligence and human psychology. They work to develop and implement AI technologies that can enhance mental health and well-being, as well as improve the diagnosis and treatment of psychological disorders. AI Psychologists use machine learning algorithms and natural language processing to analyze large amounts of data and provide personalized interventions and recommendations to individuals. They collaborate with other mental health professionals to ensure that AI technologies are used in an ethical and responsible manner and that they align with the values and principles of the mental health profession. AI Business Strategist: In AI Business, my role is to help organizations leverage artificial intelligence to improve their operations and gain a competitive advantage. This involves identifying areas where AI can be applied, developing AI strategies, and overseeing the implementation of AI solutions. One of the key benefits of AI is its ability to automate repetitive tasks and analyze large amounts of data quickly and accurately. This can lead to increased efficiency, improved decision-making, and cost savings for businesses. However, implementing AI solutions also requires careful consideration of ethical and privacy concerns, as well as ensuring that employees are trained to work alongside AI systems. As an AI business strategist, I work to ensure that these issues are addressed and that AI is used in a responsible and effective way. AI Language Specialist: As an AI language specialist, my focus is on developing natural language processing (NLP) technologies that enable machines to understand and generate human language. This involves working with large datasets and using machine learning algorithms to teach machines to recognize patterns and understand language structures. NLP technologies have many practical applications, from chatbots and virtual assistants that can understand and respond to human queries to sentiment analysis tools that can analyze customer feedback and identify areas for improvement. One of the biggest challenges in NLP is developing systems that can understand the nuances of human language, such as sarcasm, irony, and metaphor. As an AI language specialist, I work to develop systems that can accurately interpret these nuances and generate appropriate responses. Overall, my goal as an AI language specialist is to create technologies that enable machines to communicate with humans in a natural and intuitive way, ultimately making our interactions with technology more seamless and productive. AI Trainer: An AI Trainer is a professional who specializes in training and developing artificial intelligence systems. They work to design and implement machine learning algorithms that can learn and adapt to new data over time. AI Trainers also work to identify and address potential biases or inaccuracies in AI models, ensuring that they are accurate, reliable, and effective. They collaborate with other professionals, such as data scientists and software engineers, to develop and test AI systems across various industries, including healthcare, finance, and transportation. Their work is essential in shaping the future of AI and ensuring that it aligns with the needs and expectations of society. AI Translator: An AI Translator is a professional who specializes in developing and implementing artificial intelligence technologies to facilitate communication between people who speak different languages. They work to design and implement machine learning algorithms that can accurately translate speech and text in real time. AI Translators use natural language processing and other advanced techniques to identify nuances in language and ensure that translations are accurate and culturally appropriate. They collaborate with other professionals, such as linguists and software engineers, to develop and test AI translation systems across various industries, including travel, hospitality, and international business. Their work is essential in breaking down language barriers and facilitating global communication. AI Infrastructure Architect: An AI Infrastructure Architect is a professional who specializes in designing and implementing the technological infrastructure that supports AI systems. They work to develop and optimize the hardware and software components that are required for running large-scale AI applications. AI Infrastructure Architects also work to ensure that AI systems are secure, reliable, and scalable and that they can handle large amounts of data in real time. They collaborate with other professionals, such as data scientists and software engineers, to develop and implement AI systems across various industries, including healthcare, finance, and transportation. Their work is essential in enabling the growth and advancement of AI technology. AI DevOps Engineer: An AI DevOps Engineer is a professional who specializes in the development and deployment of artificial intelligence systems. They work to streamline the process of building, testing, and deploying AI applications, ensuring that they are efficient, reliable, and scalable. AI DevOps Engineers also work to identify and address potential issues with AI systems, such as performance bottlenecks and security vulnerabilities. They collaborate with other professionals, such as data scientists and software engineers, to develop and implement AI systems across various industries, including healthcare, finance, and transportation. Their work is essential in ensuring that AI systems are optimized for performance and reliability. AI Data Analyst: An AI Data Analyst is a professional who specializes in analyzing and interpreting large amounts of data using artificial intelligence technologies. They work to develop and implement machine learning algorithms that can identify patterns and insights in complex data sets. AI Data Analysts also work to ensure the accuracy and validity of data used in AI systems and to optimize data processing and storage methods. They collaborate with other professionals, such as data scientists and software engineers, to develop and implement AI systems across various industries, including healthcare, finance, and transportation. Their work is essential in enabling data-driven decision-making and unlocking the potential of AI technology. AI User Experience (UX) Designer: An AI User Experience (UX) Designer is a professional who specializes in designing user interfaces and experiences for artificial intelligence systems. They work to create intuitive and user-friendly interfaces that enable users to interact with AI systems in a natural and intuitive way. AI UX Designers also work to optimize the performance and usability of AI systems, ensuring that they are accessible to users of all skill levels. They collaborate with other professionals, such as data scientists and software engineers, to develop and implement AI systems across various industries, including healthcare, finance, and transportation. Their work is essential in creating engaging and effective AI applications that can be easily adopted by users. AI Product Manager: An AI Product Manager is a professional who specializes in managing the development and launch of artificial intelligence products. They work to identify market opportunities for AI products and define product requirements based on customer needs and market trends. AI Product Managers also work to ensure the successful launch and adoption of AI products by developing marketing and sales strategies, managing product pricing and distribution, and providing customer support. They collaborate with other professionals, such as data scientists and software engineers, to develop and implement AI systems across various industries, including healthcare, finance, and transportation. Their work is essential in enabling businesses to leverage the potential of AI technology and stay competitive in the market. AI Security Specialist: An AI Security Specialist is a professional who specializes in ensuring the security and privacy of artificial intelligence systems. They work to identify potential security risks in AI systems and implement measures to protect them from cyber-attacks and other threats. AI Security Specialists also work to ensure the confidentiality of sensitive data used in AI systems, such as personal information and financial data. They collaborate with other professionals, such as data scientists and software engineers, to develop and implement AI systems across various industries, including healthcare, finance, and transportation. Their work is essential in ensuring the safety and reliability of AI technology and preventing potential security breaches. AI Data Steward: An AI Data Steward is a professional who specializes in managing the quality, consistency, and security of data used in artificial intelligence systems. They work to ensure that data used in AI systems is accurate, complete, and up-to-date, and they implement measures to protect it from cyber threats and unauthorized access. AI Data Stewards also work to improve data governance practices, such as data lineage and data classification, to support the ethical and responsible use of AI systems. They collaborate with other professionals, such as data scientists and software engineers, to develop and implement AI systems across various industries, including healthcare, finance, and transportation. Their work is essential in enabling businesses to leverage the potential of AI technology while ensuring the quality and integrity of the data used to power AI systems. AI Human Enhancement Specialist: An AI Human Enhancement Specialist is a professional who specializes in using AI technology to enhance human capabilities, such as memory, vision, and decision-making. They work to develop and implement AI-powered tools and devices that can augment human abilities, such as brain-computer interfaces and neuroprosthetics. AI Human Enhancement Specialists also collaborate with healthcare professionals to develop AI-powered treatments for conditions such as paralysis, stroke, and Alzheimer's disease. They are experts in both AI technology and human physiology, and their work is essential in unlocking the full potential of AI technology in improving human health and performance. AI System Architect: An AI System Architect is a professional who designs and implements complex AI systems that integrate multiple technologies and data sources. They work to develop a comprehensive understanding of the business needs and objectives and then create a blueprint for the AI system architecture that will meet those needs. AI System Architects also work to identify and address potential technical challenges, such as data integration and security, and ensure that the AI system is scalable and adaptable to future changes in the business environment. They collaborate with other professionals, such as data scientists and software engineers, to implement and maintain the AI system, and their work is critical in enabling businesses to leverage the full potential of AI technology for competitive advantage. AI Process Engineer: An AI Process Engineer is a professional who specializes in using AI technology to optimize business processes and workflows. They work to identify opportunities for automation and streamlining of processes and then use AI tools and techniques to design and implement more efficient and effective processes. AI Process Engineers also monitor and analyze process data to identify areas for improvement and make data-driven recommendations to enhance performance. They collaborate with business stakeholders, such as operations managers and IT professionals, to ensure that the AI-powered processes are aligned with business objectives and requirements. Their work is essential in driving organizational efficiency and agility through the application of AI technology. AI Entertainment Producer: An AI entertainment producer utilizes AI tools and techniques to create and produce various forms of adult entertainment, such as Images, movies, TV shows, and video games. They can employ AI to generate scripts, characters, or music or to enhance the overall production process by automating tasks like editing and post-production. AI entertainment producers can help to streamline production timelines, reduce costs, and create new and innovative forms of entertainment that leverage the latest AI technology. AI Model Evaluator: An AI Model Evaluator is a professional who specializes in assessing the performance and reliability of AI models. They work to ensure that AI models are accurate, unbiased, and effective in solving specific business problems. AI Model Evaluators use a variety of tools and techniques to test the AI model's performance against relevant data sets and real-world scenarios. They also work to identify and mitigate potential risks associated with the use of AI, such as privacy violations or unintended consequences. AI Model Evaluators collaborate with data scientists and other stakeholders to make data-driven decisions about the design and implementation of AI models, and their work is critical in ensuring the responsible and ethical use of AI technology. AI Knowledge Engineer: An AI Knowledge Engineer is a professional who specializes in creating and managing the knowledge base for AI systems. They work to ensure that AI systems have access to relevant and accurate data and information, which is necessary for them to function effectively. AI Knowledge Engineers use a variety of tools and techniques to build, organize, and maintain the knowledge base, such as natural language processing, machine learning, and semantic web technologies. They collaborate with other AI professionals, such as data scientists and software developers, to design and implement AI systems that can effectively process and apply knowledge to real-world problems. The work of AI Knowledge Engineers is critical in ensuring the success of AI systems in various industries, from healthcare to finance to retail. AI Domain Expert: An AI Domain Expert is a professional who has deep knowledge and expertise in a specific domain or industry, such as healthcare, finance, or transportation. They work with AI teams to provide domain-specific insights and guidance, helping to ensure that AI systems are designed and implemented to meet the unique needs and challenges of their industry. AI Domain Experts work closely with AI developers, data scientists, and other professionals to develop and test AI models, ensuring that they are accurate, reliable, and aligned with industry best practices. They also play a key role in communicating the potential benefits and limitations of AI systems to stakeholders, such as policymakers, regulators, and customers. The work of AI Domain Experts is essential in enabling the successful deployment and adoption of AI technology in various industries. AI Solution Architect: An AI Solution Architect is a professional responsible for designing and implementing complex AI systems that meet the needs of their clients. They work with clients to understand their business requirements and design AI solutions that are efficient, scalable, and cost-effective. AI Solution Architects use their expertise in AI technologies, software engineering, and system integration to design and develop AI systems that can process and analyze large amounts of data, make accurate predictions, and automate tasks. They also ensure that AI systems are secure, reliable, and compliant with regulatory requirements. The work of AI Solution Architects is critical in enabling organizations to leverage the full potential of AI technology and gain a competitive edge in their respective industries. AI Education Specialist: An AI Education Specialist is an expert in developing and implementing AI-based educational programs and curricula. They design and create learning materials that incorporate AI technologies, such as machine learning and natural language processing, to enhance the learning experience. AI Education Specialists work with educators and institutions to help them integrate AI into their teaching methods and courses, and they provide training and support to ensure that educators have the skills and knowledge necessary to use AI effectively. They also conduct research on the impact of AI on education and work to develop new educational models that leverage AI to improve learning outcomes. The role of AI Education Specialists is becoming increasingly important as AI continues to transform the education industry and create new opportunities for students and educators alike. These are just a few examples of the hidden careers in the AI revolution that are driving change in the tech industry. As AI technology continues to advance, it is likely that new roles will emerge to support it. If you're interested in pursuing a career in the AI industry, it's worth exploring these lesser-known roles to find the perfect fit for your skills and interests.
It's time to make noise. Developers need to take back their happiness and their productivity. But where should they start? On this week's episode of Dev Interrupted, we're joined by Justin Reock, Field CTO and Chief Evangelist at Gradle. With a mission to mitigate the toil, friction, and frustration felt by so many developers, Justin has become a tireless advocate of Developer Productivity Engineering. Listen as Justin explains DPE by exploring the connections between productivity, developer experience, and joy. Episode Highlights (3:50) What is Developer Productivity Engineering? (8:14) Creative vs. destructive flow (16:21) Metrics and visibility (22:37) Open-source supply chain security (24:01) Blockchain, AR, and VR Episode Excerpts How Facebook, Netflix, and LinkedIn handle developer productivity engineering Justin: That's one of the things that actually differentiate DPE from DevOps a little bit is that there's the human factor, right? Like the platonic ideal of a DevOps team is supposed to be not a team at all, right? 100% automation, no humans in the loop, right? But with developer productivity, you have to have humans cascading this practice, caring about, you know, the metrics that they see on the dashboard and then correlating that to developer experience. Without that empathy, then you don't get the focus; you don't get anything actionable that really changes the culture of the business. So that is a differentiator is that you need those people to be thinking about these problems. But then you know that that ends up, and ideally, these people have written code, right? I mean, right? It's very special you come across these developers who, like, truly care more about the performance of their team. And what the whole team is, is going through in terms of the developer experience versus their own experience writing code, and they're everywhere. They're in every organization. I mean, that's the thing is, like, a lot of folks have already been doing DPE. They just haven't been calling it that, you know, or maybe it's a part-time, couple hours a week that some development leads spends on productivity. But what we have to see now is a shift in focus to making this a center of excellence. The companies that are really doing this, right, you know, the Facebooks, the LinkedIns, the Netflix, you know, they have dedicated teams of hundreds, productivity engineers, it's 1,000s of developers. And that's the only way, I think, to kind of keep enough of a focus in the industry to allow this to be a transformative change as opposed to just minor tweaks. Do CEOs Care About Developer Experience? Justin: I'm a big fan of the whole Malcolm Gladwell 10,000 hours for expertise type of thing, but is it 10,000 hours waiting on a bill to complete, or is it 10,000 hours writing code? So obviously, if you're able to spend more time on that part of your learning and your experience, that only makes sense that you'd be able to onboard faster. You won't run screaming from the industry because you're like, oh, this is not what I signed up for. This sucks. So, I think that I mean, there's all these impacts, and the time is right for it now. I mean, Gartner released a CEO report a couple of months ago, the 2022 CEO report, and it was like, I don't remember the exact statistic, but it's like a 40% increase in terms of CEOs that are now... That they actually have Developer Experience on their radar, which is very good, but also very acute, right? I mean, just a couple of years ago, it was way low on the list of CEO concerns, and now it's one of the top concerns. Engineering Insights Before Anyone Else... The Weekly Interruption is a newsletter designed for engineering leaders by engineering leaders. We get it. You're busy. So are we. That's why our newsletter is light, informative, and oftentimes irreverent. No BS or fluff. Each week we deliver actionable advice to help make you - whether you're a CTO, VP of Engineering, team lead, or IC — a better leader. Get interrupted.
As the world of cloud computing continues to evolve, the need for effective FinOps strategies is becoming increasingly important. In this article, we will explore the critical role of developers in effective FinOps strategies and the benefits of FinOps for technical expertise and career growth. Defining FinOps: Why Developers Are Critical to the Equation Let's begin by briefly revisiting the definition of FinOps. The FinOps movement has been steadily gathering momentum since its inception in 2018. The FinOps Foundation defines FinOps as ‘the practice of bringing together Finance, Business, and Technology to master the unit economics of cloud for competitive advantage.’ FinOps is essentially a set of principles and practices that enable organizations to align cloud spending with business objectives to get maximum business value from the cloud. The 2023 edition of the State of FinOps survey by FinOps Foundation highlights that the biggest challenge reported by FinOps practitioners is enabling engineers to take action. For companies to take full advantage of cloud technology and benefit from its efficiency and cost savings, they need to ensure that their developers are involved in FinOps strategies. Developers play a crucial role in these strategies — they are responsible for understanding how spending on infrastructure affects product delivery quality and have an important part to play in establishing cost optimization processes. Involving developers in FinOps initiatives helps promote visibility into costs and a better understanding of how their decisions impact financial performance. Moreover, developers are best placed to understand the complexities involved in infrastructure optimization — from identifying resource bottlenecks and developing techniques for reducing cloud costs to developing code for better scalability. They are well-versed in cloud computing concepts such as microservices, containers, and serverless architectures which make them ideal partners in creating effective infrastructure optimization strategies with non-technical teams while complying with security standards and reducing costs. Engaging in FinOps not only does it get them closer to the business processes that their code supports but also helps them evolve their technologies from cost centers into profit centers. FinOps: The Future of Cloud Optimization and Developer Empowerment While there is growing agreement on the benefits of FinOps for companies, the State of FinOps report suggests that there are still barriers preventing engineers from fully contributing to FinOps strategies. This indicates that developers may not be fully aware of the many advantages that FinOps offers. Let’s take a moment to explore a few of its key benefits: Enhanced Automation: Through deeper collaboration with other departments and stakeholders, developers can build automation processes that align with the business strategy and improve time efficiencies. Greater visibility into their projects: By enhancing their understanding of the budget and cost drivers behind their projects, developers can gain deeper insight into their work, helping them to make better decisions and ultimately deliver more efficient solutions. Improved Data Tracking: The use of data tracking tools and tags can provide developers with greater insights into how resources are being used within their organization — allowing them to identify any potential areas for improvement or cost reduction. On top of the technical benefits of FinOps, developers can also benefit from greater career prospects. As the FinOps movement continues to grow, employers are looking for professionals who can offer a combination of technical and financial acumen, making developers with FinOps experience highly desirable. FinOps is ushering in a new era for developers, offering a unique opportunity for them to take control and make an impact. By using their technical and analytical skills, developers can play a pivotal role in helping their organizations succeed while also improving their own career prospects. Want to stay up-to-date on the latest FinOps strategies and connect with like-minded professionals? Join the FinOps Foundation today and gain access to exclusive content, training, and events.
When you’re navigating new territory, it is essential to have a guide. And if you want to grow your skills as rapidly as possible, it helps to learn from someone who has done it before. Why Use an Engineering Advisor? An advisor is someone who helps you produce better results with your work. They: Suggest new ways to solve problems. Help you navigate problems you haven’t dealt with before. Point out mistakes you might be making. Accelerate your career growth. Provide new mental models for thinking about your work, giving you more tools for your leadership toolkit. How Do Executive Advisors Work? Every advisor is different, so you should find out what approach a prospective advisor uses. I think my approach is fairly common, so let me share how it works with my practice: With most of my clients, we conduct working sessions. They are one-hour sessions and are weekly, biweekly, or monthly. In these sessions, my client brings their current problems, and we problem-solve them together. Each of us brings an essential part to the working session. I bring a lot of experience (both in terms of years doing this, and across many companies). I’ve seen it all before. My clients have their own experience and expertise. But most importantly, they have much better context on the problem and environment. We talk through a few ways to solve each problem, and we review the tradeoffs of those approaches. I usually suggest solutions my clients wouldn’t consider, and I share tradeoffs they would miss. They, in turn, point out ways the environment may bias the solution in a particular direction. Some of my clients use me to test their plans. They’ll share what they’re thinking, and have me walk through the tradeoffs, or suggest some alternatives they might not have thought of. We walk out of these sessions with solid plans and new ways of addressing problems. It’s like pair programming, but for leadership! Other advisors may have different styles or ways of operating, so be sure to inquire into their approach. When To Use an Advisor I see several profiles of leaders who reach out for advisory help: Leaders who are in new territory: Typically leaders approach me when they’re getting in a little over their heads, or their current approaches seem to break down. (This often happens at ~20 engineers or ~50 engineers in an organization). Symptoms are too many direct reports, too much relying on them, engineering velocity slowing down, or quality problems emerging. Leaders who are promising but need support: Often very talented leaders who have a little fewer years of experience seek out advisors to make sure they’re well supported. Sometimes their boss may even insist on it. This can help bright and capable leaders step into situations that may otherwise feel risky for the company. (Hint: You can use that to your advantage to get companies to take a risk on you by pairing the responsibility with an advisor.) Leaders who are growth-minded and want to be as effective as possible: These leaders are aware that their growth is magnified if they get good feedback on their work, so they seek to accelerate their growth by choosing an advisor who will give them new perspectives. Leaders who are part of a work culture that encourages growing their leadership: Some companies invest in their leaders because they view it as a high-leverage place to invest. Making a leader 10% better has a greater than 10% impact on their area of the company. In these companies, most of the senior leaders have executive advisors or coaches. How To Choose an Advisor I recommend you interview a couple of advisors to determine which person is best for you. Ask people in your network for recommendations. Select a few, and contact them. With my potential clients, I like to do a practice session. This gives the potential client a feeling of what it’s like to work together. Ideally, they will do the same practice session with a couple of advisors, and see what kind of insight they get from each person. They should also evaluate how comfortable they feel being vulnerable or showing their weak areas with the advisor. Do keep in mind that sessions will get better over time as you develop a working relationship together, but the sample session will give you an idea of what it’s like to work with the person. I recommend asking for a sample session. What To Look For What should you look for in an advisor? Someone who has been through the stages you’re going through Someone you communicate well with Someone you can be vulnerable with Someone who listens as much as they speak Someone who doesn’t have the same solution to every situation The last one is something I think it’s important to emphasize. How flexible is the advisor’s thinking? Do they respond to every situation with the same solution? That’s often a red flag. Rates for Advisors Rates vary greatly depending on the advisor. I’ve seen rates that vary by an order of magnitude! If you’re on a budget, you can probably find someone fairly inexpensive. But you have to be careful with your choices. You’re hiring someone for their expertise, not just for them to coach you (more on the difference between coaches and advisors later). Ideally, your company should be paying for the advisor. What I tell companies is to use this heuristic to determine whether the rates are reasonable for an advisor: If you took the yearly cost of the executive advisor, and compared it to how much it would cost to hire an additional engineer, how does it compare? Compare both the anticipated impact of the advisor and the cost. When you consider the impact on the company, it’s generally a very smart investment, even if it looks quite expensive. A good advisor can help you avoid expensive mistakes, and improve the trajectory of an entire department. That’s often worth it even if it’s quite expensive. Advisors can be expensive, and even feel out of reach for individuals. Why? Consider the economics of the situation. A highly experienced engineering leader can command a salary of $300-500k/year, plus 0.5-2% of the equity of a company, and bonuses. Total comp can be $350-$1MM a year. Advisors also have a lot of overhead to just be an advisor. To give you an idea from my own consulting: I have 4 or 5 hours of meetings with prospective clients for every client that signs up (and I think that’s a good ratio). I need to have about four hours of meetings a month just to be sustainable as a business, and it fluctuates greatly. I have to manage taxes, health insurance, and deal with unpaid vacation. When you add all these things up, the rates can end up being higher than you might expect. I personally provide a 50% discount for individuals, because otherwise many of them can’t afford it. And many of them find even the discounted rate out of their reach. If possible, go through your company. An easy way to ask about this is to ask if they offer executive coaches or executive advisors. If they don’t, ask if they’d be open to it. Many leaders don’t want to seem “weak” by asking for this. But many companies do offer this kind of investment in their employees, or are willing to. You may be surprised that the person you’re asking already uses an advisor! Most advisors charge either hourly, or by the number of meetings. My own rates are monthly charges, based on the frequency we plan to meet. That seems to be pretty common. What About Using an Executive Coach? Here’s what ChatGPT says is the difference between using a coach and an advisor. I have to admit it’s a good summary of the difference: “Both advisors and coaches can provide guidance and support, but there are some key differences between the two roles. An advisor typically has specialized knowledge or expertise in a particular area and offers advice based on that expertise. They may provide recommendations, opinions, or solutions based on their experience and knowledge to help a person make informed decisions. On the other hand, a coach is more focused on helping a person achieve their goals and develop their skills or abilities. Coaches typically ask questions and use various techniques to help their clients identify their own strengths and weaknesses and work towards self-improvement. Coaches may also help their clients create action plans and hold them accountable for their progress. Another key difference is that advisors tend to have a more directive approach, while coaches are more non-directive. Advisors often offer specific recommendations and may even make decisions for their clients, while coaches help their clients find their own solutions and strategies. Overall, both advisors and coaches can be valuable resources for people seeking guidance and support, but they have different areas of focus and approaches.” You’ll find that there is a continuum between the two. Most advisors also do some coaching. Some coaches also do some advising. My advice for engineering leaders is to find someone who leans towards advising. The reason for that is that having deep experience in engineering leadership is something that is worth a lot. There is a wide body of knowledge and expertise that you will be able to tap into from advisors that understand that domain well. But this does depend on the goals you have in mind. If you’re looking to be a more effective communicator, a coaching approach may be more appropriate. And if you’re wanting to have more perspective as a leader, a coach may be more appropriate. Both are reasonable options. I would look at this as a spectrum that you can use to evaluate people you’re considering.
Building a new version of your product is an exciting endeavor, but it can also be an overwhelming one. In the earliest days of a startup, there tends to be little formal structure in place, which is usually for the best! Everyone’s wearing numerous hats and just trying to get the product and company off the ground. It’s a time of innovation and creativity. When we built the first version of our product, we didn’t have a dedicated product team. That changed with version two, bringing new opportunities and challenges along with it. Through trial and error, we moved through several iterations of workflow, communication, and reporting. The key was balancing input from both the engineering and product teams while also balancing planning and innovation. We learned a lot from this endeavor and, in addition to successfully updating our core offering, gained some important insights about how to set yourself up for success even (and especially) as your company grows. With that in mind, here are my top three tips for success to stay on track as your engineering and product teams grow. 1. Center the User To successfully build a new product, your engineering teams and product team must be in alignment. Of course, alignment can happen in many ways. If you simply have the engineering team taking orders from the product team, it will likely result in a worse outcome. Instead, the best way to align engineering and product is to make sure both are focused on users. Equip both teams with sufficient knowledge about the pain points and needs of users, so they can be checking in with the product from a user perspective on an ongoing basis. Consider a situation where an engineer suspects that following directives from the product team will result in clunky UX. They don’t necessarily have to solve the issue, but they should raise the concern. I’ve seen engineers do this quite effectively — asking if it’s possible to simplify the design, for instance. This speeds up development and, in the end, results in a product that is more valuable to users. By centering users, you’re aligning the goals of both teams and empowering engineers to push back and innovate when necessary, as opposed to simply nodding along and building exactly what the product team suggests. 2. Prioritize Reporting Alignment also comes as the result of ongoing communication. To that end, I suggest implementing a weekly reporting system. When both the product and engineering teams are being vocal about what they are working on each week, it helps everyone stay on the same page and makes the two teams feel more like one. Some updates might include: What are people working on at the moment, and what have they achieved? What else is left? What roadblocks or hurdles have slowed down work or might do so in the week ahead? Once again, both teams should be contributing updates. In the past, there were times in which there was tremendous communication within each team but a lack of communication outside of them. Sometimes, we failed to update the roadmap when a feature was complete. Other times, a product might be released as a minimal viable product, so it was considered complete on the roadmap, but the reality was a little different. Being proactive about, first, making sure the roadmap reflects the reality of the work taking place and, second, making sure communication happens on an ongoing basis is extremely helpful. To make reporting sustainable, choose a platform that’s easy to use. At Prefect, we conduct weekly reporting in a Slack channel. We also sync up quarterly to review larger goals and check our progress against them. 3. Leave Room for Innovation Speaking of the roadmap, one of the most difficult things to balance when the building is how much engineers should stick to the roadmap versus going off-script to build something they’re more excited about. The only way to know if you’re following the roadmap too closely is to have a strong connection with your engineers and to speak with them on an ongoing basis. Ask them: Do they feel like they've got the space to go and be creative, or do they feel like all of their time is taken up with roadmap items and prescriptive work? Of course, there are times when you need to follow the roadmap almost exactly, whether because of a deadline or user demands. When the roadmap has been disclosed to the board and current customers, swaying from it can be more challenging because several audiences are counting on the agreed-upon direction. At the same time, being too prescriptive about particular features can be really harmful to both the product and the morale of the engineering team. A 50/50 balance is a good goal. Is about half of your engineering team’s work creative or self-directed, or are they simply managing requests and checking boxes? The Bottom Line New workflows can feel daunting, but they’re also opportunities. If there’s one key takeaway, it’s that balance is paramount. As your product and engineering teams grow, it’s imperative to strike the right balance between adhering to the roadmap and allowing for creativity. But the first two tips— ongoing communication and alignment (by having everyone focus on the user) lay the foundation for finding this balance. That’s not to say challenges won’t arise. But with the help of these tips, your product and engineering teams will be better suited to handle them — and primed for making the best possible product in the process.
Field CTO is a job role that comes up more and more in software companies. There is no standard definition for this job role. As I regularly get the question about what a Field CTO does, this blog post summarizes a few general characteristics and then explores my daily life as a Field CTO. The post concludes with the answer to how you can also become a Field CTO at a software company in your career. General Characteristics of a Field CTO Search through business and employment-focused social media platforms like LinkedIn or jobs networks and portals like Indeed or Glassdoor. You will see many of the following characteristics, experiences, and tasks of most people that own a position as Field CTO: Meet many stakeholders across entire customer projects and sales lifecycles: Work with prospects/customers and partners (like cloud service providers, other software vendors, and system integrators) to ensure customer success. This includes joint planning of customer projects, a strategic roadmap for the enterprise architecture, or technical partnerships. Talk business and tech in the same meeting: Explain the product portfolio and business value of your solution on all levels, including business executives, tech executives, and whole project teams with project leads, architects, engineers, and business people. Evangelize the product portfolio and success stories: Perform internal and external events and create public content about case studies, technical architectures, and the business value of your solution mapped to industry and business problems. Events include webinars, business roundtables, tech meetups, and international conference talks. Content creation covers podcast interviews, blog posts, slide decks, and articles in magazines/electric journals. Collaborate with product and field marketing: Close to evangelism, but often independent, work with the internal marketing to support product announcements, regional road shows, global webinars, customer case studies, and other marketing initiatives to generate product/vendor awareness and sales pipeline. Be a public spokesperson: Present the employer in public relations. This differs from evangelism, as it is much more strict, dangerous, and sensitive. The key partners are the media/press holding interviews and research analysts (like Gartner and Forrester) getting educated about the product portfolio and case studies. Collaborate with product and engineering: Provide feedback from the meetings and public events to product management and engineering teams, like new feature requirements. And the other way, present the roadmap and strategic decisions to customers. This was the general summary. In the following sections, I will go into more detail about my individual daily life as a Field CTO. My Regular Personal Tasks as Field CTO In my world, everything is around open source, cloud, data streaming, analytics, and big data. My current employer Confluent provides a complete data streaming solution that can be deployed everywhere with a cloud-native product portfolio. Let's look at my recurring daily, weekly, or monthly tasks. The mix of all the following functions makes the difference. I might not be a complete expert in any of these categories. But I can leverage and combine my knowledge and experiences across different aspects. Each section shows a few references, so you get a feeling about my work in the different areas. Task 1: Support the Success of Our Customers Customer success is a term software companies focus much more on compared to the last decades - even to the degree that whole departments are named after it. While it makes total sense to make and keep the customer happy, the cloud enforced this paradigm much more strictly as the financial success for the software vendors is based on continuous consumption of the cloud products instead of just selling perpetual software licenses. Customer success obviously increases the customers' satisfaction while using a product or service. This results in decreased customer churn and increased up-sell opportunities. Customer success is a company effort from the CEO down to the account team. You work with strategic customers on every level, including top management, decision-makers, project leads, architects, developers, etc. Here are a few things I do to support a great relationship and the success of our strategic customers. Share Technical Architectures Mapped To Real-World Experiences I map my experience from what I see from customers across industries with relevant technologies. In my case, I have worked in the data integration and analytics space since I wrote my degree dissertation at the university many years ago about middleware, service-oriented architecture (SOA), and enterprise service bus architectures. Today, working for the data streaming vendor Confluent, I focus on open-source technologies and cloud services around Apache Kafka. A Field CTO is not necessarily a deep technical expert like the consultants or support engineers. Still, the Field CTO understands the technology and how it complements or competes with other technologies. I can explain design principles for distributed computing architectures, hybrid cloud deployments, cloud-native architectures, microservices, and data mesh. As Field CTO, I understand how data streaming helps to solve business problems using these architectures. Last but not least, and maybe most importantly, I educate how data streaming fits into the enterprise architecture with other technologies and products for middleware, data analytics, machine learning, the internet of things, blockchain, and so on. Here is a concrete example where I map retail use cases for omnichannel communication focusing on use cases, not technology. Despite the technical content, this slide is also easily understood by the executives and business teams: Some Field CTOs are very technical and collaborate a lot with engineering to add technical features or improve the performance of the product together with key customers. To be very clear: That's not me. :-) Talk to Executives and Very Technical People in the Same Room A Field CTO can and has to talk at the right abstraction level. Contrary to many other colleagues involved in customer success, I do not focus on just selling our product or supporting the customer in production, or implementing a new application. Instead, I discuss the value of our product portfolio for the next customer project or the strategic enterprise architecture. Hence, a few aspects are different in my meetings compared to my colleagues from presales, consulting, or support: I usually support the early stages of a customer project or sales cycle, where a decision needs to be made about the best architecture, technologies, and strategic planning. The starting project teams get support from me to spread the benefits of their strategic decision across their organization - the bigger the account, the more often this might need to happen. I need to speak the languages of executives and technical people in the same meeting room and confidently answer questions on all levels. I interact with senior executives and technical experts within the Fortune and Global 2000, but also smaller enterprises and startups. The meetings are very different depending on the company size. An executive in a startup is often still the technical decision-maker. The mix of meetings with different kinds of companies is one of the most helpful aspects because one can learn from the other. Think about a traditional bank and a FinTech startup. The Field CTO helps connect the dots and educates companies on how others solve business problems and innovate. Share Industry Expertise To Talk at the Right Level No matter what company size, the key challenge is usually the same (and that's what most people struggle with): Talk at the right level. For instance, don't discuss technical details if you talk to a CIO. Don't even talk about the product or technology. A CIO needs to solve business problems and buys any product that helps. In my case, the CIO rarely cares if the problem is solved with Apache Kafka or any other technology. So, how do you talk at the right level? The answer is simple and complicated: start with case studies. Show knowledge of the customer's industry. Speak to customers in a language they understand. The conversations begin well if you explore a success story from another public customer in the same industry. You can go down to technologies and architectures as much as needed (or skip it if you talk to an executive or business person). For instance, if the developers ask how transactional workloads are implemented with data streaming, I go down to the API level and explain the concepts and functions of Apache Kafka's exactly-once semantics. Represent Headquarters in Other Time Zones Here is one of the biggest problems of most software companies that originate in Silicon Valley: Time zones. Actually, every startup begins with this problem, no matter if you create an innovative business model in a tech hub like Tel Aviv, Berlin, or Bangalore. I am used to working for companies that emerged in Silicon Valley. The time zone is nine hours behind my home in Germany. The Middle East, Asia, and Australia struggle even more. Sales, marketing, consulting, and support need to be regional. A software company cannot grow successfully otherwise. But what about top management, field leadership, and product management? Correct. Most of these colleagues often live close to the Pacific time zone. That's where Silicon Valley is. Otherwise, alignment in creating strategies, making decisions, and coordinating the worldwide business is much more complex. A regional Field CTO is especially helpful in regions outside the headquarters' time zone. So, even if the most significant piece of revenue comes out of the US, you might find one Field CTO for the US, one for EMEA, and one for APAC in the company. Why? Because the Field CTO in other time zones takes over some tasks of headquarters. Present and Discuss the Company Vision and Roadmap One of the most common inquiries I get, especially when traveling outside the US, is doing roadmap presentations about the company’s vision and strategy (under NDA, hence not in public events) because product management sleeps while I visit the customer. But there is more than roadmap discussions. The reality is that digital innovation usually happens first in a few countries, like the US or Mainland China. Other countries learn and repeat. The Field CTO sees innovative and successful trends and shares the news with different time zones. Two examples: Technical Example — Cloud Infrastructure: Some countries are just moving to the cloud. For instance, when I visited the Middle East a few times in 2022, the significant discussions were still about the availability of cloud providers like AWS or Azure in countries like Qatar or Saudi. Hence, these countries are forced to be years behind the US or many European countries. Business Example — Live commerce (aka social commerce): It has been a very common business model in retail in Asia for several years already. This sales innovation combines instant purchasing of a featured product and audience participation via social networks. It still surprised customers in the US and Europe when I present how Apache Kafka transforms the retail and shopping industry with live commerce. Task 2: Thought Leadership A thought leader is a known expert in a specific field. In my case, I have worked in the data integration and analytics space for many years. The topics and technologies change over time. In my early career, I focused on service-oriented architectures using Enterprise Service Bus (ESB) technologies and Batch ETL tools. Today, I focus on data streaming with technologies like Apache Kafka or Apache Flink and design principles like microservices and data mesh. But since the start of my career, I have documented the integration and data space evolution with public presentations, blog posts, and articles. I share my experiences with case studies, best practices, anti-patterns, and trends. Thought leadership means sharing experiences and educating others. There is disagreement, too. That's fine and part of why the software industry is so exciting. Evolution and innovation never stop. Trustworthy Consulting for Customers, Partners, and Community Sales and marketing are crucial for the success of every software company. Each business unit has its own goals, like reaching revenue goals or creating a lead generation and revenue pipeline. These goals sometimes conflict with focusing on the big picture of the customer and its enterprise architecture. Every software company puts itself in the middle. You won't imagine how many vendors I have seen in the integration and analytics space pitching themselves as the heart of the customer's enterprise architecture. Every company has plenty of other vendor agreements. Not everyone can be at the heart of the enterprise architecture. I always recommend using the right tool for the job. It is typically not sales or marketing that solve this conflict. It is not their task either. Independent consultants and system integrators help fix this mess. From the software vendor side, the Field CTO is a trustworthy person explaining when to use the own product portfolio and how to complement other technologies in the enterprise architecture. The beauty of open source is that you can help your colleagues and the broader community simultaneously with thought leadership. In the end, it is a win-win situation. You won't imagine how often I come into a meeting anywhere in the world, and a few people in the room from the customer already know me before I introduce myself. I articulate when and when not to use our products. Sometimes, sales reps in a customer meeting might go a little crazy inside when I present when NOT to use Apache Kafka. A Field CTO is a trustworthy advisor. Present Industry Trends Mapped to the Product Portfolio I learn daily about new use cases, technologies, and other trends across industries. Without up-to-date industry knowledge, it is impossible to be a trusted advisor to customers, partners, and the broader community. I spend at least an hour every single day educating myself. The focus here is not technology but industry developments. Podcasts are your best friend when traveling or just taking a break from work and going for a walk or run. As Field CTO, I remain current on industry trends and act as an industry thought leader and trusted advisor in internal discussions, customer meetings, and public events. Deliver tangible content (articles, whitepapers, slides, videos, demos, etc.) to be used by various business units like sales, presales, marketing, partner, product management, and others. But the content is NOT sales but trustworthy education for everyone. In my case, I get great feedback from colleagues, partners, customers, researchers, students, and competitors (!) about how my thought leadership helps to define the proper enterprise architectures and solve business problems. My presentation about use cases and architectures for data streaming across industries is a great example focusing on case studies, not the underlying technologies and products. A Field CTO confidently presents in front of audiences of all sizes (from 1 to 1,000 and more people) to communicate the value proposition of strategic and tactical concepts and architectures for complex enterprise use cases. This happens in on-site and virtual events. I deliver virtual webinars, customer tech talks, on-site conference talks, keynotes, roundtables, and in-person panel discussions every month. Nobody was born with the talent of speaking in public. Speaker training never hurt anyone. One should seek honest feedback on the presentation style regularly. Look at what kinds of international talks I give across the globe to get a better feeling for my public content. Here is a picture where I speak at Big Data Spain in Madrid: A Field CTO in a bigger company might focus solely on a single industry to go deep into conversations on all levels. I prefer another way. I am not a deep expert in one industry. Instead, I can share case studies and architectures across all major industries. Customer Meetings at International Conferences and Regional Events Thought leadership is not just about writing blog posts and doing presentations. I attend many public events every year around the world. This includes events organized by our company and external conferences. For instance, at Confluent, the most critical events are our yearly conferences in the US (Current, 2022 in Austin) and Europe (Kafka Summit, 2022 in London), plus regional events (Data in Motion tour around the world; I attended Frankfurt, Zurich, Stockholm, Amsterdam, Tel Aviv, and Dubai in 2022). I also participate in external events. One of my yearly favorites is AWS ReInvent in Las Vegas. But I am not an attendee at all these events. I usually don't have much time to attend sessions. Instead, I have customer meetings. Up to ten per day. It can become very stressful and exciting at the same time. Additionally, I usually give a talk or keynote and moderate a customer roundtable (often for executives). Looking at my slide decks and blog posts, I have plenty of success stories and architectures I can discuss on every level, from the CIO to the software developer for financial services, insurance, retail, telcos, gaming, public sector, logistics, travel, energy, automotive, healthcare, and software industry. I can adjust my content depending on the audience. For instance, if I speak at the yearly Automotive IT Congress in Berlin, I know the audience is top management from OEMs and suppliers. Hence, I present case studies about car makers, manufacturing, and mobility services. When I go to the Apache Kafka open source community meetup in Berlin in the evening, I speak about deep technical and non-industry specific general content like disaster recovery strategies for data streaming. And when we have a customer roundtable for lead architects, the conversation changes to a completely different story once again. A Field CTO Is Not a Developer Advocate or Evangelist Note that the content of a Field CTO differs from developer advocates/technology evangelists. These colleagues focus on source code, live demos, deep technical Q&A, etc. Don't get me wrong: Some developer advocates publish unique thought leadership content. And Field CTOs create code examples and demos. But the priority and focus are very different. The overlapping in the daily business is less than 10% in my experience. The Field CTO understands the market and the business in depth. The focus is on customers' problems and innovation. Mapping these challenges into the software vendor's product portfolio is a key focus area. Contrarily, the developer advocate focus is using the product portfolio of the software vendor to create exceptional code examples/demos and shares the developer experience with the community (i.e., customers and potential customers) by doing blog posts, meetups, conference talks, podcasts, etc. Having said all this, some content I create is comparable to presentations or blogs of developer advocates. For instance, I wrote a few quite technical articles on the Confluent blog. Hence, some people define Field CTO as a C-level developer advocate and evangelist. The content of the Field CTO (similar to the content of the developer advocate) is not just helping the customers, partners, and the broader community. I also use it for internal enablement. I have a detailed explanation in the next section for this. Task 3: Collaborate With Internal Teams A Field CTO is connected with colleagues across various departments within the company. And on all levels, from C-level to field teams to engineering. Collaborate With Product Management and Engineering The Field CTO supports product management and engineering with feedback from customer conversations and shares the company's strategy and vision with the customer. Here are specific tasks I do regularly. I want to emphasize that I am not the lead or expert in any of these tasks. I add another perspective from my experience (that is different because of my daily job meetings customers, creating thought leadership content, etc.): Share feedback from the field: Feedback includes ideas, complaints, and trends that I hear in my 100+ customer meetings during the year across the globe. I do monthly 1:1s with a few product managers, plus many discussions whenever I meet product managers or engineers at internal or external events. Join subject matter expert (SME) groups: Dedicated groups with colleagues from all different business units meet weekly to discuss a specific topic. I join a few of these whenever I have time. Review internal and external documents: I look at internal documents like new product ideas, previews, or roadmap draft templates. I also collaborate with our marketing team when we create external-facing content like case studies or pitching decks. Analyze competitive intelligence: A dedicated group focuses on market intel. In the software industry, it is hard to be and stay successful if you don't know what your competitors are doing. I share feedback with this group whenever something comes up in a customer meeting or at an event. I read our updated internal documents monthly to learn how to discuss our strategy and product in competitive situations. Present roadmap to customers and prospects: I discuss the company's vision and upcoming features (under NDA) in customer meetings. This is crucial, especially outside the US, where it is much harder for the account teams to get an appointment with colleagues from the US time zone. I cannot go as deep as a product manager. I only share the high-level overview and involve the right product manager in a follow-up with the customer. Internal Enablement of Sales and Marketing In a good company, even the account manager and presales colleagues clearly explain how the own product fits or does not fit into the enterprise architecture of the customer. No one lies and sells products where it is no fit. Though, often this is more of an educational problem. The Field CTO educates internal teams about practical DOs and DONTs. In my case, data streaming is a super complex field. Hence, thought leadership is not just for customers. It is widely used by colleagues, too. For instance, my blog series about data streaming vs. data warehouse and data lake explores how and when data streaming complements other data platforms. Many new hires across business units read this to understand how we fit into the broader data platform market. The Field CTO enables internal teams by demonstrating how to pitch their product's business value and unique selling points. This is crucial for many departments, including sales and marketing. I work with our internal enablement team to incorporate and share my knowledge and experience with new hires. This is not replacing any other internal enablement but is complementary. It adds another perspective. Support Mergers and Acquisitions (M&A) Mergers and acquisitions (M&A) allow enterprises to grow or add new products more quickly and change the nature of their business or competitive position. A Field CTO helps evaluate other companies to guide the M&A team and top management in making the right decisions about buying or not buying the company. The feedback from the Field CTO is about market trends, visibility of the company in the customer base, feedback about the product experience, etc. Task 4: Public Spokesperson I have covered thought leadership and evangelism already. However, being a public spokesperson is very different. A spokesperson is engaged or elected to speak on behalf of others. In the present media-sensitive world, software companies have limited employees who are allowed to speak to the media and analysts. First, you receive formal training in journalism, communications, public relations, and public affairs in this role to ensure that public announcements are made in the most appropriate fashion and through the most appropriate channels to maximize the impact of favorable messages and minimize the impact of unfavorable messages. Being a spokesperson is much harder than doing thought leadership or technical evangelism. Hence, only the very experienced (and responsible) top management announces most critical messages, like the CEO and CFO doing the earning calls in a public company. A CTO or similar colleague announces new product releases. A Field CTO can work as a spokesperson to support: Public relations: Press articles, interviews, statements Analyst relations: Research interviews, presentation of product features and case studies Give Press Interviews and Write Public Articles For public relations, the Field CTO can help significantly in markets outside headquarters. In my case, most interviews and press releases in English are done out of headquarters in Silicon Valley and supported by top management and regional colleagues. I mainly do interviews and press articles for regional events in Europe. The public relations team uses me a lot as a German spokesperson, as I am German. But I also do English press articles, interviews, and podcasts: Contrary to regular blog posts or podcast recordings, the internal communications team reviews (and often even prepares). I collaborate and align with the team to ensure the proper positioning of our products and review the technical content. My broad experience working with so many customers always helps me find the right words, whether an article is for a developer interview or an interview in a CIO automotive magazine. I link my press publications on my website. Educate Research Analysts Like Gartner and Forrester For analyst relations, it is different. While product management is crucial to present our product features and roadmap, I am involved in discussing case studies and industry-related trends. I have meetings and calls regularly with research analysts from Gartner, Forrester, IDG, and others to educate them and provide Q&A from my practical worldwide experience. Working with analysts differs from daily meetings with customers or partners. These research companies don't care only about the technology but about the success stories and the solved pain of customers. I guess everyone has seen a Gartner Magic Quadrant or Forrester Wave. People underestimate that these papers do not just evaluate the product portfolio but the vendor itself. The current product portfolio is essential, but the future product vision, continuous customer support of the vendor, and in the end, customer success and happiness are as necessary for the analysts. In What Business Unit Is a Field CTO? That's a brilliant question. There is no logical answer. I can only talk about myself. During most of my career, I was in "special groups" that have different quarterly goals (often hard to measure in $$$ and quota) and rules (like travel restrictions). My daily job is very flexible and differs every single week. My priorities can change from quarter to quarter depending on new prioritization, regional re-organizations, changes in the competitive market, and so on. I love it. But it does not fit into a standard sales, marketing, or engineering job role (with all its processes and rules). Most importantly: As Field CTO, I do not directly report to a sales or engineering manager. I work in a dedicated innovation group. That enables independent (but aligned) working on my tasks. Other companies might put the Field CTO role into another business unit. It does not matter as long as you can fulfill your tasks the right way. But I could see conflicts if I directly report to a sales or marketing manager. Why This Job Title? The title Field CTO is coming up more and more in software companies. It is often used because some people in the company need a clear, visible description of their tasks. Many people use this term because there is no better one, and the role (maybe) did not exist in the past. There are plenty of other job titles. Chief evangelist? Global technology advisor? Distinguished XYZ? I feel these titles make little sense and do not clearly say what I am doing. Hence, like data streaming or cloud-native data warehouses define new software categories, the job role of the Field CTO creates a new category. Let's review this in 2, 5, and 10 years... Is It a Management Role? No. Field CTO is NOT a people management role. My management asked me tens of times if I wanted to get management responsibility and lead other colleagues. The clear answer was always a rapid "no!"... I am very good at thought leadership in technology and innovation, creating public content, talking to different kinds of people in small and big audiences, and collaborating with customers and colleagues around the world. But I am not interested in managing other people. If you look at my long list of tasks, you quickly realize there is no time for this. Where Is the Headcount on Indeed, Glassdoor, LinkedIn, Etc.? You often don't find enterprises directly searching for this role. And frequently, it has a different name, as the title was just being created in the industry for a few years. There is no standard definition for a Field CTO like a sales rep, presales, field marketing, or software engineer. Sometimes, the Field CTO is an informal role, not an official headcount. Your Workday might still say you are a distinguished software developer, principal presales, or similar. But you still use Field CTO in your internal and public profile. Search for "Field CTO" in quotation marks (otherwise, you will only find CTOs - a very different and much more frequent job role). If you want to see a few other job descriptions and the career histories of Field CTOs, first check my Linkedin profile. Then search for "Field CTO", and you will find several people from software companies. For instance, my search shows connections from Snowflake, Databricks, VMware, MuleSoft, Tableau, and others. Field CTO is a new job role getting more and more traction. Other Field Ctos in the Software Industry This blog post is a story about my daily life as Field CTO. My personal definition of the job role of Field CTO in one sentence: The Field CTO is a trusted and well-known advisor for the product and technology my employer sells to make customers successful around the world. As discussed in this blog post, the role is very individual and can look very different in other business units or organizations. Hence, I also want to share a few of my fellows from other software companies so that you see a few more examples that are similar and different at the same time: Daniel Hand, Field CTO APJ, Cloudera: A senior technology leader building and leading teams within disruptive, high-growth technology companies. "As a Field CTO, I help guide organizations to become increasingly data-driven through the adoption of Cloudera’s Enterprise Data Cloud." He is also a published author and contributor to O’Reilly Media and Addison-Wesley. Fawad A. Qureshi, Global Industry Field CTO, Snowflake: Fawad is a strategic technology leader with more than two decades of international industry project experience involving consulting on enterprise data warehouses, big data analytics, and cloud solution architectures. He helps customers in multiple industries to translate their business requirements into technology solutions. He is passionate about sustainability and helps his clients achieve their sustainability goals using data and analytics. Jeroen Reizevoort, Field CTO EMEA, MuleSoft (Salesforce): Inspires customers by aligning their business initiatives to technology trends and helping them to make that combination actionable. "I am a technical executive responsible for communicating the corporate direction and product roadmap to regional customers’ business and technology leaders, as well as influencing the corporate and product strategy through industry expertise and synthesized field input." Stephen Walters, Field CTO, GitLab: Works with customers on DevOps initiatives to the development lifecycle. He is a subject matter expert with management and consultancy experience across end-to-end IT disciplines. "As a Field CTO, I am always looking at emergent areas of business and technology. A key area at the moment is value stream management." His job role includes being a keynote speaker on specialist subjects at conferences and webcasts and publishing articles. Liz Fong-Jones, Field CTO, Honeycomb.io: Promoted from Principal Developer Advocate to the Field CTO role. She blends hands-on technical experience as a member of Honeycomb's platform rotation, pairing with customers on implementation and articulating the business value of observability to leadership and executives. She's a frequent keynote speaker and author of Observability Engineering, published by O'Reilly Media. How To Become a Field CTO Many people ask me how they can get a job similar to mine. They see how many things I do, where I travel, and what lessons and case studies I share. That's very exciting and attracts many people. What previous job positions should you have had to become a Field CTO? A customer-facing role is critical. Ideally, you mix different experiences like developer relations, consulting, and technical sales (aka presales). Here is how I would define the critical criteria for becoming a Field CTO: Talent: Mix of many things (tech and non-tech skills) Experience: At least 10+ years with different companies, technologies, industries, regions, etc. Curiosity: Learn something new every day across many (tech and non-tech) topics Travel: Meet customers/prospects/partners/community/colleagues everywhere in your region or even worldwide Talent is likely the most challenging part, as you cannot learn everything. If you are unable (or don't enjoy) speaking to different personas (like CIO, business person, developer), this job is impossible. You must also work with many people with very different opinions and fight against your thought leadership. Experience is about broad knowledge across many topics. Technology is vital, but there is so much more. You must understand internal and external processes, sales cycles, cultures, regulations, etc. Curiosity is mandatory, as you will (have to) learn new trends and innovations before most people even think about it. And compare and integrate it with existing technologies and platforms. It is not just about "why change" but an evolution of your customers, not a "big bang". Travel is the hardest part for many people. If you cannot travel regularly (at least in your region), forget it. Yes, things go virtual. But like many tasks of executives and top management, the functions of the Field CTO need interaction with humans. Meeting customers on-site in critical meetings or sharing case studies in roundtables only works well in person. And each region is different. Did covid change travel? No. Not for the role of the Field CTO. Instead, it showed me how important and valuable on-site meetings are. Field CTO Is a Critical Position in a Software Company The broad spectrum of tasks allows a Field CTO to leverage the unique capabilities for internal and external thought leadership and knowledge sharing. The success of the customers is the ultimate goal of every employee of a company. Collaboration with various internal teams, partners, customers, and the community is essential. The combination of continuous learning and knowledge transfer makes a good Field CTO. Curiosity combined with the human factor of 1-1 conversations in a variety of contexts is the secret sauce. What are your tasks as a Field CTO? Or, if you want to grow into that role, what is your current job role and strategy for the future? Let’s connect on LinkedIn and discuss it! Join the data streaming community and stay informed about new blog posts by subscribing to my newsletter.
Author, Researcher, Speaker, Director, DevOps Enthusiast,
VP of Engineering,
Jade Rubick Consulting LLC