Resume / CV
I'm a polyglot software developer, with more than 10 years experience in a variety of languages. I'm currently working as a web software engineering at a medical devices manufacturing company.
My 3 preferred languages to work in are C#, Python, and JavaScript/TypeScript, although I've written production code in Perl, PHP, Java, and C++. I can cobble together poorly written bash scripts and, even more poorly-written powershell scripts, when necessary.
Contact Information
Phone Number | please contact fist via e-mail |
derekjamescurtis+dotme112023@gmail.com | |
Home | Pittsburgh, PA 15229 |
Experience
Staff Web Software Engineer, Zoll Medical Corporation
Location | Pittsburgh, PA, USA |
Dates | Oct 2022 - present |
Company Website | lifevest.zoll.com |
Languages | C#, TypeScript, JavaScript |
Technologies | AWS CDK, Terraform, Gitlab CI, Docker, AWS ECS, AWS S3, AWS Lambda MySQL, AWS DynamoDB, AWS Kinesis, AWS SNS |
Frameworks | Serverless Framework, ASP.NET, ASP WebForms |
Zoll manufactures durable medical equipment. In Pittsburgh, the LifeVest product (a wearable defibrillator) is manufactured, and R&D is located here.
I work on a team in the R&D department which builds lambda-based functions with C# that are used to generate various types of alerts/notifications from data collected from patient's use of the LifeVest. In addition to C#-based lambdas, I also am responsible for maintaining a data pipeline with Node and Serverless, which converts older versions of our device data into a format that's compatible with our newer style device processing applications. Occasionally, I also help maintain an old ASP.NET WebForms application.
Senior Full Stack Web Developer, Innotescus LLC
Location | Pittsburgh, PA, USA |
Dates | Oct 2021 - Aug 2022 (company defunct) |
Company Website | innotescus.io (wayback machine) |
Languages | C#, TypeScript, Python |
Technologies | Docker, gRPC, AWS, PostgreSQL, AWS S3, ClickHouse, TeamCity |
Frameworks | ASP.NET, Angular |
Innotescus was a SaaS image annotation platform for computer vision applications. It allowed users to annotate images and videos. It also supported a 'review' feature, to allow spot checking annotations created by teams, and to give feedback.
I worked as a full-stack developer, on the back and frontend applications. The back end was an ASP.NET app, and communicated with the Angular frontend via gRPC. I also developed, and maintained the company's python SDK, which allowed customers to programmatically integrate Innotescus directly in their ML-Ops pipeline.
I led the adoption of Clean Architecture, and CQRS with MediatR. I also migrated the image analytics data from our primary PostgreSQL database, to a stand-alone instance of ClickHouse to improve application performance.
CTO, PT Gramedia Digital Nusantara
Location | Tanah Abang, Jakarta, ID |
Dates | May 2017 - Oct 2021 |
Company Website | gramedia.com, bhisma.id |
Languages | Python, TypeScript, C# |
Technologies | Docker, CentOS, Ubuntu, uWSGI, Mikrotek, NGinx, PostgreSQL, Redis, Solr, ElasticSearch, MS Power BI, Azure DevOps, MetaBase, Amazon ECS |
Frameworks | Django, Angular (>2.x) |
Gramedia is a large book retailer in Indonesia (think: Barnes & Nobles), with over 100 retail locations across the country. Gramedia Digital Nusantara (GDN) is the e-commerce initiative.
Initially, I was tasked with leading an initiative to build-and-replace the existing e-commerce engine, which suffered from performance and reliability issues. I designed and helped code the replacement solution which utilized Python + Django (DRF) on the backend with PostgeSQL and Redis, combined with an Angular (4.x) frontend application, deployed on AWS. This initiative was successful, in scaling to 17k CCUs (80k daily orders) at peak sales holidays. I also designed and led teams on a project to build a replacement pick/pack system, due to difficulties in tracking order status on days with 80,000 orders.
I was also still responsible for overseeing the continued development of our e-reading/publishing apps and platform inherited from Apps Foundry. Later on, I architected and managed the development effort for integrating a retail POS system into our platform, when we began selling our platform to 3rd parties to allow better stock accuracy for o2o transactions.
Lead Backend Engineer, PT Aplikasi Prima Persada (Apps Foundry)
Location | Palmerah, Jakarta, ID |
Dates | Oct 2014 - May 2017 (company acquired) |
Company Website | getscoop.com (wayback machine), eperpus.com |
Languages | Python, TypeScript |
Technologies | Docker, CentOS, uWSGI, Mikrotek, NGinx, PostgreSQL, Redis, Solr, NFS, Ansible, Vagrant |
Frameworks | Flask, AngularJS (1.x), Django, Nose (testing) |
Scoop was most widely-used e-reading app for local content in Indonesia. It was acquired by Kompas Gramedia group, at the end of 2016, and was rebranded as "Gramedia Digital". Scoop also created a corporate version of their app, to allow businesses to purchase digital content for their employees, called EPerpus.
As typical of startups -- this was a job in which I wore MANY different hats.
In my primary job, I was responsible for leading a small team of developers and architecting and building REST APIs with Python and Flask that supported the front-end mobile and web applications. During the launch of EPerpus, I built customer-facing portal, that allowed administrators to manage their content, membership, purchase additional content, and view usage analytics.
I implemented and deployed Solr, for search. I also helped simply payment handling but integrating the Midtrans Payment Gateway, which I was later permitted to open source (see: open source projects).
At various times, I also managed the physical servers, and performed hardware upgrades. I improved our content stability and security by pushing for the purchase of a NAS and migrating our digital content from RAID0 SCSI to RAID5 on the dedicated NAS. I then further improved access performance to that content by removing application code that streamed the files through python, and instead utilizing NGinx's internal redirect feature to authenticate content access through our application code then serve directly though Nginx.
Led a small team, architected and built REST API micro services with Python + Flask used by the most widely-used Indonesian-language e-reading app (6 million downloads, all platforms).
Additionally, I build and maintained some of our internal dashboards (AngularJS 1x) Lead the adoption of Docker into production Lead implementation of Apache Solr and Tika for customer-facing search. Improved our bare-metal deployments by implementing configuration management with Ansible.
Founder/Developer, Summerset Software, LLC
Location | Seattle, WA |
Dates | 2009 - 2014 |
Languages | C#, Python, Perl, Java, C++ |
Technologies | MSSQL, VistaDB |
Frameworks | WPF, WCF, ASP.NET WebForms |
Developed a point of sale system designed for single-location restaurants.
Open Source Projects & Contributions
Contributions
Language | Project | Description |
---|---|---|
Python | Django (1.9.1) | Fixed a regression in CommonMiddleware causing If-None-Match checks to always return HTTP 200 |
Python | Faker (0.5.3) | Fixed support for Python 3 in the python provider |
Python | Midtranspay | Client library for payment gateway |
Projects
I have a dozen or so open source projects that I've published in various languages. I won't list them all out here, but you can find them by visiting the following links.
PyPI (python) | https://pypi.org/user/djcurtis/ |
Nuget (C# dotnet) | https://www.nuget.org/profiles/djcurtis |
CPAN (perl) | https://metacpan.org/author/DJCURTIS |