Stories about Software


Learn from My Mistakes: Applied Positioning and Specialty Lessons

I’ve talked a lot about how not to position yourself lately.  Last week, I suggested you not do it by tech stack of framework or whatever.  And before that, I suggested you not do it by being a laborer.  In general, I’ve talked a lot about positioning lately.

But all of the talk has been pretty abstract.  Let’s switch it up today and get concrete.

Up to this point, I’ve thrown out off-the-cuff examples, like becoming “the build expert” or something.  Some of you have asked for more tangible, specific examples.  And I can actually think of no better way to offer those examples than by wandering through my own career, looking for them.

Of course, I didn’t figure all this stuff out until quite recently.  So these are all “road not taken” kind of examples, and that’s why I’m titling this post “learn from my mistakes.”  Here are all the times that current Erik would have told past Erik to recognize opportunity knocking.

I Help Manufacturing Companies Reduce the Cost of Testing Their Hardware

I held my first job the longest of any job.  There, I worked at a company that manufactured mail sorting equipment.  For me, it was a great gig.  I earned a lot of autonomy early on, and found diversity in my projects, becoming a polyglot in the true sense of the word.

One of my earliest projects there involved writing drivers and Linux kernel code in C, both to help out with the controller machines themselves, but also in support of a testing tool we uncreatively called the “Simulator.”  The Simulator was a full Linux computer sporting both standard and custom cards, and I wrote all of the code to simulate the inputs our sorting machine would get from its various accessory devices.

For instance, the sorters had OCR machines, bar code readers, and scales used in processing the mail.  I would write code for The Simulator that would mimic signals over parallel cables, serial cables, etc, tricking the sorter into thinking it was hooked up to all of its peripherals.  This let us test the controller software without setting up a bunch of hardware.

This could easily have been a specialty of mine.  24 year old Erik could easily have taken a lot of this learning, prototyped some stuff, and then approached engineering departments at manufacturing companies, telling them that I could help them reduce their testing costs.

I Help Mail Pre-Sorters Automate Their Accounting

Later, at that same company, I had a completely different assignment.  My company bought out a mom-and-pop outfit that had developed an accounting package in MS Access and was selling it to mail pre-sorters.  My boss made me the lead on this piece of software (I told you there was a lot of diversity).

It took some doing to whip this MS Access database into something worth my company’s branding, but I made it happen.  At the time, I remember looking down on the guy who wrote this thing and sold to us for a 6-7 figure exit.  Why?  He wasn’t much of a programmer.  Man do I laugh at myself for that now.

I made this software fit for purpose, allowing us to double its customer base.  And in the process, I became really well versed in pre-sort shop accounting practices and automation.  Talk about niche!  I had signed a non-compete with my company, but even after I departed there and the non-compete expired, I still got calls for help.

“I help mail presorters automate their accounting.”

These days, I look back on this one particularly ruefully because a much better entrepreneur (who had never pretended to be a programmer) than me had already proved it a workable specialty.  All I would have had to do was bring my superior automation skills to bear, and I could have made a comfortable living pretty easily.

Do you think any of these pre-sorters would have given me trivia interviews or made demands about tech stacks?  Of course not!  I’d have had them at “I can end the revolving door of data entry temps by automating this stuff for you.”

I Help Shops whose Software Interfaces with Hardware Get Started Unit Testing

I could probably mine a few more opportunities out of my first job, but I did have others.  So time to move on.  My next stop was at a company that made hearing aids.  I worked on the software that audiologists used to program those hearing aids.

Now, this shop was as waterfall as they come.  I believe they even invented new, previously unheard-of phases in the process.  So developers had little interaction with other parts of the company, let alone actual users.

But there was still opportunity.  I was one of the main proponents for unit testing there.  It took a lot of effort, but I eventually succeeded in installing the practice.  I also got the tests integrated into the build.

If you’ve tried to help companies start unit testing, you know there are always excuses.  “We can’t because we have hardware.”  “We can’t because we’re a body shop and our customers don’t want to pay for them.”  “Our domain is way too complex.”  You get the idea.

So management wants these practices (because they want predictability).  But teams resist through excuses.  I could have taken this experience and parlayed it into a niche where I come in and eliminate one of those excuses.

I Help Build Custom Functionality around CRM Installations

Speaking of body shops, my next gig was a brief one at a body shop.  But despite being my shortest (and most painful) stay anywhere, it provided a lot of opportunities.  Why?  It was both very client-facing and very diverse.

