Toptal Engineering Blog

The Toptal Engineering Blog is a hub for in-depth development tutorials and new technology announcements created by professional software engineers in the Toptal network.

Toptalauthors are vetted experts in their fields and write on topics in which they have demonstrated experience. All of our content is peer reviewed and validated by Toptal experts in the same field.
Share

Featured in

React Native Beginners Tutorial—A Cold Dive

The development of cross-platform mobile applications has always been a source of many challenges. Although tools like Apache Cordova and Haxe do solve some of the associated issues, they are still not the ideal solution in many cases. React Native changes that by providing the power of React.js for mobile platforms and a promise of consistent developer experience across multiple platforms.

15-minute readContinue Reading
Johannes Stein

Johannes Stein

Johannes is the author of two books and a highly skilled software architect specializing in JS, web tech, and cross-platform development.

Introduction to Python Microservices With Nameko

The microservices architectural pattern is an architectural style that is growing in popularity, given its flexibility and resilience.

In this article, Toptal Freelance Python Developer Guilherme Caminha will focus on building a proof of concept microservices application in Python using Nameko, a microservices framework.

12-minute readContinue Reading
Guilherme Caminha

Guilherme Caminha

Guilherme has a passion for challenges and building beautiful software. He is enthusiastic about learning, elegant solutions, and ideas.

World-class articles, delivered weekly.

By entering your email, you are agreeing to our privacy policy.

A Vital Guide to Qmake

Qmake is a build system tool shipped with Qt library that simplifies the build process across different platforms.

In this guide, Freelance Qt Developer Andrei Smirnov describes the most useful qmake features and provides real-world examples for each of them.

9-minute readContinue Reading
Andrei Smirnov

Andrei Smirnov

Andrei has 15+ years working for the likes of Microsoft, EMC, Motorola, and Deutsche Bank on mobile, desktop, and web using C++, C#, and JS.

Styled-Components: CSS-in-JS Library for the Modern Web

While preprocessors like Sass and Less have made CSS development easier, there is still a lot to be desired in this modern age of web development.

In this article, Toptal Freelance JavaScript Developer Jeremy Davis explores styled-components—the niftiest CSS-in-JS library.

7-minute readContinue Reading
Jeremy Davis

Jeremy Davis

With his Master’s in CS, Jeremy specializes in front-end web apps using JavaScript frameworks and also Java and Node.js back ends.

Intro to Python Image Processing in Computational Photography

Computational photography is about enhancing the photographic process with computation. While we normally tend to think that this applies only to post-processing the end result (similar to photo editing), the possibilities are much richer since computation can be enabled at every step of the photographic process—starting with scene illumination.

In this article, Toptal OpenCV Expert Radu Balaban walks us through two examples of computational photography: low light and high dynamic range.

11-minute readContinue Reading
Radu Balaban

Radu Balaban

Radu is a veteran problem solver, with more than 15 years of industry experience. He is currently focusing on machine learning.

Python Multithreading and Multiprocessing Tutorial

Threading is just one of the many ways concurrent programs can be built. In this article, we will take a look at threading and a couple of other strategies for building concurrent programs in Python, as well as discuss how each is suitable in different scenarios.

15-minute readContinue Reading
Marcus McCurdy

Marcus McCurdy

Marcus is a talented programmer, and excels at back-end development. However, he is comfortable as a full stack developer.

Apache Cordova Tutorial: Developing Mobile Applications with Cordova

Mobile applications are creeping in. Developing for each mobile platform can be an exhaustive task, especially if resources are limited. This is where Apache Cordova comes in handy by providing a way to develop mobile applications using standard web technologies - HTML5, CSS3 and JavaScript. This article explores how one can get started with Apache Cordova and build mobile applications targeted at a wide range of mobile devices.

14-minute readContinue Reading
Filip Petkovski

Filip Petkovski

Filip is a software engineer with expertise in desktop, mobile, and full-stack web development. Currently a staff production engineer at Shopify, he has also held positions at enterprise software companies Personio and Red Hat. While earning a master’s degree in computer science from the University of Zagreb Faculty of Electrical Engineering and Computing, Filip was selected as a Google Summer of Code participant.

How to Build an Effective Initial Deployment Pipeline

Do you run deployment scripts from your development machine, or find yourself referring to deployments by the day of the week they were deployed, instead of using version numbers? It’s time for a better solution.

In this article, Freelance Ruby Engineer and automation enthusiast Amin Shah Gilani walks you through his perfect deployment pipeline to use at the beginning of your project. With this CI/CD configuration, every push is tested, the master branch is deployed to staging servers with a fresh database dump from the production server, and versioned tags are deployed to production with backups and migrations running automatically.

12-minute readContinue Reading
Amin Shah Gilani

Amin Shah Gilani

Amin is a developer and entrepreneur who loves writing clean, test-driven Ruby and ES6 code—crafted for CI/CD.

Risk vs. Reward: A Guide to Understanding Software Containers

Software delivery has come a long way. And, somewhere between the transition from physical media to software containers, we have changed the way we try to manage them.

