Tim Zook

Hi, I'm Tim!

I've been passionate about programming since I was old enough to type, and I've been getting paid to do it for over a decade. I love creating robust, effective, and elegant solutions with web technologies.

Portrait of Tim Zook

About Me

I'm an independent creative thinker with over a decade of experience developing software using web technologies. I am passionate about helping companies design and implement effective technical solutions by writing high-quality code that both arrives on time and stands the test of time.

My philosophy: Code quality = Faster velocity

In the modern age of software development where moving fast is everything, some people make the mistake of thinking this means we must sacrifice code quality for the sake of development speed. I firmly believe the opposite, that the only way to achieve faster implementation and iteration times is by relentlessly focusing on increasing code quality. Sacrificing code quality quickly leads to incomprehensible systems where it is impossible to change anything without breaking ten other things, which slows progress down to a crawl. The only way to produce a system that is flexible enough to enable rapid development is to ensure your application is properly structured and documented to provide clarity for developers regarding its operation. At the end of the day, there is no true trade-off to be had between quality and quantity in software development. The only way to consistently generate high quantities of code is through a sustained focus on code quality. My approach to ensuring high code quality incorporates a combination of careful planning to avoid mistakes before they happen, robust quality assurance to fix mistakes as quickly as possible when they arise, and encouraging a culture that seeks to constantly learn and improve from mistakes.

Step 1: Careful Planning

Employing agile software development processes doesn't mean that you can just jump straight into coding without thinking things through. Proper planning is essential for ensuring that development work stays continually focused on the overall project goals throughout the rapid iteration cycles that agile software development enables. Planning does not necessarily mean endlessly agonizing over every last detail, but it does require developing a comprehensive strategy that incorporates a clear picture of the project priorities and potential risks before you start writing any code. It is vital to take into account many different priorities when designing an effective software system, such as financial priorities, feature priorities, end-user priorities, software administrator priorities, developer priorities, management priorities, etc. Any project that is implemented without taking all of these important priorities into account is likely to fail. Particularly when the proper approach is uncertain and further experimentation is required, it is essential to ensure that the proper framework is in place to allow that experimentation to proceed as quickly and efficiently as possible.

I have many years of experience planning out extensive software development projects from start to finish using agile software development methodologies. My extensive experience has given me not only the technical knowledge of how to execute a plan, but also the judgment to be able to determine what ought to be done in the first place. However, I believe that an even more important contributor to my successful planning than my experience has been my strong ability to learn new technologies very quickly. The only constant in any growing business is change, and I thrive in these dynamic environments as I love learning and deepening my understanding of new technologies that can provide better solutions to upcoming problems. I have an extensive track record of learning complex new technologies enough to effectively apply them within a few weeks and becoming an expert that can easily guide others in the details of best practices within a few months.

Step 2: Robust Quality Assurance

Writing high-quality code is a form of communication, and like all communication, it is a mix of art and science. In order to be able to reliably create code that properly instructs the computer to do the right thing, the code must first be readable and understandable by the humans that determine what the right thing to do is. This requires following a coding practice that prioritizes factors like good organization, succinctness, and consistency, as well as technical factors like security, performance, and correctness. All quality assurance practices should be carefully designed to serve this core goal of clear and effective communication to foster shared understanding and collective success.

I subscribe to a software craftsmanship philosophy that prioritizes not just coding quickly but also thinking deeply about the ultimate purpose of your code. I always take the time to be sure I fully understand the nature of the problem that I'm working on before trying to solve it to ensure that I use the time spent implementing the solution as effectively as possible, and I try to help others learn this skill as well. During my years of experience leading a development team, I have had the opportunity to employ a wide range of quality assurance practices, such as code reviews, pair programming, automated testing, continuous integration, end-to-end monitoring, etc. While all of these tools help improve code quality, ultimately I've found that no procedure can fully replace the need for genuine care on the part of the developer for creating well-crafted solutions.

Step 3: Encouraging Learning and Improvement

In order to create a development culture that consistently generates high-quality code, the entire team needs to be aligned on pursuing this goal. I believe that the most important aspect of this is developing a culture of trust where people feel they are able to give open and honest feedback to anyone on the team. Promoting healthy communication is essential for this, on both the giving and the receiving end. Employees need to be trained in giving feedback that is compassionate and constructive, as well as trained to accept feedback with humility and positivity in the spirit of continual improvement. Only through clear and open communication can the unique strengths and weaknesses of each team member be leveraged to the maximum extent to generate success.

