Who am I?


I am Kraig Hamilton--Software Architect Extraordinaire, and lover of all things tech.

Kraig Hamilton-2013-5x7

What do I do?


In 2015, I decided to fulfill one of my lifelong goals of moving to Seattle, Washington. I am currently working as a Principal Engineer at Staples.com helping design Search Engine Optimization Tools.

Before that, I was a Technical Expert at Wal-Mart Stores, Inc. for about 13.5 years, which essentially meant I was a Software Architect. In my case, I designed accounting systems for Wal-Mart’s financial division and manage and train development teams to implement them. While there, I managed development teams as large as 30 developers and projects as long as 3 years.

I primarily design systems for back end processing. My systems are designed for speed and efficiency in processing large amounts of data, such as invoices and journal entries. The influence of my designs can be found throughout Wal-Mart’s accounting and Staples’ Search Engine Optimization systems.

Besides back end processing, I do quite a bit of UI design work. The best systems are the ones where the user can intuit how to use them without having to read the manual, so my focus is always on simplicity.

As much as I can, I find the time to code, usually by purposefully running my projects as lean as possible. This is a win-win for everyone, since I get to do what I love (which is developing software) while saving the company money by lowering the labor costs, and my projects almost always come in on time and under budget.


What languages do I know?


I am well versed in many modern languages. Specifically, I have extensive knowledgeable and programming experience in most Microsoft Visual Studio .Net flavors (C#, VB.Net, as well as ASP.Net), as well as C and C++, and to a lesser degree Java. While C and C++ are my favorite languages to code in, I have done extensive work on frontend and backend web systems, mostly with HTML5 UIs and RESTful services and Javascript in NodeJS.

My primary focus has been on back-end systems that utilize n-tier and service oriented architecture for speed and reusability, but I started designing webpages with the first version of HTML in the early 1990s, with my first webpages were written using PICO and VI. I prefer text editors to WYSIWYG editors because I am able to manipulate the layouts exactly how I like them. I find this especially useful when designing cascading style sheets (CSS).

I also do quite a bit of work with various DBMSs and schema designs, working extensively with IBM DB2, Microsoft SQL Sever, Informix, and NoSQL databases such as MongoDB and Couchbase. One of my favorite projects was designing a 30 TB data warehouse to capture 2 years of financial data for the purpose of finding erroneous payments. In that project, I structured the data using a star schema and designed numerous queries and algorithms to comb over large amounts of data as quickly as possible. One such algorithm was able to scan through all of data and recover millions of dollars in a matter of minutes. It cut down the manual processing time by months, allowing Wal-Mart to research other areas that housed overpayments.

Besides the above, I have also designed and implemented embedded systems using Arduino, Linux, and Microsoft Windows CE, and I have written device drivers to enable communication with these devices. More recently, this has evolved into developing software for Android mobile devices.