Malcolm Mcfarland, Developer in San Francisco, CA, United States
Malcolm is available for hire
Hire Malcolm

Malcolm Mcfarland

Verified Expert  in Engineering

Software Developer

Location
San Francisco, CA, United States
Toptal Member Since
August 14, 2015

Malcolm graduated from UC Berkeley with a BS in Electrical Engineering and Computer Science. He has been writing in Python and JavaScript professionally for 10 years, and has completed projects ranging from simple web applications to distributed computational cluster management software. Malcolm strongly believes in writing code that is simple enough to be tested while being complex enough to accomplish difficult tasks.

Portfolio

Mindhaus Group
Amazon Web Services (AWS), MySQL, Django, Python
IQ Engines
Amazon Web Services (AWS), Backbone.js, Celery, ZeroMQ, Redis, MySQL, Django
FXG Interactive, Inc
SQLAlchemy, MySQL, Django, Apache, Flask

Experience

Availability

Part-time

Preferred Environment

SSH, Git, Vi, Ubuntu, OS X

The most amazing...

...project I've completed is an auto-scaling software for a multi-node Linux cluster, complete with user-customizable boundaries and usage graphs.

Work Experience

Lead Systems Developer

2014 - PRESENT
Mindhaus Group
  • Developed our main web product.
  • Handled API integration and support (Salesforce, Twitter, Facebook, PayPal).
  • Handled DevOps and SysOps.
Technologies: Amazon Web Services (AWS), MySQL, Django, Python

Systems Programmer

2011 - 2013
IQ Engines
  • Assisted with systems/database maintenance.
  • Helped redesign, deploy, and maintain the main website.
  • Was in charge of building distributed systems and their associated monitoring software for scaling computing clusters.
  • Implemented a REST API with front-end templates for user-facing information.
Technologies: Amazon Web Services (AWS), Backbone.js, Celery, ZeroMQ, Redis, MySQL, Django

Lead Software Architect

2010 - 2011
FXG Interactive, Inc
  • Developed several small scale websites for affiliate marketing purposes.
  • Integrated with iContact to manage emails to targeted users about relevant offers.
Technologies: SQLAlchemy, MySQL, Django, Apache, Flask

Front-end Engineer

2007 - 2009
Meetup Inc.
  • Worked as part of the UI team to develop the user-facing part of Meetup.com.
  • Helped develop the internal front-end library (based on MochiKit), including reusable functional components.
  • Developed the front-end on the new user homepage, including the layout and design elements of the feed.
  • Helped develop the front-end vocabulary of design elements for the Meetup.com website.
Technologies: MochiKit, jQuery, JSTL, JavaScript

Software Developer

2005 - 2007
Seeqpod Inc
  • Helped build a blog scraping engine to search for and compile lists of MP3s in the wild.
  • Built a JavaScript player and playlist manager (back when there were no real off-the-shelf options).
  • Built the user profile and login management system.
  • Helped with general system administration tasks like server management, hardware upgrades on the rack, etc.
Technologies: Apache, Linux, MochiKit, JavaScript, Python

Pie Chart

http://plnkr.co/edit/cPDq2jVm8ENPRE4VReOJ?p=preview
I wrote code for a JavaScript factory library to simplify donut graph creation in Raphaël. In addition to Raphaël, I used jQuery for DOM management and Underscore.js for operating data collections. This code demonstrates the use of an offscreen buffer to pre-render DOM elements.

When breaking up functionality, I aim to have a good surface-to-volume ratio. This entails encapsulating an adequate level of complexity within each function to simplify the project overview while ensuring that the purpose of each function can be comprehended easily through its title or docstring. I generally decompose functionality into smaller units to facilitate unit testing on a unit-by-unit basis.

Real estate scraper

https://github.com/hoprocker/scrapy-demo
A simple project that that demonstrates the usage of the Scrapy library. Pulls real estate listings and organizes them as hashes in a Redis datastore.

Languages

Python, JavaScript, Less, Bash, CSS

Other

Software Development, Vi, SSH, MochiKit

Frameworks

AngularJS, Flask, Django, Jinja

Libraries/APIs

Underscore.js, jQuery, SQLAlchemy, JSTL, Backbone.js, ZeroMQ, Raphaël

Tools

Git, Celery, Subversion (SVN), Apache, NGINX

Platforms

Amazon Web Services (AWS), Linux, OS X, Ubuntu, Docker

Storage

Redis, MySQL, PostgreSQL, Amazon DynamoDB, SQLite

1999 - 2004

Bachelor's Degree in Electrical Engineering & Computer Science

University of California, Berkeley - Berkeley, CA

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring