Scroll To View More
Johan Dahlin, Software Developer in São Carlos - São Paulo, Brazil
Johan Dahlin

Software Developer in São Carlos - São Paulo, Brazil

Member since May 5, 2017
Johan is a Swedish developer with 14 years of professional experience who's currently living in Brazil—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

Portfolio

  • SparkMeter
    Python, Flask, PostgreSQL, RabbitMQ, Heroku, AWS, SymmetricDS, Docker...
  • Audience
    Gerrit, Jenkins, Android NDK, Python, Robot Framework
  • Async Open Source
    Python, GTK+, PostgreSQL

Experience

  • Python, 16 years
  • Ubuntu, 12 years
  • PostgreSQL, 10 years
  • SQL, 10 years
  • JavaScript, 8 years
  • C, 8 years
  • Flask, 6 years
  • Gerrit, 5 years
São Carlos - São Paulo, Brazil

Availability

Part-time

Preferred Environment

Ubuntu, PyCharm, Emacs

The most amazing...

...work 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.

Employment

  • Senior Software Engineer

    2015 - 2018
    SparkMeter
    • 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: Python, Flask, PostgreSQL, RabbitMQ, Heroku, AWS, SymmetricDS, Docker, Angular, CSS, HTML5
  • DevOps Engineer

    2014 - 2015
    Audience
    • 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: Gerrit, Jenkins, Android NDK, Python, Robot Framework
  • 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: Python, GTK+, PostgreSQL
  • Software Engineer

    2008 - 2013
    Litl
    • 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: Python, Flask, MongoDB, Clutter, JavaScript, GJS, GObject Introspection, AWS S3, AWS EC2
  • Software Engineer

    2004 - 2004
    Fluendo
    • 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: Python, GStreamer, GTK+, GNOME

Skills

  • Languages

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

    Jinja, Flask, AngularJS, Django, Angular
  • Libraries/APIs

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

    Gerrit, Jenkins, GTK+, Glade, Makefile, Celery, Android NDK, AWS ECS, Chef
  • Platforms

    Ubuntu, AWS EC2
  • Storage

    PostgreSQL, JSON, AWS RDS, PostgreSQL 10.1, AWS S3, Elasticsearch, MySQL
  • Paradigms

    Agile, Extreme Programming, REST
  • Other

    System Administration, ShellScript, GTL, Gjs
I really like this profile
Share it with others