Johan Dahlin, Software Developer in Gothenburg, Sweden
Johan Dahlin

Software Developer in Gothenburg, Sweden

Member since June 6, 2017
Johan is a developer with 18 years of professional experience—his key technologies are Python, JavaScript, Flask, GTK+/GNOME, PostgreSQL, Jenkins, and Gerrit. He's been contributing to open-source communities for many years, including maintaining the key technologies used in the GNOME desktop environment.
Johan is now available for hire


  • SparkMeter
    Amazon Web Services (AWS), HTML5, CSS, Angular, Docker, SymmetricDS, AWS...
  • Audience
    Robot Framework, Python, Android NDK, Jenkins, Gerrit
  • Async Open Source
    PostgreSQL, GTK+, Python



Gothenburg, Sweden



Preferred Environment

PyCharm, Ubuntu

The most amazing... I've ever done was the GNOME project where I learned how to to be a software engineer—writing code, testing, bug-triaging, managing releases, and more.


  • Senior Software Engineer

    2015 - 2018
    • Designed and implemented an asynchronous replication system using PostgreSQL/SymmetricDS for low bandwidth, high-latency clients.
    • Ported an existing application over from MongoDB to PostgreSQL—archiving a 100x performance improvement in many cases.
    • Implemented billing and dynamic tariffs for metering energy used by customers.
    • Improved the product quality by adding unit tests for close to 100% code coverage and added integration testing using Nightwatch.js to automate the QA.
    • Packaged Python applications using Wheel and Docker for automated deployment and simplified testing used by the QA.
    Technologies: Amazon Web Services (AWS), HTML5, CSS, Angular, Docker, SymmetricDS, AWS, Heroku, RabbitMQ, PostgreSQL, Flask, Python
  • DevOps Engineer

    2014 - 2015
    • Designed and implemented a continuous integration system using Gerrit and Jenkins.
    • Planned, designed, and built a hardware testing lab for running kernel audio drivers tests on DragonBoard using the Android and Robot framework.
    • Planned and implemented release scripts for the handling of the internal software releases of the audience source driver for the Android Linux Kernel.
    • Migrated Git repositories from Gitolite to Gerrit.
    Technologies: Robot Framework, Python, Android NDK, Jenkins, Gerrit
  • Software Engineer

    2001 - 2014
    Async Open Source
    • Designed and implemented an open-source POS system using Python and GTK+.
    • Conducted contracting work for Nokia by implementing a GTK+ XML parser to construct user interfaces components (GtkBuilder).
    • Improved Bugzilla by doing contracting work for NASA and Mozilla.
    • Maintained the Python GTK+ binding and did major architectural work like separating the lower level parts (GObject, ATK, Pango) from a high-level (GTK, Glade).
    • Gave several speeches about the SVN revisioning control system for graduate school classes at the University of São Paulo (USP).
    Technologies: PostgreSQL, GTK+, Python
  • Software Engineer

    2008 - 2013
    • Worked on an OS GUI; written in C and JavaScript using SpiderMonkey and GNOME technologies.
    • Maintained the GObject Introspection language binding framework for GNOME.
    • Designed and implemented a web application for interacting with an application-tracking system (AST).
    • Installed and maintained a continuous integration environment based on Gerrit and Jenkins for the projects developed at Litl.
    • Wrote a debugger front-end for the GNOME JavaScript binding for SpiderMonkey.
    • Wrote server side software for storing OS data in Python using Google App Engine and Django.
    Technologies: Amazon EC2 (Amazon Elastic Compute Cloud), Amazon S3 (AWS S3), Gjs, JavaScript, MongoDB, Flask, Python
  • Software Engineer

    2004 - 2004
    • Wrote an open-source streaming video and audio server using, Python, Twisted, GStreamer, and GTK+.
    • Maintained the Python GStreamer bindings.
    • Improved the GNOME Sound Recorder by using GStreamer in more efficient ways.
    • Wrote a Nintendo Sound File (NSF) decoder for the GStreamer framework.
    • Tested the video server during KDE and GNOME conferences.
    Technologies: GNOME, GTK+, GStreamer, Python


  • Languages

    SQL, Python, HTML5, CSS, C, JavaScript, TypeScript 2, Bash
  • Frameworks

    Jinja, Flask, AngularJS, Django, Angular, Robot Framework, GStreamer
  • Libraries/APIs

    SQLAlchemy, GLib, jQuery, AngularUI, Node.js
  • Tools

    Gerrit, Jenkins, GTK+, Glade, Makefile, Celery, Android NDK, Amazon ECS (Amazon Elastic Container Service), Chef, PyCharm, Emacs, GNOME, RabbitMQ
  • Platforms

    Ubuntu, Amazon EC2 (Amazon Elastic Compute Cloud), Heroku, Docker, Amazon Web Services (AWS)
  • Storage

    PostgreSQL, JSON, Microsoft SQL Server, PostgreSQL 10.1, Amazon S3 (AWS S3), SymmetricDS, MongoDB, Elasticsearch, MySQL
  • Paradigms

    Agile, Extreme Programming, REST
  • Other

    System Administration, AWS, GTL, Gjs

To view more profiles

Join Toptal
Share it with others