Software Enablement Engineer
Job Title: Software/Technical Enablement Engineer
Type of Company: My company is a large, multi-national technology provider. We cover just about everything from hardware to software to services. If you need something related to computers or technology, chances are we have a line of business that is related.
Education: BS, Computer Science, Northeastern University
Previous Experience: In previous jobs, I have worked as a UNIX systems administrator, software quality assurance tester, lead technical support analyst and a technical quality champion. Most of these you may be familiar with, but the technical quality champion is a bit uncommon. My role was to ensure all of the software products we released were considered of sufficient quality to allow our customers to use our offerings with as few problems as possible. This included tracking how many defects we had found and fixed in the products, what training materials and documentation were available for the products, and also helping to design and test new features in the products that made them more serviceable (i.e., debugging tools), and easy to install and maintain.
Job Tasks: I am a technical enablement engineer who works directly with certain "business partners" (BPs) to create supplemental software that works with, or enhances, the software we already produce. My job is to help these BPs to get their products to work properly with new versions of our existing software, or new products that we create. This can be through training, or problem troubleshooting.
We have a product, for example, that acts as a mail server in corporate computing environments. One of our partners has a product that monitors our server to make sure it is working properly, and allows systems administrators to take corrective action if anything fails. Let's say that my company is preparing to release a major new version of our product. Our partner begins testing its monitoring product to make sure it will work with our new release and suddenly finds a major problem in getting the two to communicate. The partner would then contact me, and I would work with them and with our development organization to root out the cause of the problem.
I also work with strategic partners, companies that create products that are mandatory complementary products in business environments: anti-virus software, for example, or back-up software. For these partners, I help plan their releases and track how closely they mesh to our product release schedules. If we release a new version of our software, we need to make sure these partners support it very soon after we release, in order to allow our customers to upgrade.
When I am not working on troubleshooting partner problems, I create articles, training, and code samples for our products to give partners "how-to" information so they can solve their own problems.
Best and Worst Parts of the Job: The best part of my job is being on the leading edge of the new software we produce. I am helping train our partners on really cool technology and functionality, and showing them how powerful and flexible it can be. I work with a lot of creative people who take our products and add new capabilities we haven't even thought of, so it is very interesting to see the ideas people come up with.
One of my least favorite parts of the job is doing partner management. This is where I need to stay on top of our strategic partners to support our new releases. I need to contact product managers and stress to them how important it is they release patches or updates within a certain period of time, and track what their plans are. It isn't all bad, as I still get to help them surmount any roadblocks they encounter from a technical perspective.
Job Tips: My best piece of advice is to stay current. Technology is constantly changing, and it helps to be aware of what is happening in the industry, particularly when new programming interfaces get popular, such as Java, AJAX, REST, etc.
With any career, time management is critical. You will be working on multiple projects and answering multiple demands for your time from various sources. You need to be able to manage this adequately in order to be successful. In addition, with this type of career, there are a lot of "work from home" opportunities, which can require extra diligence. You can't give in to the temptation of sitting and watching that movie you've been meaning to get to...
Finally, keep in mind that there are many, many jobs to perform in the high-tech industry. If you don't like to write code for a living, you don't have to. You can be a troubleshooter, a tester, an administrator, a trainer, and many others. Keep an open mind, and try new things. Many employers value a broad range of experience just as much or more as a deep technical understanding of just one role.