Developer Diary: Scott Williams, Inkblot Digital

Lauren Clevenger
BigCommerce Developer Blog
9 min readApr 16, 2019

Welcome to BigCommerce’s Developer Diaries, where we’re tackling what it’s like to work in ecommerce, as a developer. We’re asking agency partners, in-house devs, and freelancers about they spend their week and what it takes to be successful.

This entry features Scott Williams, Founder & President, Inkblot Digital. Scott leads a small agency that focuses on ecommerce stores. There, he spends most of his time doing custom development on a couple of key platforms. Inkblot also has published a couple of public and several private apps, including PartFinder and Swerve Redirects.

In his role as founder and lead developer, Scott wears many hats — which certainly influences how he spends his time each week. Scott, over to you.

Day One

8:00am

After arriving at the office, I grab some coffee and start by reviewing any support tickets, emails, app activity from the weekend. This morning the only support ticket that needs my attention is a pre-sale question about one of our apps. The requester would like our app to perform as custom software in a way that no other users want. We find we often wrestle with the tension of what is truly custom versus what needs can be met by multi-tenant software. In this case, we tell the requester that this is not in our product roadmap.

After a handful of client emails and looking at some project updates, I scope out a client’s desired customization. This BigCommerce client would like to limit the number of samples purchased per year. I look into their setup and consider how to accomplish this and the effort required to do so. Then I follow up with a quote.

9:30am

Next, I work on a client project that needs to update pricing for thousands of product variants. In this case, the client only has the SKUs and pricing and does not have the associated Product and Variant IDs. To accomplish this I upload all the pricing details into a staging database. I write a script to first retrieve all the Variant SKUs details from the store first, query the tables to get the data, and then another script pushes the updates into BigCommerce via the API.

11:30am

We hold an internal meeting to discuss how to help our BigCommerce clients with best practices apps that help them and us. By having healthy stores (via Rewind & Swerve Redirects), we can help protect the hard work we have put in. By having them use Shogun, we can have them help themselves on low-mid level projects, so that we can provide the most value by helping them with truly custom projects.

12:00pm

As I often do, I work through lunch. I spend this time looking at app enhancements and marketing. One of our greatest challenges has been how to get the word out about our custom and marketplace apps. As a developer, you want people to benefit from what you have built and it can be frustrating when valuable tools go underutilized. Today we work on a few initiatives to raise awareness and clarify our messaging.

1:00pm

I continue with the pricing update project from earlier. I run the scripts and make some tweaks to account for anomalies.

2:00pm

After lunch, I return to client work. A client has us working on a custom project to display unit pricing & unit of measure while selling in case packs. To help them with this, I leverage custom fields on products. To get the custom data to show on category, product, and search results pages I add some conditional logic into the pricing component with Handlebars helpers.

4:00pm

I again review support tickets, emails, and app activity. While these are monitored throughout the day, I try to clear out what I can at the end of the day. To be honest, I am checking on app usage throughout the day — probably more than I should.

I also review the BigCommerce Community for unanswered, interesting questions. I answer a few.

4:30pm

Worked on some enhancements for the Swerve Redirects app.

6:00pm

After verifying that there are no pending tickets requiring my attention, I select the latest episode of The Top podcast for the ride home.

8:00pm

After dinner & time with the family, I continue with app enhancements.

Day Two

9:00am

After a morning meeting with my mentor, I get back to work. I respond to some inquiries and project updates.

9:30am

After receiving some awaited inputs from a client overnight, I resume a custom client project. The project includes a calculator to determine the quantity needed based on square footage as well as the ability to request a limited amount of product samples. To accomplish the client’s goals we have BigCommerce Stencil logic, Storefront APIs, and Javascript working together as an exciting solution for key business needs. Today, I add new elements to the calculations and move into QA.

12:30pm

I hop on a project discovery call with a client. We recently developed their marketplace app. Now they would like to incorporate some exciting new features that will mean a significant second phase. The project not only advances the client’s app, but would allow us to explore some new technologies as well — something that is always enticing.

1:00pm

I resume work on a Magento to BigCommerce migration project. While waiting on the client for some key feedback, I work on a checkout customization for them. Using Storefront APIs and javascript, the customization reviews the cart contents if the shipping destination is in a particular state and modifies the cart contents with the appropriate quantity of a particular fee product. I plug away at the script through the afternoon.

5:00pm

I finish out the day reviewing enhancement requests and the roadmap for our PartFinder app. We weigh the development efforts together with the value each feature would offer our users, as well as increased complexity and other trade-offs.

Day Three

8:00am

With a cup of coffee in hand, I review what has transpired overnight and respond to a quick ticket first thing in the morning.

9:00am

