Ross McFarland rwmcfa1@gmail.com -------------------------------------------------------------------------------- Objective To obtain a position in software engineering where I can utilize and develop my skills in design, analysis, and implementation while contributing to challenging and interesting projects. -------------------------------------------------------------------------------- Skills Programming C/C++, Perl (XS), Java, Ruby (Rails,) Pthon (Django,) Javascript (jQuery,) PHP, SQL, PostScript, MATLAB, ActionScript, Visual C++, Visual Basic (Excel) Skills Architecture, Quality, Best Practices, Leadership, Talent Sourcing and Mentoring Database MySQL, Drizzle, Postgres, Oracle Environments GNU Linux, FreeBSD, Android, Windows, Solaris, Resource Constrained/Embedded -------------------------------------------------------------------------------- Experience Applications Architect/Principal Engineer SAY: Media, San Francisco, California 2010-Present * Established and socialized best practices for planning, coding, testing, and organizing sustainable quality software projects. * Lead integration of existing engineering teams (VideoEgg & Six-Apart,) selected best path forward, and coached developers on new technologies. * Served as a shared dev resource for 5 teams of 2-4 developers encouraging collaboration across groups and building consistency. * Ensured high quality solutions to the company's needs were determined, thoroughly vetted, and delivered. * Coordinated hiring process & interviewing practices with the goal of doubling engineering organization every 6-8 months while increasing overall talent. Senior Software Engineer 2008-2010 Sony Inc, San Francisco, California * Architected high performance client/server software for a multi-platform media system. * Built metadata ingestion and manipulation libraries/infrastructure that provided access to both local content and public web services. * Worked closely with teams from other divisions including the UX and server groups within Sony to take prototyped software in to production. * Provided client software libraries to internal and external device groups for integration media services. * Gained experience with embedded/resource constrained device development in both C++ and Java. Founder, Principal Architect 2008 Seedplay Inc, San Francisco, California * Created a content ingestion system capable of importing, transcoding video, extracting screen shots, and other useful information. * Extracted, decoded, and processed closed captioning and subtitle from media streams. * Developed website allowing browsing and searching of ingested content based on extracted and manually entered metadata. * Created Flash media player using haxe and swfmill for playback integrated on website. Architect 2007 SayNow.com, Palo Alto, California * Designed a flexible mobile ad-serving platform integrating with existing VOIP and web systems allowing multi-dimensional targeting. * Lead the development team through the code base cleaning out cruft, improving database access code, caching, and code organization increasing developer productivity and reducing up-to-speed time for new developers. * Introduced monitoring and statistics systems and processes resulting in improved troubling shooting and system observability. * Authored process and architecture documents and guidelines, coached, mentored, and developed junior team members including laying out a path to a fully scalable sharded architecture facilitating future growth. Software Development Engineer 2005-2007 Amazon.com, Seattle, Washington * Served as lead architect for a set of highly scalable web services holding millions of users' data forming the foundation of Amazon's current and future digital media projects including Kindle, Unbox Video, Amazon Upgrade, and All Your Stuff. * Attended MySQL Users Conference including courses in administering and developing with MySQL and applied learning in migration from a monolithic Oracle database to a partitioned MySQL system. * Participated in teaching and mentoring including giving technical talks and working with junior team members. * Two U.S. Patents (pending): "Services for Using Group Preference to Improve Item Selection Decisions" and "Services for Recommending Items to Groups of Users." Software Engineer 2000-2005 Lexmark International, Lexington, Kentucky * Developed extensive library of image processing algorithms for print quality analysis for use by product teams to assess and track products through development. * Served as primary architect of a rapid application development framework that facilitated data-driven programming increasing code reuse and reducing average application size by over 50%. * Selected and managed high-end camera and scanner image acquisition hardware, including development of drivers and client/server communication software. * Created web-based application for information retrieval from file and database back-ends including the ability to generate chart and table based reports. * Issued U.S. Patent #6,764,162: "Shingle masks that reduce banding effect on ink jet printers." Lab Manager 1997-2000 University of Kentucky, Lexington, Kentucky * Managed a campus-wide hardware and software upgrade of over 2000 systems involving creation of new system images tailored to each lab's function. * Resolved patrons' computer issues, providing instruction on system use including technical software: AutoCad, 3-D Studio Max, MATLAB, Maple, and course specific applications. * Initiated and conducted a redesign of the Student Computing Services web-site increasing and reorganizing the information for improved usability. * Interviewed, scheduled, and trained 7-12 lab consultants. Technician 1992-1996 Pro Video/Audio Productions, Monticello, Kentucky * Worked with live venue sound reinforcement, staging, and lighting for indoor and outdoor events including regional and national acts and festivals. * Participated in the design and set up of permanent audio-visual installations. * Performed video post-production tasks including editing and computer graphics. -------------------------------------------------------------------------------- Education Bachelors of Science in Computer Science 2000 University of Kentucky, College of Engineering -------------------------------------------------------------------------------- Open Source and Public Projects * Gtk2-perl - Perl bindings for the Gtk2+ family of libraries - Primary Developer/Project Manager * Muni Alerts (Pro) - Android market applications for NextBus Predictions - Creator/Developer * SF Park - Android market application for SF Park, parking spot finder - Creator/Developer * Pure Postscript Barcode Generator - Postscript barcode generation - Contributed Postnet functionality * MySQL Monitoring - rrdtool scripts for motoring MySQL servers/replication - Creator/Developer * ThruDB - High performance web-service key value store - Primary Developer -------------------------------------------------------------------------------- Hobbies Cooking/Baking/BBQ, Gardening, Photography, Electronics/Micro-controllers, Metalworking, and CNC Programming