Early on in my tenure there, I wound up with the task of helping a company write some plumbing code for Microsoft’s Dynamics (now CRM, I think).  The people at the body shop didn’t realize that there was a type-safe API and were using this clunky, stringly-typed interpretation of the data.

I thought, “well this seems like it can’t be the best solution.”  Sure enough, with a bit of research, I was proved right.  A little autodidactic effort and a few lunch and learns later, and I’d taught the folks there how to use a WSDL to get a nice, typed API for client CRM installations.  (As a comic aside, there was some discussion of the ownership of this “intellectual property” vis a vis my potential departure.)

A lot of companies have CRM installs and will pay body shops to customize them.  I’d demonstrated that the competition here wasn’t stiff, so I could certainly have specialized in CRM customizations for small to mid market companies.

I Help Build Autotask Integrations for Companies Using Autotask

While I was at the body shop, I spent a bit of time on a bench project.  The company had adopted Autotask for its client and billable time management, graduating from a home grown green screen app.  Definitely a good decision.  But then they made the questionable decision to use custom integrations to force Autotask to behave like the old system, rather than adopting the tool’s preferred workflows.

My task?  To support this quixotic, “I’m sure it’ll be easy” project.

In a development that should surprise no one, this wasn’t easy.  But due to my boredom with the work and predilection for sharpening the saw, I wrote a custom querying implementation in C# that treated the API like a database.  Like my foray into type safety, this was a big hit at the body shop among developers.

But it also attracted outside notice, including from a freelancer that specialized in Autotask customizations.  He suggested we partner up, but I was less into side hustles at the time.

Another incredible specializing opportunity lost.  “I help Autotask customers customize their workflows.”  I’d have even had a partner/mentor that already had business.

I Help Wellness Companies Demonstrate Their Value Proposition

For the last one, I’ll speak briefly to the last salaried job I had.  In this case, I ran an IT department as the CIO.  So I didn’t have a ton of opportunities to specialize that related to app dev.  Most of my time involved management and overhead activities.

But, there was a core specialty that I could have taken away there.  One of the things we were working very hard to do at the time was to gather enough data to demonstrate what, if any, improved financial outcomes resulted from wellness programs.

To put it simply, wellness programs advocate and promote preventative measures for maintaining your health.  Theoretically that should result in lowered insurance costs.  But when trying to prove that, the devil is in the details.

Proving that is kind of like the Holy Grail for wellness programs.  So I could have left that organization and sought to specialize in using a combination of data gathering techniques, statistics and analytics to chase that Holy Grail.  “I help wellness companies demonstrate ROI for their clients” would have been a very lucrative specialty.

Specialties are Everywhere

I could really go on and on with this.  These particular examples are just the ones that bubbled right to the front of my consciousness immediately.

I promise you that the same is actually true for you.  There have been awesome specialization opportunities banging right into your face, and you’ve been completely ignoring them.  I mean, hey, no judgement — I did the same with all of these examples.  I mean, in a few cases, I literally had would-be clients saying “shut up and take my money” and my response was to scoff and say “I just want to beat other people in code jousts and hackathons and whatever.”

Our industry conditions us to obliviousness to specialization opportunities.  And I’m trying to counter that.

So don’t lament what could have been, and don’t beat yourself up for struggling out of the gate with this stuff.  I was terrible at it for a decade, and it still worked out.

Keep these examples in mind as you go about your work, and keep your eyes open.  I think you’ll be amazed at the opportunities you start to see.

Newest Most Voted
Inline Feedbacks
View all comments
6 years ago

There’s a lot of wisdom in this post – in plain sight and hidden in the cracks. Take the poorly-programmed database for example, the guy couldn’t program but he sure could sell!

Erik Dietrich
6 years ago
Reply to  Phil

Yeah. The guy wasn’t a programmer at all — taught himself as he went, satisfying demand for a service. Gotta respect that.

6 years ago

(As a comic aside, there was some discussion of the ownership of this “intellectual property” vis a vis my potential departure.)

Tell us more! I have a feeling that this becomes a sticking point with a lot of would-be efficiencers who want to use the techniques they’ve learned (and in many cases invented) in their individual niches.

Erik Dietrich
6 years ago
Reply to  Brian

No doubt about that, though, in this case, it was absurd. A couple of semi-management-y people thought that consuming a type-safe API through a WSDL was patentable or something like that — as though I’d created a trade secret.