After walking my kids to school, I listen to the latest episode of the Google Cloud Platform Podcast on my way in to the office. Once in the office, I work on quotes for a couple of client projects. Given the custom work we do, estimating projects often means determining the solution during the quoting process in order to be accurate. This means devoting time to these activities but ultimately allows us to show prospective clients the care we employ during their tasks and enables us to start projects with a clear plan.

10:00am

We have a team meeting to walk through client projects, our marketplace apps, and marketing activities.

12:00pm

During lunch I spend some time researching and validating some assumptions for a technical blog post. I do not find time for these as often as I would like, but there is a strategic reason to push this out. Instead of interrupting development projects, I work on it over lunch.

1:00pm

After tacos, I return to client projects. After a few small items, I work on a client project to selectively show a custom feature on certain products. It leverages custom fields, a custom product template with Stencil logic, and javascript to improve the user experience.

5:30pm

I work up another estimate before the day is out.

6:00pm

Select the latest episode of Full Stack Radio podcast to start listening to on the commute home.

8:00pm

After my kids are in bed, I get back to work for a bit. I continue working on some enhancements for our apps. With emails, tickets, meetings, and phone calls during the day, I can often focus more and be more productive on these internal projects outside of business hours.

Day Four

8:00am

I start the day out by responding to some emails and answering questions on the BigCommerce Community. Our efforts in the Community — where we are a top contributor — do not do much in the way of helping the business but allow us to keep our eyes on the pulse of the community and demonstrate our expertise.

Then I read the latest article of BigCommerce Developer’s Blog. Afterwards, I finish up the blog post I was working on yesterday.

9:30am

I help a client with a task on the store management side of things that is outside of our service offering. We try to avoid these as they aren’t the best use of our time, but such is the nature of offering good service to clients and they appreciate it. Fortunately, this task was quick.

10:00am

I start our client’s discovery project to explore how they can more deeply integrate their app with platforms. I dig into what is possible for them via various technologies (API, JS, storefront APIs) and document the API requests and javascript that would be needed to accomplish each new feature.

11:30am

After a bit I change gears and do some local development on a client’s theme we are customizing. Thankfully, this task is more about customization for business needs and user experience than design. I fire up Stencil locally and get to editing the theme.

2:00pm

I watched the BigCommerce Town Hall to stay in the loop. We were excited to see one of our apps listed on one of the new, innovative stores that was spotlighted. We also appreciate hearing about the latest updates on features like the Widgets API and Multi-Currency.

3:00pm

I spend the remainder of the afternoon working on client projects. One client needed to come up with a better solution for Gift Certificate emails as some users were having trouble opening the attachment with the actual gift certificate code in it. I explored a few options based on the client’s needs. I considered extracting the details via the API — which we were already retrieving for the client in a custom integration we had previously built. However, I also looked into a more basic option of simply modifying the email body itself as well. After presenting the options with the pros and cons of each to the client, we move forward with the simpler customization.

5:00pm

After discovering a minor javascript issue in one of our apps, I worked up and deployed the resolution.

I also tested some other app enhancements. Testing end to end can be a challenge. While local development, unit testing, a staging environment with a Draft App, versioning, and traffic splitting are helpful, this is what always makes me the most nervous. So, we test over and over.

6:00pm

I head home, finishing the latest podcast episode on the way.

8:30pm

After some more testing, I took the opportunity to deploy app enhancements during lower traffic. After deploying to the live environment on our cloud hosting, I performed additional tests (with a fresh install & working through all core functions) to verify all was well. Everything was good so I was able to call it a night.

Day Five

9:00am

After walking the kids to school and listening to the Syntax podcast on my way in, I stepped into the morning routine. There were not too many emails and no pending tickets that need my attention. So, I jump back into client projects. Fridays tend to be quieter and can be very productive days as a result.

10:30am

We have a short team meeting to touch base on a few projects.

11:00am

I need to get some data migration tasks out of the way. While this is not the most enjoyable work, we leverage Catalog APIs to migrate hundreds and thousands of entities faster and with greater accuracy.

1:00pm

I choose to make a quick enhancement to one of our marketplace apps. It was something that had been planned but it moved up in the priority list, so I decide to spend the afternoon to make some strides forward. To get going, I start making changes locally. Postman — perhaps my favorite tool — is helpful for the task. Today I use it both for testing some API calls before programming and for local unit testing by POSTing to a local endpoint.

5:00pm

Before wrapping up, I make some modifications for our internal app monitoring tools. I make some more data available and add a new action to help our team better be more efficient in supporting users.

6:00pm

After a full afternoon of programming, I choose the latest episode of the Smart Passive Income Podcast before I head out. I head home to spend time with family and find a few moments for relaxation.

Tools

If interested, here are some of the key tools that I used through the week to get everything done.

We’d like to thank Scott for sharing his week with us. If you have a question for BigCommerce, or want to learn more about our platform reach out in the comments below or tweet us at @BigCommerceDevs.

--

--