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

Software Developer in Medellín - Antioquia, Colombia

Member since January 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



  • JavaScript, 6 years
  • Objective-C, 6 years
  • Ruby, 5 years
  • Java, 5 years
  • REST, 3 years
  • Go, 3 years
  • Swift, 2 years
  • Kotlin, 1 year


Medellín - Antioquia, Colombia



Preferred Environment

Mac, GitHub, Vim, Xcode, Slack, Waffle

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: Ruby on Rails, Go, Node.js, JavaScript, AWS Lambda, Webpush API, AWS SQS, AWS Kinesis, AWS Redshift, Redis
  • 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: Ruby on Rails, AngularJS, Jasmine, Bootstrap
  • 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: Objective-C, Ruby on Rails, Golang, Java, Android, iOS
  • 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: .NET WCF, Objective-C and iOS
  • 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: iOS, Android, JSON, Ruby on Rails, MongoDB, C2DM, Apple Push Notifications, Node.js, Cloudfoundry
  • 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: Ruby on Rails, Java, Android, Go, iOS, Node.js and MongoDB
  • 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: Android, Node.js, Redis, COM+, XML Web Services, WPF, Web Sockets
  • 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: Ruby on Rails, MySQL, iOS and Android
  • Software Developer

    2010 - 2010
    • Developed and maintained a Ruby-on-Rails/MySQL web application using Agile methodologies for clients.
    Technologies: Ruby on Rails, MySQL and Agile
  • 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: Windows Communication Foundation, SQL Server
  • Software Developer

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

    2007 - 2007
    • Designed and developed a desktop .NET app integrated with Infor CRM via COM hooks.
    Technologies: WPF, C#, SalesLogix CRM
  • 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: SQL Server, .NET, ASP.NET, OOP, Visual C# , Visual Basic 7, XML Web Services, .NET Remoting
  • 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: .NET, Visual C#, Visual Studio 2005, Enterprise Library 2.0, ASP.NET XML, Windows 2003 Server Message Queue, WinForms, WDSL
  • 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: Windows, ASP.NET, Debian, Mono XSP, MySQL, PostgreSQL, C++, Libpq, C#, FI Web Services, SAP NetWeaver
  • 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: .NET XML Web Services, Flash Remoting, Ajax/Polling, Apache2, PHP, SQL Server, PostgreSQL, MySQL
  • 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: IIS 6.0, ASP.NET, COM+, Visual Studio .NET
  • 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: WinForms, Microsoft Access, SQL Server, .NET, COM+, Visual Basic


  • Greensand Mac OS App (Other amazing things)

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

  • Breakdeck iOS App (Other amazing things)

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

  • Multilang-hstore (Development)

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

  • Express-Winston (Development)

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

  • DogTail (Development)

    A pluggable job processing library in Swift.

  • Gorch (Development)

    Golang package to orchestrate distributed tasks through RabbitMQ.

  • Orch.js (Development)

    A Node.js module to orchestrate distributed tasks through RabbitMQ

  • FireUIPagedScrollView (Development)

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

  • Background Bunnies (Development)

    A Ruby gem to easily create workers using RabbitMQ.

  • Http-parser.d (Development)

    D wrapper for Joyent/http-parser.

  • Uv.d (Development)


  • Languages

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

    AFNetworking, XCTest, Ruby on Rails (RoR), UIkit, .NET, Cocoa, Robolectric, Express.js, ASP.NET, ASP.NET MVC, Roboelectric Testing Framework, AngularJS
  • Libraries/APIs

    Alamofire, CocoaPods, Node.js, jQuery, REST APIs, Kiwi
  • Tools

    Git, AWS Push Notification Service (AWS SNS), Xcode, Microsoft Visual Studio, Presentation Foundation, Microsoft Access, AWS IAM, NPM
  • Paradigms

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

    Linux, Android, iOS, Windows, Docker, Apple Watch, tvOS, MacOS
  • Storage

    RethinkDB, JSON, PostgreSQL, AWS S3, Realm, MySQL, MongoDB
  • Other

    iPad, Ruby Gems, SOAP, TCP, Customer Relationship Management (CRM), POS, CRM, Lean Development


  • 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
I really like this profile
Share it with others