I have been leading a development team for over four years and have grown immensely through the experience, and I seek to help everyone around me to grow in turn. I have had the privilege of getting to help many new developers grow their technical and soft skills, as well as getting to learn from many other developers smarter than me. In addition to internal communication skills, I have also gained extensive experience with communicating directly with customers to collect feedback, learn more about their priorities, manage expectations, and generally ensure an excellent customer service experience. I deeply value all the lessons I've learned from interacting with the real people that use the software I create, and it brings me great joy to see the value that my work has added to their lives.

What I'm looking for:

I am interested in working with companies that share my passion for creating high-quality software. Specifically, I am looking for senior individual contributor positions in web-based industries, especially with some component of leadership like team lead or principal engineer positions. I want to be getting my hands dirty with writing code on a daily basis, but also to have the ability to actively influence the direction of the projects I'm working on. I have zero interest in doing the bare minimum needed to collect a paycheck, when I work on a project I want to be actively engaged in looking for opportunities to improve its chances of success and watching out for pitfalls that could lead to failure. I also have a soft spot for open-source technologies because I love the freedom and empowerment that they give to the software development community, I would love to work on open-source technologies full-time.

I highly prioritize working a 4-day day work week. I'm looking for savvy companies that are interested in a unique opportunity to acquire a highly productive employee at a discount in exchange for flexibility on work schedules. I find that my overall output is highest when I work this schedule, and I think it does not make sense for people to pay me more for me to do less. I am grateful that I have had the opportunity to work this schedule for most of my career, and I look forward to finding more companies that are open to the advantages that this trade-off enables.

If you want to learn more about me as a person outside my career, I would love to connect with you and chat more sometime, feel free to drop me a line!

Past Projects

At the end of the day, talk is cheap and results are what really matter. I have an extensive history of successful projects under my belt, here are just a few of the highlights from my career:

(Click on a project to learn more)

Fahrenheit Thermostat

Docker-based deployment system

Close modal

