Johan Hernandez, Software Developer in Medellín - Antioquia, Colombia
Johan Hernandez

Software Developer in Medellín - Antioquia, Colombia

Member since September 3, 2012
Johan is a mobile app and cloud back-end developer with over 15 years of experience. He's been telecommuting for startups in the USA since 2010. He has worked with enterprise stacks for a number of years, but more recently his primary focus has been on building native apps for mobile and desktop (Mac, iOS, Android and Windows) using Swift, Objective-C, Java, Kotlin, and C#. He also builds his own RESTful back-ends with Rails, Node, and Golang.
Johan is now available for hire




Medellín - Antioquia, Colombia



Preferred Environment

Slack, Xcode, Vim Text Editor, GitHub, MacOS

The most amazing...

...thing I've built is the web app, API, and mobile apps for, collaborating with the CTO and using Rails/iPhone/Android/Geolocation.


  • Full-stack Web Developer

    2016 - 2016
    Anonymous Ad Network (via Toptal)
    • Worked for a Toptal client to implement an advertising platform on top of Webpush API for Chrome and Firefox.
    • Built the platform in Ruby on Rails with Bootstrap and JavaScript libraries using Gulp.
    • Deployed to S3 Bucket backed by Cloudflare CDN.
    • Built the API in idiomatic Go, collecting and pushing to AWS Kinesis.
    • Built the webpush API client as an AWS Lambda function in Node.js and reported delivery statuses via Amazon SQS back to the dashboard using a Go worker via Redis.
    • Created the shard generator and scheduler in Go pushing to AWS Kinesis Firehose. Where competitors took almost fifty minutes to delivery, 400k notifications in this platform only took six minutes.
    Technologies: Amazon Web Services (AWS), Redis, Redshift, AWS Kinesis, Amazon Simple Queue Service (SQS), AWS Lambda, JavaScript, Node.js, Go, Ruby on Rails (RoR), Ruby
  • Senior Software Engineer

    2015 - 2016
    • Contributed to a PDRedesign open-source project with new APIs to support new professional development tooling.
    • Implemented new visual tools using Angular and Bootstrap Sass and completed missing integration tests with Jasmine in other legacy areas of the app.
    Technologies: Bootstrap, Jasmine, AngularJS, Ruby on Rails (RoR), Ruby
  • Senior Software Engineer

    2014 - 2015
    • Developed a streaming analytics service with RabbitMQ, Golang, InfluxDB, and Grafana and delivered client libraries for the rest of the teams in the form of private Ruby Gem, NPM package, and Cocoapods.
    • Worked with the iOS team to deliver critical milestones for geolocation, push notifications, Stripe integration. Built in Objective-C using BDD with XCT, KIF, and Kiwi.
    • Worked with the Android team to revamp the Android app with roboelectric testing.
    Technologies: iOS, Android, Java, Go, Ruby on Rails (RoR), Ruby, Objective-C
  • Senior Software Engineer

    2013 - 2014
    Greasebook (via Toptal)
    • Enhanced WCF JSON services with VS tests, took their sync times from 45 minutes to only a few minutes with differential syncing.
    • Refactored lots of the Objective-C code powering the iPad app to support differential syncing and offload the main UI thread from expensive CoreData and Network calls, spin locks and CPU-bound processing tasks to the background.
    Technologies: iOS, Objective-C, .NET
  • Co-Founder

    2010 - 2014
    • Maintained iOS and Android applications for clients.
    • Designed and developed JSONScript, a DSL programming language .
    • Implemented geo-location for a merchant and deals platform in iOS, Android and web using Ruby-on-Rails and MongoDB.
    • Implemented cross-platform mobile notifications with C2DM and Apple push notifications.
    • Developed Fire.js, a JSONScript based framework for development of Node.js applications using JSON blocks.
    • Developed Fire IDE, an integrated development environment for development of Fire.js applications with visual JSON editor and Cloudfoundry deployment capabilities.
    • Developed and published FireIcons, an Android client.
    • Developed and published Jitsu Control, an Android client for NodeJitsu hosting platform.
    Technologies: Cloud Foundry, Node.js, Apple Push Notifications, Google C2DM, MongoDB, Ruby on Rails (RoR), JSON, Android, iOS
  • Technical Lead

    2012 - 2013
    • Continued development of a gamification platform in Node.js with MongoDB and S3.
    • Recreated the gamification platform with Ruby on Rails, PostgreSQL, and Go.
    • Developed an iOS SDK to include in third-party applications.
    • Developed an Android SDK to include in third-party applications.
    • Led a team of 4 developers and 1 designer from MVP to release.
    Technologies: MongoDB, Node.js, iOS, Go, Android, Java, Ruby on Rails (RoR)
  • Co-Founder

    2011 - 2012
    • Developed an Android application to place remote orders in POS systems.
    • Developed a client application in WPF and COM+ to communicate with the POS system.
    • Built a web service in Node.js and Redis to securely transfer orders via encrypted web socket channel.
    Technologies: WebSockets, Windows Presentation Foundation (WPF), XML Web Services, COM+, Redis, Node.js, Android
  • Senior Software Engineer

    2011 - 2011
    • Developed and maintained a web application in Ruby on Rails.
    • Developed a REST API in Ruby on Rails.
    • Refactored and maintained the Android application.
    • Developed and maintained the iOS application.
    • Developed a geolocated catalog of Items with MongoDB and geolocation.
    Technologies: Android, iOS, MySQL, Ruby on Rails (RoR)
  • Software Developer

    2010 - 2010
    • Developed and maintained a Ruby-on-Rails/MySQL web application using Agile methodologies for clients.
    Technologies: Agile, MySQL, Ruby on Rails (RoR)
  • Software Architect

    2008 - 2008
    • Designed and implemented a restaurant point-of-sale touch application using Windows Presentation Foundation, Windows Communication Foundation, and SQL Server 2005.
    Technologies: Microsoft SQL Server, Windows Communication Framework (WCF)
  • Software Developer

    2007 - 2008
    • Developed and maintained a PHP Symphony front-end website for a financial application developed in Oracle Forms 9i.
    Technologies: Oracle Forms, Symphony, PHP
  • Senior Developer

    2007 - 2007
    • Designed and developed a desktop .NET app integrated with Infor CRM via COM hooks.
    Technologies: Infor CRM, C#, Windows Presentation Foundation (WPF)
  • Senior IT Trainer

    2005 - 2007
    • Trained colleagues in the following courses: SQL Server 2000 Database Management, .NET Framework 1.1 Architecture, .NET Windows Forms, OOP Programming, Visual C# Programming Language, Visual Basic 7 Programming Language, ASP.NET Web Application Development, and Distributed Application Development with XML Web Services and .NET Remoting.
    Technologies: Remoting, XML Web Services, Visual Basic, C#, Object-oriented Programming (OOP), ASP.NET, .NET, Microsoft SQL Server
  • Senior Developer

    2006 - 2006
    • Developed an N-Tier distributed application for an online lotto, gaming, and payment platform in .NET Framework 2.0 using Visual C#, Visual Studio 2005, Enterprise Library 2.0, ASP.NET XML Web Services, and Windows 2003 Server Message Queue.
    • Developed a desktop application in WinForms as an automation tool for dynamic testing of WSDL based XML Web Services.
    Technologies: Windows Forms (WinForms), Windows Server 2003, XML, ASP.NET, Microsoft Enterprise Library, Visual Studio, C#.NET, .NET
  • Software Developer

    2006 - 2006
    • Migrated a website from Windows/ASP.NET 2.0 to Debian/Mono XSP 1.9.
    • Developed and maintained a middleware to transform data between a MySQL database and a PostgreSQL database using C++ and libpq.
    • Developed a front-end website using C# and Mono framework to consume FI web services from SAP NetWeaver.
    Technologies: SAP NetWeaver, Web Services, C#, C++, PostgreSQL, MySQL, Mono XSP, Debian, ASP.NET, Windows
  • Senior Developer

    2005 - 2006
    • Integrated Flash based web sites and presentations with .NET XML Web Services using Flash Remoting components.
    • Implemented and deployed an Ajax/Polling notification system using Apache2 for a B2B Web App written in PHP.
    • Migrated and normalized SQL Server 2000, PostgreSQL 8.1, and MySQL 4.0 databases.
    Technologies: MySQL, PostgreSQL, Microsoft SQL Server, PHP, Apache2, Ajax, Adobe Flash, XML Web Services, .NET
  • Senior Developer

    2004 - 2005
    Seguros Caracas de Liberty Mutual
    • Designed and implemented an automatic deployment tool for IIS 6.0.
    • Developed ASP.NET web controls and components.
    • Developed COM+ helper extension for Visual Studio .NET.
    • Developed an extranet web portal for company partners and resellers using ASP.NET 1.1.
    • Led the migration of .NET based web and desktop applications from .NET 1.1 to .NET 2.0.
    Technologies: Visual Studio .NET, COM+, ASP.NET, IIS 6
  • Senior Developer

    2001 - 2002
    • Developed WinForms components and controls using Visual C# .NET and Visual Studio 2002 for rapid data access with Microsoft Access and SQL Server 2000.
    • Created databases for an electronic medical record desktop application.
    • Implemented .NET Remoting hooks and COM+ components in an electronic medical records application to make it interoperable with legacy Visual Basic applications and scripts.
    Technologies: Visual Basic, COM+, .NET, Microsoft SQL Server, Microsoft Access, Windows Forms (WinForms)


  • Greensand Mac OS App

    A beautiful activity tracker for OS X built in Cocoa and Swift 2.

  • Breakdeck iOS App

    Breakdeck is an app that sends you reminders to take a break and read Tech News.

  • Multilang-hstore

    Use PostgreSQL's hstore to create multi-language text columns in Rails and active records.

  • Express-Winston

    This Node.js module allows you to log Express.js requests to Winston systems.

  • DogTail

    A pluggable job processing library in Swift.

  • Gorch

    Golang package to orchestrate distributed tasks through RabbitMQ.

  • Orch.js

    A Node.js module to orchestrate distributed tasks through RabbitMQ

  • FireUIPagedScrollView

    An old pagination component for UIViewControllers in iOS (iPhone and iPad).

  • Background Bunnies

    A Ruby gem to easily create workers using RabbitMQ.

  • Http-parser.d

    D wrapper for Joyent/http-parser.

  • Uv.d


  • Languages

    Sass, Go, Swift, Kotlin, Ruby, C#, SQL-99, XML, XAML, JavaScript, Objective-C, Java, KIF, D, HTML5, PHP, Visual Basic, C#.NET, C++
  • Frameworks

    AFNetworking, XCTest, Ruby on Rails (RoR), UIKit, .NET, Cocoa, Robolectric, Express.js, ASP.NET, ASP.NET MVC, Windows Communication Framework (WCF), Windows Presentation Foundation (WPF), Jasmine, Bootstrap, Roboelectric Testing Framework, AngularJS
  • Libraries/APIs

    Alamofire, CocoaPods, Node.js, jQuery, REST APIs, Kiwi, Microsoft Enterprise Library, Windows Forms (WinForms)
  • Tools

    Git, AWS Simple Notification Service (AWS SNS), Xcode, Microsoft Visual Studio, Presentation Foundation, Microsoft Access, AWS IAM, Oracle Forms, Apple Push Notifications, Visual Studio, Adobe Flash, Visual Studio .NET, GitHub, Vim Text Editor, Slack, Amazon Simple Queue Service (SQS), NPM
  • Paradigms

    Object-oriented Programming (OOP), REST, Agile Software Development, Functional Programming, Reactive Programming, Agile, COM+
  • Platforms

    Linux, Android, iOS, Windows, Docker, Apple Watch, tvOS, Debian, SAP NetWeaver, Windows Server 2003, Apache2, AWS Lambda, AWS Kinesis, Amazon Web Services (AWS), MacOS
  • Storage

    RethinkDB, JSON, PostgreSQL, Amazon S3 (AWS S3), Realm, Microsoft SQL Server, Redis, Redshift, MySQL, MongoDB
  • Other

    iPad, Ruby Gems, SOAP, TCP, Customer Relationship Management (CRM), POS, Data Analysis, Lean Development, Symphony, Mono XSP, Web Services, XML Web Services, Remoting, Google C2DM, Cloud Foundry, Infor CRM, Ajax, IIS 6, WebSockets


  • Microsoft Certified Application Developer Degree in Information Technology
    2007 - 2007
    Miscrosoft - Venezuela
  • Microsoft Certified Technical Specialist Degree in Information Technology
    2007 - 2007
    Miscrosoft - Venezuela
  • Microsoft Certified Professional Degree in Information Technology
    2004 - 2004
    Miscrosoft - Venezuela
  • Bachelor's Degree in IT Engineer
    2000 - 2004
    Universidad Simon Rodriguez - Venezuela

To view more profiles

Join Toptal
Share it with others