Chris Richardson

Software Developer

Check out My Resume

Dedicated to making software that works. Using tooling that fits with the project goals.

>

Identity

Problem-solving First. Technology Second.

Passion is Great but, Planning is King.

Experience Brings Flexibility.

Software as a Vehicle for Growth.

Lets be clear no one is writing erp integrations for `funsies`. All projects start with a problem, sometimes those problems come with existing technology sometimes they don't. Other times it's an old technology that is the entire problem. Whatever the flavor of the project in question, each business case has unique edge cases. That is where I thrive. Third parties and ad agencies will sell you on canned solutions everyday (sometimes they are even right to do so) but real, focused, and sustained development is often needed to solve core business roadblocks. If that is the case then you need an in-house developer, that would be me by the way.

Passion is great and sometimes passion projects work out. Mostly though these projects are mired in ambiguity, lose all sense of scope, and most certainly aren't repeatable. At every level it is important to be intentional; from ITSM and ITIL at the organizational level to the specifics of a CI/CD pipeline at the developer level and even a well managed ticketing or help desk solution to coordinate with stakeholders. Then there is infrastructure, just because 'we have the cloud' doesn't mean you won't face challenges if a project is hastily deployed. There are new businesses everyday that promise to get rid of more workloads, from serverless technologies to Infrastructure as Code (IaC). These are exciting times, but we are not 'getting rid of' much of anything, the reality is that choosing new technologies just shifts the workload somewhere else.

So calm down, love all the tech stacks, and still calculate the ROI. With a decade of experience writing software I still find emerging technologies fascinating. However just like the rest of the business world you have to be intentionally open to new workflows. There are an army of developers out there that have found their niche and are sticking to it. I call these guys, fossilized developers. They tend to be exceptionally skilled and wielding their chosen technology as a hammer, everything looks like a nail. You could even put me in this category as I often will use laravel like thor's hammer on any problem. This site however is built off of Hugo and while I hesitate to touch go with a ten foot pole, the overall experience has been a breeze. Approaching a new tech stack can be intimidating but, if my experience has taught me anything it is to forge ahead, keep building, read every scrap of documentation and last but, certainly not least always ship something at the end of the day.

Solutions and Technology

These logos represent technologies and software I am confident in using in a professional environment. While this is not an exhaustive list of my capabilities it should help you grasp the shape of teams I would work well with and the solutions I can provide. I am sure you are familiar with many of these products however if you are curious about any of them simply click the logo to go to their official sites. Over time this list will shift, older technologies that I used to use will be replaced and new ones will fill their role. One example of a technology you do not see listed is Apache. While there is still a role for Apache in many cases I would recommend replacing apache or if apache is a hard dependency in your environment at least setup Nginx as a reverse proxy in front of Apache.

The arrangement of some of these might seem odd. Butting MySQL and Microsoft SQL Server right next to one another would seem blasphemous to some, in many teams you will have multiple developer groups using what are usually considered mutually exclusive workflows. .NET developers won't want anything to do with MySQL and many linux based developers feel the same way about MSSQL. I have always tried to use the right tool for the job and this lead me to being very comfortable with either system or other variants such as MariaDB or Postgres.

One thing that a block of logos on a screen is just incapable of telling you is how a specific technology is used. The important one for now is Docker. Many developers will have a passing knowledge of Docker and just stuff it on their resume. I in fact used docker for years in small tasks and projects without really understanding the point. It isn't until you start working with a microservices approach that Docker becomes a force to be reckoned with. That is not to say microservices are the answer to all problems, personally I do not see monolith development going away for a very long time.

Redis and Elasticsearch are both flavors of NoSQL datastores. If you google NoSQL chances are you will find legions of articles arguing about 'NoSQL vs SQL' and if you have the misfortune of meeting someone who is convinced one way or the other just slowly back away. Engaging with technology evangelists who do not fully understand that NoSQL is often perfectly happy to exist alongside more traditional RDMS's, will only result a skewed knowledge of NoSQL's purpose and incur technical debt by naively pursuing platforms that will over-promise and under-deliver. If you are currently evaluating nosql technologies for your business I would encourage to reach out, I would be more than happy to discuss in greater depth.

Composer, Its hard to describe the impact composer had on the php community when it was released. The guys making composer essentially dragged the entire php community (kicking and screaming or not) into the modern development era. Package managers are ubiquitous now in all platforms...even windows has relatively decent package managers available these days. Along with the PHP core team and their amazing work since the release of PHP 7, I have never been happier using php than I am right now.

If you are still with me, I just want to say thanks and offer a few sneak peaks on what I am working with right now in my down time. While I haven't listed these technologies it's because I am still learning the ins and outs and displaying them alongside technologies I have a proven track record with would not be fair to anyone. I am exploring OpenNebula. This is an open source cloud platform and it gets seriously technical about as serious as their client list. Combining this platform with amazons eks-anywhere I can not only practice full microservice development but deployment as well. I am also looking at prometheus for monitoring the stack.