When I joined Fahrenheit Marketing, we were plagued with chronic inefficiencies in our deployment environment creation and maintenance processes. Our developers would typically work on several different client projects each day, and they frequently had to spend many hours of their time (and other developers' time helping them) just getting their basic tools and dependencies configured to be able to start working on a new project. We would also constantly run into issues with failures in production caused by outdated dependencies and configuration oversights. I independently designed and developed the Fahrenheit Thermostat tool that completely solved these issues for us and gave us a significant competitive advantage due to the efficiency and reliability of our systems. Thermostat is a Docker-based CLI tool that provides reliable standardized solutions for dependency management, development process automation, automated deployments, backup management, and integrations with many other common development tools.

Leadership & Strategy

Before I took a leadership role at Fahrenheit Marketing, there was a concerning leadership vacuum around development processes and metrics. I was able to independently identify several key problems with our processes and effectively demonstrate the impact these issues were having on our business. We saw immediate benefits in development velocity and deployment reliability after the deployment of Fahrenheit Thermostat, and we have continued investing in improving our processes ever since.

Creativity & Innovation

Once I had identified the core issues that were holding our development team back, I was able to put together a creative and practical solution that effectively utilized technologies that were completely new to use at the time, such as Docker. Thermostat has an innovative architecture that utilizes Docker not only for containerizing standard web software like web servers and databases, but also for development utilities like testing and database administration tools, running standardized tasks and scripts, and even running the Thermostat CLI logic itself. Using Docker has dramatically simplified the process of developers getting up to speed on our projects and has made it easy to implement reliable and well-documented deployment processes. These processes have consistently saved us time and money and improved the experience that our clients have with us. Thermostat also utilizes SSH tunnels for handling authentication and encrypting the communication of confidential client data between servers, providing an easy and intuitive user experience for our developers while maintaining the highest possible level of security.

Technical Excellence

I independently developed the entire Fahrenheit Thermostat application, which incorporates a Node.js-based API server, a flexible cross-platform CLI, and a React-based web interface prototype. I was able to finish prototyping, testing, and deploying the initial version in less than two months, and we have continued iterating on and improving the system ever since. In addition to the application implementation, I also created a robust collection of documentation for the system that has allowed other developers to use and modify the tool effectively. The Thermostat deployment system has proved remarkably reliable for us, with zero outages occurring due to defects in the tooling in the four years it has been integrated with our 100+ projects.

Lammes Candies

Custom BigCommerce store extensions

Close modal

Lammes Candies came to my company in dire straits, with their Oracle-based eCommerce solution that they had recently migrated to failing on them spectacularly during their busy holiday season. I architected and helped implement an entirely new eCommerce solution for them based on BigCommerce, a popular SAAS eCommerce platform. My team created customized React-based product, cart, and checkout interfaces for their new store that supported several custom functions like future order scheduling, streamlined multi-recipient ordering, and in-store pickup fulfillment. We also created a Laravel application that integrated with the BigCommerce API to provide a fully custom ordering interface to improve their call center efficiency, custom order management tools to facilitate their fulfillment processes, bulk order processing functionality to streamline the creation of large orders, and custom financial reporting systems to integrate with their ERP.

Leadership & Planning

I worked closely with Lammes to collect and refine the requirements of their new eCommerce functionality, produce estimates on the work required and set realistic expectations, and provide support for the ongoing maintenance of their store. I helped manage the development team that implemented the work to ensure we delivered the project on time and according to the agreed-upon specifications. My clear and prompt communication played a key role in turning Lammes into one of my company's biggest fans.

Learning & Expertise

Lammes was my company's first major BigCommerce project. During the planning and implementation of this project, I was able to quickly learn and integrate the BigCommerce API into a comprehensive eCommerce solution. I quickly became our company's leading expert in BigCommerce, able to effectively answer client questions about the platform, put together documentation on reliable best practices, and coach other developers on how to use the platform effectively. I ended up learning the BigCommerce API better than some of BigCommerce's own engineers and I helped them improve their documentation and fix several bugs in their API.

Technical Excellence

I designed a robust and scalable architecture to meet Lammes' business needs, utilizing tools like Elasticsearch for fast real-time searches and a custom SMTP server for automating the integration with an antiquated email-based system they relied on. I also played a major role in turning the design into an efficient, well-organized, and easily maintainable codebase; Approximately 75% of the code Lammes uses in production today was written exclusively by me. The system I helped build for them has allowed them to grow their business significantly and has served them well for nearly five years with zero outages caused by defects in our systems.

PepsiCo Resource Library

Custom WordPress functionality

Close modal

The PepsiCo Recycling team partnered with my company to rework the aging resource library that they used to provide materials to parents and teachers to help promote recycling. Their existing system was frustrating to use both from an end-user perspective and an administration perspective due to its confusing page layouts and convoluted category hierarchies. I architected and helped implement a new WordPress website for them that solved these issues and added a wealth of new features to enable visitors to find resources more effectively.

Leadership & Planning

I worked closely with the PepsiCo Recycling team to identify pain points with their previous solution and to help them clarify their goals for the new implementation. Based on these discussions, I put together a comprehensive set of specifications and implementation plans to guide the development of their new website. Armed with this detailed plan, I also lead the development team that implemented the solution and helped guide the project to success.

Creativity & Expertise

Due to the application's central focus on content management, we knew we wanted to use the WordPress CRM framework to power our solution. However, significant custom functionality had to be added to the platform to meet the project's core goals. I developed a custom set of interface extensions for the WordPress admin panel and a highly optimized React-based search interface that made both managing the resources on the back end and finding them on the front end easy, fast, and scalable.

Technical Excellence

One of PepsiCo's primary requirements for the new website was a guarantee of stability, performance, and security to ensure the solution could reliably operate at the scale of a large multinational corporation. To satisfy this, I designed and implemented a high-availability server architecture utilizing multiple redundant load-balanced application servers, a robust database cluster, and an S3-compatible file storage system to ensure there was no single point of failure in the entire setup. PepsiCo has enjoyed zero unplanned downtime on the website since its deployment two years ago, other than a single large-scale networking incident that affected the entire region where their website was deployed.

Firmspace

Node.js web application

Close modal

Firmspace is a high-end coworking business that came to my company with an ambitious web application idea. They wanted to create a private social media platform for their clientele to help them meet one another, communicate about events happening in their building, and schedule group room bookings. I played a key role on the team that designed and implemented this vision using a serverless architecture powered by AWS Lambda and DynamoDB.

Communication & Planning

I worked closely with the lead developer on this project to clarify and refine the specifications for the project and to review the project outlines in detail to ensure they were complete. Together we were able to formulate and execute a formidable implementation plan that incorporated over 100 API endpoints and over 30 unique page designs.

Learning & Expertise

The Firmspace project was my company's first time using most of the technologies that it employed, including AWS Lambda, DynamoDB, Angular, and TypeScript. I quickly became our company's leading expert in all of these technologies, and I regularly helped my team members improve their understanding of the tools to help them excel. The knowledge I gained working on this project served as a solid basis for my future work, and we have continued to look for new opportunities to branch out with new technologies ever since.

Technical Excellence

This project played a formative role in establishing my understanding of how important well-structured code is to increasing development velocity and reliability. We faced many challenges on this project due to poorly organized and convoluted code, and I played a key role in helping my team reorganize and refactor this code to help improve reliability and speed further development. For example, when we faced challenges with slow page loading times due to long HTTP request dependency chains, I independently designed and implemented a custom type-safe query generator and resolver framework that allowed us to dynamically combine multiple API calls into a single HTTP request. This framework let us simultaneously simplify the code, improve its performance, and resolve numerous bugs.

PreWill

Capacitor mobile application

Close modal

PreWill is a startup that partnered with my company to bring their new vision to life: A mobile application that would enable people to send personalized final messages to loved ones in the event of an unexpected passing. I architected and helped implement a combined web and mobile application for them using Laravel and Capacitor. The application we built provided a streamlined user signup and account management experience, secure and reliable activity tracking to detect unexpected passings, and an easy-to-use message management interface that supported a broad range of platforms.

Leadership & Planning

I worked closely with PreWill to brainstorm a creative and cost-effective technical solution for their use case that balanced technical capabilities, user priorities, and financial priorities. I put together a detailed set of implementation plans and estimates on the work required for several approaches to the solution and worked with the client to determine which one best fit their needs. Once we found a solid plan of attack, I lead the development team that implemented the application and ensured my team's ability to execute the plan uncompromisingly. Even after the implementation itself was complete, PreWill faced many challenges with the Apple and Google Play app approval process that I helped them navigate successfully with clear and effective communication.

Learning & Expertise

PreWill was my company's first major mobile app development project. Due to this, our successful execution depended heavily on our ability to utilize many new tools like Capacitor, the Google Play APIs, and the iOS platform APIs. The activity tracking component of the application proved particularly challenging as the mobile platforms had recently taken action to try to limit applications from being able to track users in general which was intended to shield users from invasive advertising systems. Even though our app did not have any advertising component, these changes required us to thoroughly learn the details of these platform APIs so that we could devise new and creative ways to push the systems to their limits to ensure a reliable and efficient tracking implementation. I was able to effectively master these APIs over the course of a few weeks and played a major role in implementing the most complex components of the application myself.

Technical Excellence

Implementing this project required me to not only write clean and efficient application code, but also to develop new and effective processes for facilitating the development and testing of the application. I implemented a comprehensive suite of development tools for the project that allowed us to quickly test our mobile app changes locally to speed up development and facilitate coordination between the developers on the implementation work. I also set up a robust continuous integration solution to automate the validation and deployment process of updating the mobile apps on the app stores. Using these tools my team and I implemented a rock-solid and highly scalable set of new APIs and user interfaces that has served as a reliable foundation for PreWill's new business.

MyALK

Laravel web application

Close modal

ALK is an allergy testing business that came to my company for help with an aging customer purchasing application that had numerous performance and maintainability issues. Trying to keep it running smoothly and fix its bugs was costing them time and money and blocking them from adding the features they wanted. I helped them create a new custom web application using Laravel & React with a beautiful new design and an expanded and improved feature set for purchasing, loyalty reward management, customer information management, and importing and exporting data to and from their ERP.

Planning & Strategy

I worked closely with ALK to identify pain points with their previous solution and to help brainstorm the new implementation so we could be sure all their priorities were accounted for properly. The new application was extensive in scope and they knew they needed a team that wouldn't miss any of the important details. I independently created a detailed set of implementation plans and estimates on the work required, which helped give the customer the confidence they needed to move forward with the project knowing they were in good hands.

Leadership & Expertise

Armed with a well-thought-out implementation plan, I lead the development team that brought the application to life. In addition to contributing directly to the development, I also personally reviewed every line of code added to the system to ensure it met our company standards for organization, readability, security, and performance. I helped mentor some of the developers working on the project, working with them to help them grow their skills and self-confidence.

Technical Excellence

The application I designed and helped implement for ALK has proved to be a highly profitable and dependable part of their business, allowing them to quickly and effectively manage their customer purchases. The careful organization and clean coding principles that I ensured were instilled into the application have given us the flexibility to easily maintain the deployment and add new features to the software over time, such as a new product visibility system for limiting certain types of product purchases to specific customer groups. The new architecture has maintained high performance as MyALK has added thousands of new customers, and we have had zero outages or security incidents related to the application implementation in the three years it's been in service.

Skills

Buzzwords! Get your buzzwords here!

Select an item from the list

Let's chat

I'd love to meet you and discover how we can help each other out, please send me a message below!