IanMcCall.CODES

Work Experience

tronc, Chicago, IL

Sr. Software Engineer (September 2017 - Present)

Tronc is a media publishing company who’s properties include the Chicago Tribune, New York Daily News, and other papers.

Brandify (formerly Where2GetIt), Des Plaines, IL (March 2011 - September 2017)

Development Manager (April 2014 - September 2017)

Manager of Technical Operations (December 2012 - April 2014)

Front-End Developer

JavaScript, Perl, HTML, CSS, SVN, Git, Storm, Kafka

Brandify is a location based marketing services company based in Anaheim, CA. The company offers local search solution for national brands, such as Chick-fil-a, Patagonia, and Disney Stores. Their solutions include desktop and mobile store locators, data syndication and claiming for Google, InfoUSA, Navteq, and others, location pages for individual stores/dealers, and more. For more information on Brandify, see their website. www.brandify.com

Over the many years I have been with the company I have worked on a variety of projects. I have created brand new mobile libraries for our main locator product, as well as enhancements to our existing front-end locator code. Some of those enhancements were to enable multiple waypoint driving directions, and a feature called “Along the Way” which allows the user to see locations that are near their chosen route. I have also set the architecture for newer responsive libraries built using Backbone.

In addition to front-end work I have also worked on enhancements to the existing back-end server code, written in Perl. One of the first back-end features that I worked on was to extend the ability to generate static maps to include driving directions maps. I’ve also made enhancements to our local landing pages system, which allows us to dynamically generate a web page for each location that a client has. Some of those enhancements include the ability to inject a small image gallery and ads onto the page, which are controlled by both the corporate client and the location managers.

Most recently I have been working on the architecture and development of a new Node.js server which uses Hapijs. This new server is designed for flexibility, scalability, and speed. Along side architecting a new Node.js code base for Brandify, I have also been leading the way in adopting Apache Storm and Kafka for processing real-time data and events. I designed and coded the first topologies, and I have trained other developers in the company in how to use Kafka and how to create and deploy Storm topologies.

Model Metrics, Chicago, IL

Developer (May 2010 - August 2010)

Salesforce

Model Metrics was a provider cloud computing solutions using salesforce.com, Amazon, and Google. Most recently Model Metrics has been acquired by salesforce.com.

During my time at Model Metrics I primarily used the ETL (Extract Transform Load) tool, Talend, to do complex data migrations and integrations for clients. I also worked on enhancements to internal tools, written in PHP, that analyzed the quality of clients’ data in salesforce.com. One of those enhancements was to improve report generation speed by developing a way to generate the pages of the report in parallel.

Center for the Studies of Ethics in the Professions (CSEP), Chicago, IL

Student Worker

HTML, Perl

The Center for the Studies of Ethics in the Professions (CSEP), at the Illinois Institute of Technology (IIT), promotes research and teaching on practical moral problems in the professions. It is the first interdisciplinary center for ethics to focus on the professions. The CSEP continues to do interdisciplinary research, assist professional societies in creating and updating codes of ethics, and they also conduct ethics workshops. They also provide a number of resources for ethics research, such as their Codes of Ethics Online Collection. For more information about the CSEP see their website. ethics.iit.edu

I worked for the CSEP for a total of 3 years while attending IIT, as part of the federal work study program. In addition to general office work, I helped maintain the Codes of Ethics Online Collection, I wrote Perl scripts to automate site template changes, and I provided user level computer support and trouble shooting.

Vehicle Improvement Products (VIP), Antioch, IL

Computer Consultant

Vehicle Improvement Products (VIP), located in Antioch, IL, designs and manufactures steering wheels for commercial vehicles (heavy trucks, buses, RVs, and off-highway equipment). Most recently, VIP has become the sole licensed manufacturer of the patented Wiper Shaker™ De-icer. For more information about VIP see their website. www.vipwheels.com

I worked for VIP one summer while I was attending school at the Illinois Institute of Technology. While I was there I helped update their website, did trouble shooting on problems with automated testing equipment, and used Active Directory to set domain wide security policies.

Education

Illinois Institute of Technology (May 2010)

Bachelor of Science in Computer Information Systems

Minor in Internet Application Development

Specialization in Information Security

Course Work: Operating Systems | Technical Communications | Data Structures | Software Engineering | Rich Internet Applications | Internet Technologies & Web Design | Service-Oriented Architectures | Cryptography and Network Security | Information Security | Database Organization |

About the Illinois Institute of Technology

The Illinois Institute of Technology is a Ph.D.-granting research university with programs in engineering, architecture, the sciences, humanities, psychology, business, law, and design.

IIT was founded in 1940 after the merging of the Armour Institute of Technology and the Lewis Institute. IIT has an interdisciplinary approach to education, including the Interprofesional Projects Program (IPro).

Technology

In addition to the experience that I have gained through work and earning my degree, I have also worked on a variety of personal projects in my free time. I have installed and used several Linux distributions, including Ubuntu, Red Hat, and Gentoo. On all of these systems I have installed and configured MySQL and Apache. I have worked with Amazon’s cloud platforms, especially S3, RDS, and EC2. I also have a few projects that use Arduino and RaspberryPi.

Personal Projects

I always have a number of on going programing projects that are primarily for my own personal use and enrichment. You can find the code for most of these projects on my GitHub profile page (https://github.com/ianmcodes). My most active projects on GitHub use Node.js. I find coding for Node.js very enjoyable, especially given my experience with JavaScript. I even have some modules in the npm registry, you can find a list on my profile (https://www.npmjs.org/~dapuck).

Some of the projects I am actively working on are:

node-svn-interface

NPM

My most popular project. It is a Node.js module that interacts with SVN by spawn and the console svn command. I created this module to use with the some deployment scripts that I wrote as Manager of Technical operations at Where2GetIt.

node-mac-vhid

NPM

My first Node.js addon, written in C++. It provides an interface to allow you to simulate mouse and keyboard actions through Node on a Mac.

node-simple-spinner

NPM

Just as the name implies, this is a simple “spinner” animation for command line node applications. It has start and stop functions, and even lets you customize the animation.