Scroll To View More
Marcus McCurdy

Marcus McCurdy

Philadelphia, PA, United States
Member since November 10, 2014
Marcus has a Bachelor's in Computer Engineering and a Master's in Computer Science. He is a talented programmer, and excels most at back-end development. However, he is comfortable creating polished products as a full stack developer.
Marcus is now available for hire
Portfolio
  • 50onRed
    Python, Flask, PHP, Laravel, Redis, MySQL, EC2, S3, RDS, JavaScript, jQuery...
  • Swizly
    Django, Rabbit MQ, Celery
  • Drexel University
    Java, Maven, Java Swing, NASA World Wind, Jenkins, PostgreSQL, Multicast
Experience
  • SQL, 10 years
  • Java, 10 years
  • JavaScript, 5 years
  • Flask, 5 years
  • Python, 5 years
  • Ansible, 2 years
  • PHP, 2 years
  • MySQL, 2 years
Philadelphia, PA, United States
Availability
Part-time
Preferred Environment
OS X, IntelliJ, Vim, Git, Vagrant
The most amazing...
...thing I've coded is a multithreaded log aggregation platform that processes terabytes of data daily on a single machine.
Employment
  • Lead Software Engineer
    2012 - PRESENT
    50onRed
    • Updated an existing serial web scraping process to a parallel asynchronous process using Python's RQ library. Reduced processing time by 500%.
    • Provisioned, maintained, and utilized a 5 node Elasticsearch cluster being fed by LogStash.
    • Deployed StatsD to several web apps, providing key metrics and insight.
    • Used OpenResty and LUA to aggregate ping stats into Redis and flush the stats into MySQL. Reduced the delay in calculation of statistics from one hour to five minutes.
    • Created a Flask back-end for an automatic updating application processing millions of requests daily on only two servers.
    • Created Ansible playbooks for deploying web applications to EC2.
    • Designed MySQL partitioning and indexing schemes for tables with hundreds of millions of rows.
    • Created an AngularJS app to manage ad placements.
    Technologies: Python, Flask, PHP, Laravel, Redis, MySQL, EC2, S3, RDS, JavaScript, jQuery, Java, Git, Mercurial, Ansible
  • Software Engineer
    2015 - 2015
    Swizly
    • Monitored and analyzed RabbitMQ queue growth patterns in order to hunt down performance issues.
    • Inspected Celery events, workers, and tasks to discovery why workers would hang forever.
    • Scrutinized Python Celery job code to find locations in that could cause a job process to hang forever.
    • Update Celery job configuration to set hard timeouts on jobs that never finish.
    • Investigated why exceptions in Celery jobs were not being sent to the Sentry server.
    Technologies: Django, Rabbit MQ, Celery
  • Research Engineer
    2009 - 2012
    Drexel University
    • Created a Java Swing geospatial command and control application for US Army experiments.
    • Utilized multicast networking to create a distributed document sharing and editing platform.
    • Added continuous integration to the project by provisioning and deploying a Jenkins server.
    • Set up and utilized a Sonatype Nexus Maven repository server for our internal Maven repositories.
    • Built a custom graphics library of military symbols on top of NASA's WorldWind library.
    Technologies: Java, Maven, Java Swing, NASA World Wind, Jenkins, PostgreSQL, Multicast
  • Combat System Engineer
    2007 - 2009
    Naval Surface Warfare Center
    • Created test and evaluation plans for combat systems.
    • Was responsible for the installation and configuration of remote assistance systems on US Navy cruisers and destroyers. Saved time and money with the remote system by allowing shore-based experts to provide remote support to sailors both at sea and when docked. Resulted in a dramatic cost savings and decreased the turn around time for repairs.
    • Trained sailors in the usage of the remote support system.
    • Tested and repaired ship-based FDDI networks.
    • Worked directly with a System Test Officer (STO) to ensure minimal or no downtime while installing routers and software for remote support.
    Technologies: SSH, C++, VNC, Java
Experience
  • Doge Pricer (Development)
    https://github.com/volker48/dogepricer

    An open source Chrome extension for tracking the price of Bitcoin and Dogecoin with ~400 active users. It allows users to create price rise/drop alerts and it also calculates the current dollar amount of users' BTC/DOGE.

  • Flask-mandrill (Development)
    https://github.com/volker48/flask-mandrill

    A Python Flask extension to facilitate sending emails through MailChimp's Mandrill API.

  • Itsdangerous (Development)
    https://rubygems.org/gems/itsdangerousr

    A port to Ruby for the Itsdangerous Python library.

  • Namegen (Development)

    Namegen generates names based on bigrams. It was trained using the NLTK Names corpus. The application is not just randomly choosing names from a predefined list. The application is creating realistic names by using a Markov chain process.

  • C2k (Development)
    https://github.com/volker48/c2k

    Like Netcat, but for Amazon Kinesis. A command line application for getting data into and out of AWS Kinesis.

  • Machine Learning Foundations: A Case Study Approach (Other amazing things)
    https://www.coursera.org/account/accomplishments/verify/HURTYF3Q79RV

    Completed Coursera Machine Learning Foundations course.

  • Push It Real Good (Development)
    https://github.com/volker48/pushitrealgood

    I've been running a ton of machine learning experiments lately and I wanted something to notify me when my jobs done so I don't have to check my jupyter notebook constantly (or listen for my fans to stop spinning like my laptop is about to execute a vertical take off.

  • Kaggle Monsters Contest Code (Development)
    https://github.com/volker48/monsters

    Code in an iPython Notebook that was used for a Kaggle contest and also as examples for a talk I gave on beginner machine learning.

  • Python Multithreading and Multiprocessing Tutorial (Publication)
    Threading is just one of the many ways concurrent programs can be built. In this article, we will take a look at threading and a couple of other strategies in building concurrent programs in Python, as well as discuss how each is suitable in different scenarios.
Skills
  • Languages
    Python, SQL, Java, JavaScript, PHP, Go, HTML, Less, Bash, Bash Script, CSS
  • Frameworks
    Flask, Bootstrap, AngularJS, Bootstrap 3, Laravel
  • Libraries/APIs
    Python-rq, SQLAlchemy, Beautiful Soup, Facebook API, Pandas, NumPy, Scikit-learn, jQuery, Mandrill API
  • Tools
    IntelliJ IDEA, Git, Vim Text Editor, Ansible, Vagrant, Zsh, Grunt, Gulp.js, Bower, Mercurial, Maven, Amazon VPC, Apache Ant, AWS ELB, AWS ElastiCache, NPM, IPython Notebook, Java Concurrency, Nginx, Jenkins, VirtualBox
  • Paradigms
    Test-driven Development (TDD), DevOps, Agile Software Development, Continuous Integration (CI), Concurrent Programming
  • Platforms
    Mac OS, Amazon Web Services (AWS), Windows, Linux, AWS EC2, Mailgun, Ubuntu Linux, Docker, WordPress
  • Storage
    Redis, MySQL, AWS S3, PostgreSQL, AWS RDS, RedShift, RDS, Elasticsearch
  • Other
    AJAX, Multithreading, Multiprocessing
Education
  • Master's degree in Computer Science
    2009 - 2012
    Drexel University - Pennsylvania, USA
  • Bachelor's degree in Computer Engineering
    2001 - 2007
    California State University at Long Beach - California, USA
I really like this profile
Share it with others