Daniel Krol

Senior Software Developer

{: #headerright }

Download PDF dan@danielkrol.com


Values

Clean code, Clean data, Clear team communication.


Skills

  1. Languages
  2. Python
  3. Go
  4. Node.js
  5. TypeScript
  6. Haskell
  7. Tools
  8. Django
  9. Flask
  10. PostgreSQL
  11. Angular
  12. Ansible
  13. SaltStack
  14. Docker
  15. AWS
  16. Kafka
  17. Operating Systems
  18. Ubuntu/Debian
  19. QubesOS
  20. OSX
  21. Other
  22. Test Driven Development
  23. Functional Programming
  24. WebRTC
  25. Blockchain
  26. WebSockets
  27. APNS
  28.  

Work History

LBRY - Blockchain-based media platform
Part-time Software Engineer
Oct 2021-Nov 2022, Manchester, NH Non-custodial wallet sync service Open source web service in golang to synchronize a user's LBRY cryptocurrency wallet across multiple devices without access to the user's secrets. Defined client behavior to use a single password to encrypt the wallet and authenticate with the sync service.
Various Contracting/Freelancing
Apr 2020-Mar 2023 See Contracting Below
Mix.com - Curation-based content recommendation
Platform Engineer
Nov 2016-Sept 2019, San Francisco, CA Member of API Services team Development/bug fixes in Go and Node.js services for content recommendation application. Interfaced with recommendation engine, and coordinated with Recommendation Service team on architecture decisions. New version of recommended content categorization Coordinated with Recommendation Service team to roll out new version of topic categorization system for recommended content. Included establishing initial set of topics and creating a plan to roll out future topics. Feedback sent to Recommendation Service Added hooks to user events on recommended content which sent feedback with context back to the Recommendation Service.
Basis (an Intel company) - Activity and sleep tracking
Backend Engineer
Apr 2015-Nov 2016, San Francisco, CA Development/maintenance for API service Member of API team for fitness tracking watch. Features, bug fixes, deployment, and configuration changes. Developed with Python/Flask, deployed using SaltStack. Transitioning between two sleep data streams Transitioning between two versions of the user's sleep data streams, while avoiding interruptions in both individual sleep events and daily aggregates. APNS (Apple push notifications) Configuration Debugging problems with APNS service and Python library. Configuration changes to APNS deployment on cluster, including installing new certs.
Brilliant (formerly Alltuition) - Online STEM challenges
Senior Engineer
Jul 2011-Nov 2014, Chicago, IL / San Francisco, CA Ajax View framework (brilliant.org) Implemented a view framework on top of Django targeting old browsers. Facilitated reuse of code between partial and full page loads. Transparent fallback to non-javascript. Practice Section (brilliant.org) Implemented the backend of the initial version of the Practice Section on brilliant.org. Python Client Library for FeeFighters Samurai API (alltuition.com) Analytics Integration (brilliant.org) Improvements to loan consolidation rate prediction system (alltuition.com) Conducted Mechanical Turk based research project (alltuition.com)
Oracle (formerly Stellent) - View legacy office file formats
Software Engineer
Feb 2006-Sep 2010, Chicago IL Spreadsheet file parsers for Outside In Maintenance, optimization, and feature implementation in C.
Contracting
ElectionBettingOdds.com - October 2020-October 2022 (on and off) Add features to static site generator, aggregating data from from multiple prediction markets Sandstorm.io (open source project) - Oct 2021-Mar 2023 (on and off) Upgrade the Sandstorm.io package for Etherpad-lite Etherpad-lite (open source project) - April 2020-July 2020 Bug fixes and features for Etherpad, a self-hosted collaborative word processor. Datamaglia (Django development) - Dec 2014-Feb 2015 Voyager Tech (Django development) - May 2011-Jul 2011 Shelfworthy (Django development) - Apr 2010-Oct 2010 Reuseit - Nov 2009-Dec 2009 / Feb 2011-Jul 2011 PHP/SQL development, feature/bug fixes for site, store and shipping systems Brilliant - October 2020-July 2021 Planning and writing interactive online computer science course material

Projects

Share-A-Map - Self-hosted open source web map
https://github.com/orblivion/sandstorm-share-a-map Self-hosted OpenStreetMap web app for trip planning. Built for the Sandstorm.io platform.
Other Open Source
https://github.com/orblivion/me
Argument Clinic
Experimental structured debate website (now defunct). Had few, but enthusiastic users.

Education

Illinois Institute Of Technology
B.S., Computer Engineering
2001-2005, Chicago, IL
Miscellaneous Courses
Coursera: Functional Programming Principles in Scala
Course Record: www.coursera.org/records/yjD8PGuY9cGQpE5g
Erlang Camp 2014
A weekend-long crash course in Erlang and OTP, which took place in Austin Texas

Misc

  1. Interests/Activities
  2. Juggling
  3. Biking
  4. OpenStreetMap Editing
  5.  

May 26 2023 -- Daniel Krol -- dan@danielkrol.com