Dario Bertini, Software Developer in London, United Kingdom
Dario Bertini

Software Developer in London, United Kingdom

Member since August 18, 2014
As a back-end developer, Dario takes pride in writing maintainable, succinct code, and he cares about automating things (CI and deployment). He's a huge fan of functional programming; he has coded in Haskell, Clojure, and other languages. He values FP because of how it helps to reason about code and write correct programs.
Dario is now available for hire




London, United Kingdom



Preferred Environment

Git, Mercurial, Emacs, Atom, NixOS

The most amazing...

...thing I've coded might be a regular expression matcher and generator for strings matching with the automata.


  • Software Developer

    2016 - PRESENT
    • Created a tool to automatically compare competitors' prices.
    • Integrated the main app with a Salesforce back-end.
    • Set up deployment of some colleagues' internal applications.
    • Investigated app-runner inefficiencies, to shave several seconds off it.
    • Prototyped a Purescript front-end.
    Technologies: Java, Python
  • Back-end Developer

    2015 - 2015
    • Migrated scrapers and code for data gathering to new systems, taking care of schema changes, new code, and dependencies.
    • Wrote an internal automated reporting system that would present historical data in multiple formats.
    • Handled AWS deployment, submitted upstream patches for the libraries in use, and reported vulnerabilities to vendors.
    Technologies: Amazon Web Services (AWS), Celery, Flask, Redshift, AWS, AWS Elastic Beanstalk, SQLAlchemy, Python
  • Security Consultant

    2014 - 2015
    • Created a tool to scan a POSIX file system and aggregate data for post-exploitation.
    • Created a conversion tool to recover source files from OracleForms XML.
    • Created a parser for firewall rule files.
    • Performed security assessments for both UK and multinational companies.
    • Completed the internal training and curated/improved technical topics covered on the internal wiki.
    Technologies: Burp Proxy, .NET, Python
  • Software Developer/DevOps

    2014 - 2014
    • Managed the provisioning of the system.
    • Wrote integration/acceptance tests.
    • Rewrote a 15kLOC legacy Java application in 300 lines of Clojure.
    • Deployed a Riemann instance and front-end for monitoring.
    • Created Python and Haskell scripts to maintain the system and exchange the data among the legacy deployment/separate systems.
    Technologies: Selenium, Ansible, Python, Clojure


  • Pew

    A rewrite of virtualenvwrapper in pure Python. What I'm fond of is also the fact that I've been able to reuse the test suite from the original project.

  • Managemytime

    A demo project, showcasing a typesafe REST API in Haskell. (And some JavaScript+HTML as UI/front-end)

  • Mutagen Python3 Porting

    My porting to Python3 of this library that deals with audio file metadata. I've made mistakes while porting, but it was satisfying to see the test cases pass on both Python versions.

  • Strings -n Implemented in 3 Lines of Python

    Not enough young developers are aware of mmap and end up re-implementing (poorly and less efficiently) incremental file reading when it's not really needed.

  • fulltextindex.hs

    A simple text index/full text search in Haskell. A simple, but non-trivial example of the power of higher order functions.

  • RegEx Unfolder

    This is a small Clojure project (just 100 lines), leveraging instaparse and Clojure core.logic. It defines a relationship between a RegEx FSM and the matching strings, letting you enumerate the strings that can match certain RegEx.

  • To Python 3 and Back Again: Is It Worth the Switch? (Publication)
    Since its debut in 2008, Python 3 has come a long way. Gone are the days when it lacked support for almost all useful libraries and tools. Python 3 offers many improvements and amazing new features that make writing robust code in Python easier than ever. In this article, Toptal engineer Dario Bertini discusses some of the improvements and features that Python 3 has to offer and explains whether switching to Python 3 is a smart choice right now.


  • Languages

    Python, PureScript, Elm, Clojure, Haskell, JRuby, Jython, Scala, C, C#, F#, JavaScript, Java, Ruby
  • Paradigms

    Functional Programming, Test-driven Development (TDD), MapReduce
  • Platforms

    Linux, AWS Elastic Beanstalk, Amazon Web Services (AWS)
  • Storage

    Redis, Redshift, SQLite, Sphinx Search Engine, MongoDB, PostgreSQL
  • Frameworks

    .NET, Selenium, Flask, JNI, Django
  • Libraries/APIs

    SQLAlchemy, Compojure
  • Tools

    Atom, Emacs, Celery, LaTeX, Maven, Travis CI, Jenkins, Git, Mercurial, bzr, Ansible
  • Other

    Burp Proxy, AWS, i18n, NixOS


  • B.S. Degree in Computer Engineering
    2006 - 2010
    Università degli studi di Bergamo - Bergamo, Italy

To view more profiles

Join Toptal
Share it with others