Lee Hodgkinson, Back-end Developer in Liverpool, United Kingdom
Lee Hodgkinson

Back-end Developer in Liverpool, United Kingdom

Member since September 7, 2022
Lee is a senior back-end developer with eight years of experience working for various startups. He has a PhD in physics and received a prestigious EPSRC prize. He specializes in writing scalable, well-tested, production-ready, and clean pythonic code as an expert in the Python ecosystem and its various libraries and frameworks. Lee is proficient in machine learning, TensorFlow, PyTorch, NumPy, pandas, and scikit-learn, and writing large-scale web scrapers and ETL pipelines.
Lee is now available for hire

Portfolio

  • Marcel For Art Ltd
    Django, Django REST Framework, AWS, PostgreSQL, Python 3, Pytest, AWS RDS...
  • North Shore Automation
    Django, MongoDB, Python 3, Docker, Celery, Flask, REST, GraphQL, Python
  • Tickerface
    Django, Django REST Framework, Diffbot, Elasticsearch, Debian Linux, Ansible...

Experience

Location

Liverpool, United Kingdom

Availability

Part-time

Preferred Environment

Django, Django REST Framework, PostgreSQL, TensorFlow, Pandas, Docker, Machine Learning, A/B Testing, MongoDB, Unit Testing, Python

The most amazing...

...thing I've written is a numerical simulation of a black hole, with results published in well-renowned journals and presented at international conferences.

Employment

  • Lead Back-end Developer

    2018 - 2022
    Marcel For Art Ltd
    • Built the API from zero and scaled it to 100,000 users.
    • Optimized ORM database queries to scale and solve N+1 problems by writing custom Django Managers and using various techniques such as prefetching.
    • Wrote a comprehensive set of unit tests and set up CircleCI and coverage reports.
    • Set up an infrastructure in the AWS ecosystem using Elastic Beanstalk, RDS, load balancers, and CloudFront and managed deployments to staging and production.
    • Wrote an ML-driven artwork feed to deliver a custom-ordered feed to each user.
    • Built payment flows for an eCommerce side of the app, allowing the purchase of artwork through Stripe and PayPal.
    • Set up caching using Memcached to optimize the app speed.
    • Wrote a variety of AWS Lambda functions and Step Functions.
    Technologies: Django, Django REST Framework, AWS, PostgreSQL, Python 3, Pytest, AWS RDS, Amazon CloudFront CDN, Memcached, Elasticsearch, Amazon SQS, AWS Push Notification Service (AWS SNS), Mailchimp, Mandrill, Sentry, Mixpanel, Amplitude, CircleCI, Python
  • Senior Back-end Developer

    2019 - 2020
    North Shore Automation
    • Developed middleware for a media asset management system.
    • Built media profiles to deliver media assets to large clients such as Comcast.
    • Helped build a GraphQL API using MongoDB and Flask.
    Technologies: Django, MongoDB, Python 3, Docker, Celery, Flask, REST, GraphQL, Python
  • Back-end Developer

    2018 - 2019
    Tickerface
    • Developed the Django REST framework API for a mobile social shopping application.
    • Helped showcase the app as the technical representative at Lisbon Web Summit 2018.
    • Used scraping techniques in Beautiful Soup to keep prices up-to-date.
    • Added social authentication to enable users to sign in with Google and Facebook.
    Technologies: Django, Django REST Framework, Diffbot, Elasticsearch, Debian Linux, Ansible, Beautiful Soup, Python
  • Senior Back-end Developer

    2015 - 2018
    Evo Pricing
    • Developed a Django UI that allowed visual training of intelligent scraping bots, email alerting, and scheduling scrapes for non-technical users.
    • Ran large-scale distributed web scrapes and dealt with ban avoidance techniques such as user-agent and proxy rotation.
    • Customized Scrapy and built many custom middlewares, loaders, and pipelines.
    • Wrote an API in Django that allowed run scheduling and monitoring.
    Technologies: Scrapy, Django, Python 3, Data Wrangling, Data Cleaning, jQuery, Bootstrap, HTML, XPath, CSS Selectors, Django REST Framework, Web Scraping, MySQL, Azure, SQL, Automation, Celery, Selenium, Python, Jinja
  • Back-end Developer

    2014 - 2016
    Dooster
    • Contributed to developing a new responsive design for the Dooster app.
    • Managed the DevOps, such as setting up the Linux server and database.
    • Wrote integrations with Google Calendar and Google Contacts.
    Technologies: Django, Ajax, jQuery, HTML, CSS, Python, Jinja
  • Back-end Developer

    2014 - 2015
    Clandestine Brewing
    • Used metrics via Graphite to show probe graphs of cold room temperature of beer in a custom Django admin.
    • Integrated with Facebook to show the latest posts on the website.
    • Redesigned the entire site from scratch to give a more responsive and fresher look.
    • Integrated with Google Calendar API to show the latest brewery events on the homepage.
    Technologies: Heroku, Django, Graphite, Amazon S3 (AWS S3), Django Extension & Middleware, Ajax, Facebook SDK, PostgreSQL, Python, Jinja
  • Back-end Developer

    2014 - 2014
    Oddsbot
    • Built spiders to gather data from over 50 bookmakers and betting exchanges in the UK.
    • Presented arbitrage opportunities to subscribers using a Django-driven website.
    • Developed an email alerts system to alert subscribers of premium arbitrage opportunities.
    Technologies: Django, Scrapy, PostgreSQL, JavaScript, jQuery, HTML, Python, Jinja