In this article, Toptal Freelance Software Engineer Johnmicah Potter explores how software containers have motivated us to treat servers as more dispensable, and the risks and rewards involved.

< 5-minute readContinue Reading
Johnmicah Potter

Johnmicah Potter

Johnmicah Potter is a senior platform and DevOps engineer with 18 years of experience building and scaling web applications across frontend, backend, infrastructure, and cloud environments. He specializes in performance engineering, automation, and containerized systems. Johnmicah brings a pragmatic, hands-on perspective to modern software delivery, helping teams balance speed, reliability, and operational risk in DevOps-driven architectures.

Creating Server-side Rendered Vue.js Apps Using Nuxt.js

When using a JavaScript framework, your browser doesn’t receive a complete page to display. Instead it gets a bunch of pieces and instructions of how to put them all together. It takes a substantial amount of time to put all this information together before your browser actually has something to display.

In this article, Toptal Freelance Front-end Engineer Ben Jones introduces us to Nuxt.js, a server-side rendering library for Vue.js, inspired by the popular Next.js for React.js.

21-minute readContinue Reading
Ben Jones

Ben Jones

Ben is a skilled developer focused on user outcomes, with experience in everything from CAD to VBA to web tech to neural networks.

Build a Text Classification Program: An NLP Tutorial

Deep learning has proven its power across many domains, from beating humans at complex board games to synthesizing music. It has also been used extensively in natural language processing.

In this article, Toptal Freelance Software Engineer Shanglun (Sean) Wang shows how easy it is to build a text classification program using different techniques and how well they perform against each other.

7-minute readContinue Reading
Shanglun Wang

Shanglun Wang

Sean is a passionate polyglot: A full-stack wizard, sys admin, and data scientist. He’s also developed market intelligence software.

Rails Service Objects: A Comprehensive Guide

Rails ships with everything you need to prototype your application quickly, but when your codebase starts growing, you’ll run into scenarios where the conventional Fat Model, Skinny Controller mantra breaks. When your business logic can’t fit in either a model or a controller, that’s when service objects come in and let us separate every business action into its own Ruby object.

11-minute readContinue Reading
Amin Shah Gilani

Amin Shah Gilani

Amin is a developer and entrepreneur who loves writing clean, test-driven Ruby and ES6 code—crafted for CI/CD.

Microservice Communication: A Spring Integration Tutorial With Redis

Spring Integration enables lightweight messaging within Spring-based applications. In this article, Toptal Java Developer Adnan Kukuljac shows how Spring Integration with Redis makes it easy to build a microservice architecture.

9-minute readContinue Reading
Adnan Kukuljac

Adnan Kukuljac

Adnan is a software engineer who specializes in graphics, robotics, and back ends, building high-performance solutions in C++, JavaScript, and several other programming languages. Recently, he worked on a project for a major e-commerce company that focused on improving design and performance issues, and which resulted in a 30% reduction in server costs for his employer.

4 Go Language Criticisms

Go is quickly becoming one of the most popular languages: It currently ranks 19 in the TIOBE programming community index, and powers popular software like Kubernetes, Docker, and Heroku CLI. However, for all its simplicity, Go may still be missing some things.

In this article, Toptal Freelance Go Developer Sergei Peshkov shares his concerns about why Go is still far from perfect and how we can make it better.

9-minute readContinue Reading
Sergei Peshkov

Sergei Peshkov

Sergei has worked for more than three years as a back-end developer of web applications specializing in Node.js with MondoDB/PostgreSQL.

One-click Login With Blockchain: A MetaMask Tutorial

Online users are becoming increasingly resistant to traditional email/password registration processes. One-click social logins via Facebook, Google, or GitHub are better, but they come with data privacy trade-offs.

This article introduces a one-click, cryptographically-secure login flow using MetaMask, with all data stored on the app’s own back-end.

13-minute readContinue Reading
Amaury M

Amaury M

Amaury’s MSc/MEng degrees inform his full-stack work in web and mobile (Node.js, React, React Native) as well as blockchain app development.

Machine Learning Video Analysis: Identifying Fish

Machine learning, combined with some standard image processing techniques, can result in powerful video analysis tools.

In this article, Toptal Freelance Software Engineer Michael Karchevsky walks through a solution for a machine learning competition that identifies the species and lengths of any fish present in a given video segment.

5-minute readContinue Reading
Michael Karchevsky

Michael Karchevsky

Michael is an experienced Python, OpenCV, and C++ developer. He’s particularly interested in machine learning and computer vision.

Toptal Engineering Expert

Gabriel is a highly efficient and reliable professional who possesses a broad skill set for web application development. He's been working on a range of products and clients—from working on scalability problems in production engineering teams at Shopify and Autodesk to launching new applications for startups. Most of his work consists of leading technical teams, by creating an easy development environment, fixing technical debts, providing best practices code examples, and mentoring devs.
Read more

Previously At

Shopify

Most-read Articles

Marcos Henrique da Silva

Creating a Secure REST API in Node.js

By Marcos Henrique da Silva
13-minute readContinue Reading

World-class articles, delivered weekly.

By entering your email, you are agreeing to our privacy policy.

Join the Toptal® community.