Scroll To View More
Dario Bertini, Python Developer in London, United Kingdom
Dario Bertini

Python 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


  • SecretEscapes
    Python, Java
  • L2inc
    Python, SqlAlchemy, AWS Elastic Beanstalk, AWS RDS, AWS Redshift, Flask, Celery
  • NCCGroup
    Python, .NET, Burp Proxy


  • Linux, 10 years
  • Python, 6 years
  • Functional Programming, 4 years
  • Haskell, 1 year
  • Clojure, 1 year
London, United Kingdom



Preferred Environment

Nixos Linux, Atom, Emacs, Mercurial, Git

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: Python, Java
  • 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: Python, SqlAlchemy, AWS Elastic Beanstalk, AWS RDS, AWS Redshift, Flask, Celery
  • 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: Python, .NET, Burp Proxy
  • 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: Clojure, Python, Ansible, Selenium


  • Pew (Development)

    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 (Development)

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

  • Mutagen Python3 Porting (Development)

    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 (Other amazing things)

    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 (Other amazing things)

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

  • RegEx Unfolder (Development)

    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

  • Storage

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

    JNI, Django
  • Libraries/APIs

  • Tools

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

    i18n, NixOS


  • B.S. degree in Computer Engineering
    2006 - 2010
    Università degli studi di Bergamo - Bergamo, Italy
I really like this profile
Share it with others