Should Sales Engineers Learn to Code?
We all know that software has been eating the world for some time. Let’s face it, the rise of the cloud has driven down accessibility and costs to resources that were out of reach for most individuals before. Now everyone has the ability, but perhaps not the need, to spin up a variety of resources in AWS, Azure, or GCP and deploy code in under a few hours.
In this guide we are setting out to answer a single question; should Sales Engineers learn how to code?
What Does “Coding” Actually Mean?
Great question, so glad that you asked! There are actually two different aspects here; coding and scripting. Both terms are often used interchangeably, but there are slight differences between them. Let’s look at a definition of each:
Coding - for the purposes of this guide, the term coding refers to the act of building a complete website, web application, mobile application, or desktop application (regardless of the programming language used).
Scripting - for the purposes of this guide, the term scripting refers to the use of an interpreted programming language to simplify or automate a given task with a specific outcome.
The reason we describe them this way is twofold; first because of the effort required to learn (a language), and secondly the time it takes to achieve a desired outcome. For example, you can often pick up a scripting language and a functioning sample in a few hours. It requires significantly more time to learn (a language) used for the development of, let’s say, a web application.
Alright, the distinction is now clear, but we still haven’t answered the question. In fact, we have complicated it a bit more. Should Sales Engineers learn to script, code, or both? Let’s ask some more pointed questions to get to the answer.
Should You Learn to Script?
Today, the majority of all software products are delivered from the cloud (also known as SaaS offerings). Even in the SaaS model though, there might be a component that needs to be downloaded to a user’s laptop or deployed to a cloud environment. In a pre-sales capacity, you’ll have three main tasks that you’ll be responsible for:
- Deploying the (software) product
- Configuring the product
- Integrating the product
If your company is far enough along in the product maturity process, you should be able to accomplish each of these tasks through the product User Interface (UI). Interestingly though, the last point about integration can sometimes pose a challenge (since not all integrations are available by default). Additionally, what if you had to configure hundreds of systems with different settings based on a set of parameters. In both of these scenarios, we want to automate as much of this as possible.
Hopefully your solution was also built with an API that has half decent documentation. Using that API, you could automate the deployment, configuration, or even integration of your solution. So what’s the catch? APIs need to be accessed programmatically. Working with an API requires you to be able to read code and understand the expected result of calling an API endpoint. This is not the same thing as using code to build an application (larger complexity factor).
Using the API, you can then develop a set of scripts to automate the tasks we defined earlier. Additionally, if you do any work with cloud environments like AWS, Azure, or Google Cloud, you are almost required to learn how to script. These vendors all have UIs that you can use for certain tasks, but to harness the power of a cloud environment at scale you really need the ability to automate tasks, which means scripting.
Tip: When you are interviewing with a company make sure to ask a lot of questions about product maturity, roadmap items, and common use cases or integrations with existing customer tech stacks. This should help you gauge how much you will need to flex your scripting muscles if you join the company.
So have we answered the original question yet? Not really. Let’s keep digging.
Should You Learn to Code?
This is a more complex question because learning to code is a more complex undertaking. Are you interested in learning the front-end or the back-end? Which architecture patterns should you use? What about the choice of language to code in? The combinations here are endless, which can seem really overwhelming…but there are some pretty compelling reasons to dive in anyway.
Learning to Code has Wildly Changed
Ten years ago learning to code was a huge undertaking. You had to build virtual machines to host your environments, all user interfaces were served from the back-end, and resources were mainly limited to Stack Overflow forums. Today, there are dozens of monthly services you can subscribe to that will teach you how to code right in your browser. Additionally, with the rise in serverless and API gateways, the ability to deploy applications has been reduced to minutes from hours.
Sure, it is still a time commitment to learn how to code and it takes practice just like anything else, but the barrier to entry is significantly reduced.
Experiencing Customer Pains
Imagine you are selling a solution that helps Application Security teams hunt down vulnerabilities in their code to keep their applications secure. Sure you can read all of the marketing materials, sales enablement materials, and product documentation…but unless you’ve lived the pain yourself, it’s always hard to have a complete appreciation of the challenges your customers go through. One way to replicate that pain is to put yourself in their shoes (literally). In this example, you could build, deploy, and secure a web application of your own creation to see what the experience is like. Yes, it’s not the scale of an enterprise application, but you will still learn a lot along the way and perhaps uncover new use cases or pain points that weren’t previously considered.
Note: The process of building, deploying, and securing a full blown web application is no small undertaking. This would also be in addition to your full time role in pre-sales. It’s always important to weigh the pros and cons of an undertaking like this, but also know that growth requires a little hard work every now and then.
As an added bonus, you could also use your newly built web application to perform demos. It (might) add some trust to the conversation when talking to your prospect (in this case the Application Security team).
Now I’m not advocating that everyone go out and start building web applications (or similar). You have to assess the value it might bring to your role and sales motion against how your solution is deployed and consumed. For example, some SaaS solutions only hook into large enterprise applications like Salesforce (and you can’t replicate Salesforce).
Tip: If you are deploying your own web applications, hosting environments, or integrations, please make sure you consult with your internal security team so that you aren’t violating any company security policies and are using best practices for securing your environments. The last thing you want to do is increase the attack surface for your organization.
Building Your Own Integrations
The final benefit that comes from learning to code is the ability to build your own integrations. Let’s say your customer needs to bring data from your application into their own data lake for further analysis, but a direct (one-click) integration isn’t available. Knowing how to code allows you to (potentially) build the integration yourself and add some direct and immediate value to your customer.
Note: If you are in a hybrid role where you are responsible for post-sales deployments in addition to pre-sales, developing these types of integrations might be part of your job.
The flexibility to build custom integrations is a huge value add, but also be aware of the dangers of needing to support what you build. Always consult with your product and custom success teams before launching into integration development.
The Final Answer
Should Sales Engineers learn to code? While scripting is becoming vital to the pre-sales role to automate tasks and orchestrate large environments, coding itself is still not a hard requirement. There are however many compelling reasons why you should learn some basic coding skills. In addition to being able to enhance your demos with a live environment, you can help uncover deeper customer pain points, and potentially drive greater value.
Ready to Make an Impact?
Scout is all about helping people get hired into a pre-sales role, but what happens once you get there? Don't worry, we got you covered there too! Learn how to make the biggest impact within your first 90 days in what we so eloquently call, "The Ramp Up".