What is SWAT Coding?
SWAT Coding is a form of crisis intervention for software development projects. I rescue projects where the original team has been overwhelmed by bugs or they’ve moved on entirely. It’s short-term, high-value work with engagements usually measured in days or at most a couple weeks.
I fix nagging bugs, update code for new OS/Platform versions, address showstopper performance issues, and supplement teams with pressing deadlines.
I dive in immediately, and produce results quickly.
Why Is It Called SWAT Coding?
Somewhere around a decade into my career, it became clear to me and my regular agency clients that I had a special knack for diving into existing code and troubled projects.
I could work just as comfortably in new languages and platforms as in my core competencies, and I had earned enough exposure to different code styles (and qualities) that I could find my way through almost anything I encountered. With most of my Senior Engineer peers moving into management or leading development on “greenfield” projects, there was an opportunity for me to emphasize my peculiar talents and carve out a new niche.
The work required a certain nimbleness and a dedication to immediate, effective results. It wasn’t suitable for junior developers or for the many senior engineers who had mastered a select few technologies and styles as a specialist. Since it required Special Weapons and Tactics to engage with all the different kinds of projects out there, I called it SWAT Coding.
What Projects Need SWAT Coding?
The most common call for SWAT Coding is when a project needs urgent attention but has been abandoned by its original developer or most recent maintainer. This can happen when the relationship between owner and developer falters, or simply when a developer doesn’t have enough availability. I make immediate progress on the work and – when appropriate – ready it for a new maintainer. Sometimes, for certain projects that only need intermittent attention, I become the maintainer.
Another common scenario I’ve run into is SWAT Coding as a supporting role when the existing team is overwhelmed or overworked. They may have bugs that they can’t seem to fix, features that challenge their expertise, or simply face more work than time as some deadline looms. I briefly integrate with these teams to get them past the challenge.
What Technologies Do You Work With?
On principle, SWAT Coding is more about the state of a project than the technology it uses. Over the years, I’ve worked in nearly every language and platform you can think of. Like an anthropologist learning their tenth language, it’s easy for me to dive into new technologies for this kind of work. The ones I’ve already worked with always have a way of informing what new thing I’m digging into.
That said, my career has followed the meteoric rise of Apple and Google platforms over the last 20 years and I carry a great deal of working insight and expertise in their Mobile, Web, and Desktop technologies. SWAT Coding for iOS, macOS, and Android projects is something I could probably do in my sleep.
What Does SWAT Coding Cost?
The time required to become familiar with someone else’s code and improve it can be extremely hard to predict. Over the years, I’ve experimented with a number of different ways to price it, and what I’ve learned to prefer is a fixed, negotiated price with a satisfaction guarantee. It varies for each project.
When I propose a price, these are the factors I look at:
- How urgently does this work need to be done and how busy am I already?
- Do I have ideas about what solutions might look like and how confident am I in those intuitions?
- Have I seen the code yet? What does it look like?
- How technically experienced is the person requesting the work? How much do they understand about the project and issues themselves?
- What technologies does the project use? Are all the necessary resources (source code, assets, passwords, tools, etc) readily available?
If you want to manage cost, you can try to be flexible about how quickly work needs to get done and you can make sure that you have all of the project resources organized and ready to share. You can also let me preview the code base before I suggest a price.
Because SWAT Coding is fundamentally unpredictable and challenging, it sometimes ends with the acknowledgement that a goal legitimately can’t be met because of time, complexity, or platform constraints.
I don’t feel comfortable charging people for work that doesn’t go anywhere, even if I’ve spent time researching and trying.
So unless some other agreement is made, I prefer to only invoice you if we agree that some real progress was made.
If you have a project that you think needs some SWAT Coding, let’s chat!
You can reach me at email@example.com or 626-375-7084.