Someone might benefit
I’m sure imposter syndrome exists in other professions. Perhaps there’s a hierarchy of specialties where a dermatologist is too nervous to talk with a heart surgeon. Maybe it’s the anxiety of one surgeon in the presence of another “Oh god - don’t look at those sutures. If I had more time I could have done a much better job”
I took a few years off from hard-core web development. During that time I spent most of my work hours writing proposals, talking with clients, managing projects and handling the administrative side of the business. I would occasionally help on small projects. I was comfortable with some of the server basics and knew just enough about the software we were using to handle some bug fixes and minor site updates.
Unfortunately, while I was busy running the company I missed out on a tidal shift in web development. I missed the introduction of composer, .json files, PSRs, widespread use of git, SASS, task runners, vagrant/docker, node, NPM, CSS frameworks, JS frameworks, PHP frameworks and fights over “best practices” (who knew that would ever be a thing).
When I started 20Mile in 2007 I was still a .NET developer working in Visual Studio and connecting to a SQL Server database. Web sites and apps consisted of a little roll-your-own CSS, jQuery from a CDN and maybe some jQuery UI sprinkled in. Web development (at least the way that I did it) was simple. However, my skillset at the time (large database management w/ a little bit of web development in front of it) wasn’t very marketable in a freelance world. I decided to make the switch to PHP-based web development, discovered ExpressionEngine (after struggling with Joomla, Drupal and WordPress) and started signing up clients - mostly designers and marketing agencies - who needed websites developed.
The next 3-4 years were a blur of projects. I got an office, hired another developer, and then two more, and then a project manager .. by 2012 there were 10 full and part-time employees working from our office in Osterville, MA. We had more work than we could handle and I had resigned myself to the fact that I “used to be” a developer while I did things like ordering pizza for the office and answering calls from clients.
Fast forward to late 2013 - due to a few mistakes, some deadbeat clients, and trusting the wrong people I was forced to sell the company. At some point I’ll tell that story in multiple parts, but I found myself at a crossroads. Option 1 - I could stay with the company that purchased mine as the CTO (but in all honesty I was going to be the “Tech Guy” - handling the network, help desk, some web development and server management). I’d be the CTO only when it came to going on sales calls. Option 2 - I could go back to freelancing, but this time there’d be no dream of building a company. It would purely be for my own financial stability and enjoyment (if there is such a thing).
I chose Option 2. There were a few legalities to be worked around due to the non-compete with the purchasing company, but for all intents and purposes I was back on my own and faced with the challenge of learning how to be a modern web developer.
It’s been 3 years - actually almost 3 years exactly (Memorial Day 2014) - that I went back on my own. In that time Sue and I solidified our partnership with bluegear labs. We’ve built 5-6 apps for clients and are managing about 30 different websites. We have a stable set of clients who rely on us as if we’re part of their staff. We’re actively developing 3 apps of our own that have the potential to bring us some recurring revenue.
Our technical expertise has reached a point where we feel comfortable taking on any type of project (if time allows and the relationship feels right). For the most part I think we fit the description of “modern web developers”, but there’s always that nagging feeing that I’m still a beginner. I watch the videos on Laracasts and think “how can Jeffrey type all that from memory when I have to lookup date formats every other day?” I scan stack overflow responses and think “how do these people have the exact answer I’ve lost two hours of my day searching for?” Finally, I read other blogs and think “I’ll never be that good at this. I’m too old, took too much time off, too isolated and too much of a noob in everything to be that good. “
But then again … I’ve been able to review my archived projects from 2014 and reflect on the changes over the past three years.
In 2014 we were using Zurb Foundation and editing the CSS - not the SASS. We were searching for our first Laravel project. We were still relying on ExpressionEngine and WordPress for the majority of our income. We were hosting all of our websites on MediaTemple and Dreamhost and were both petrified of having to do anything via SSH. There’s absolutely nothing wrong with any of those things, but when I look at where we were and compare it to where we are it feels like a lifetime ago.
And that reflection is how I’ve decided to fight imposter syndrome. I will never be as great as I’d like to be. I’ll continue to look at other developers and think “how did they get to be so good at this?”, and I’ll still cringe when someone has to look at my code, but I know there are experiences I’ve had over the past 3 years (actually, the past 25 years) that will be a benefit to someone.
So … I’ll write. I’ll share what I can and I’ll invite people to comment if they’re interested.