Experience

  • iOS App for Artists and Art Lovers
    https://marcel-art.my.canva.site/

    A fully mobile, artist-driven app for running a creative business.

    I was the lead back-end developer for over four years. I wrote the REST API in Django, managed cloud DevOps in AWS, and built an ML-powered curated feed, and payment gateways for a shop.

  • Mobile Social-shopping iOS Application
    https://logicon.io/project/tickerface/

    Developed the DRF API for a mobile social-shopping iOS application and helped showcase it in Lisbon WebSummit 2018.

    In this project, I have done the following:

    • Used most aspects of DRF
    • Communication with Slack
    • Agile workflow Trello
    • DevOps using Ansible and general Debian sysadmin
    • Scraping using Diffbot and BeautifulSoup
    • ElasticSearch
    • Social integration with Allauth

  • Evopricing: Large-scale Distributed Scraping
    https://evopricing.com/

    I developed a smart Scrapy spider that was trainable via a Django web GUI. This work was completed mostly alone, but at times I took the role of lead developer, trained a team of junior contracted developers, collaborated via Git, and performed code reviews.

    This project allows a semi-technical user (XPATH knowledge) to configure the spider for different target sites and schedule periodic runs.

    In this role, I dealt with many challenges, such as:

    • Prototyping and figuring out the initial architecture.
    • Ban avoidance with custom proxy-rotation and user-agent rotation middleware.
    • Data integrity and cleaning.
    • Writing an API in DRF allowing front-end run-scheduling and monitoring.
    • Distributing scrapes.
    • Provisioning servers from scratch.
    • Writing custom loaders, extensions, middleware, and pipelines.

    The distributed scrapes involved recursive algorithms that pushed scraping jobs into a central Redis queue for a bunch of celery workers to pick off and do in parallel.

Skills

  • Languages

    Python 3, Python, C++, C, Kotlin, GraphQL, HTML, XPath, SQL, CSS, JavaScript, CSS3
  • Frameworks

    Django, Django REST Framework, Jinja, Flask, Scrapy, Bootstrap, Selenium, OAuth 2
  • Libraries/APIs

    Pandas, NumPy, TensorFlow, PyTorch, LSTM, Zipline, jQuery, Diffbot, Beautiful Soup, Facebook SDK, Stripe, Mandrill API
  • Tools

    Pytest, Amazon CloudFront CDN, Amazon SQS, AWS Push Notification Service (AWS SNS), CircleCI, Mailchimp, Sentry, Mathematica, MATLAB, You Only Look Once (YOLO), Celery, Ansible, AWS Step Functions, Beanstalk, AWS SES
  • Paradigms

    Unit Testing, ETL, Siamese Neural Networks, REST, Automation, Agile
  • Storage

    PostgreSQL, Memcached, Elasticsearch, MongoDB, MySQL, Amazon S3 (AWS S3), Redis
  • Other

    Statistics, Physics, A/B Testing, Singular Value Decomposition, Matrix Algebra, Data Wrangling, Long Short-term Memory (LSTM), Linear Regression, Bayesian Inference & Modeling, LSTM Networks, Convolutional Neural Networks, Machine Learning, Deep Neural Networks, Neural Networks, AWS, Hypothesis Testing, Recommendation Systems, Amplitude, Bayesian Statistics, Modeling, Calculus, Linear Algebra, Mathematics, Monte Carlo Simulations, Numerical Methods, Natural Language Processing (NLP), Principal Component Analysis (PCA), Backtesting Trading Strategies, Convex Optimization, Generalized Linear Model (GLM), Deep Learning, Regression, Gated Recurrent Unit (GRU), knn, AWS RDS, Data Cleaning, CSS Selectors, Web Scraping, Graphite, Django Extension & Middleware, Ajax, Cloudinary, Code Review, Data, APIs, Reverse Engineering, Tornado, Distributed Systems
  • Platforms

    Mandrill, Mixpanel, Linux, Android, Docker, Azure, Debian Linux, Heroku, Jupyter Notebook, AWS Lambda, Amazon EC2 (Amazon Elastic Compute Cloud)

Education

  • PhD in Physics
    2009 - 2013
    University of Nottingham - Nottingham, United Kingdom
  • Master's Degree in Physics
    2003 - 2007
    University of Manchester - Manchester, United Kingdom

Certifications

  • MIT Fundamentals of Statistics
    AUGUST 2021 - PRESENT
    edX
  • Android Kotlin Developer Nanodegree
    JUNE 2021 - PRESENT
    Udacity
  • Data Scientist Nanodegree
    FEBRUARY 2021 - PRESENT
    Udacity
  • Artificial Intelligence for Trading Nanodegree
    OCTOBER 2020 - PRESENT
    Udacity
  • TensorFlow in Practice Specialization
    APRIL 2020 - PRESENT
    Coursera
  • Deep Learning Specialization
    JANUARY 2020 - PRESENT
    Coursera
  • Machine Learning
    JULY 2019 - PRESENT
    Coursera

To view more profiles

Join Toptal
Share it with others