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

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.

Android Threading: All You Need to Know

Android provides many ways of creating and managing threads, and third-party libraries exist to make that even easier. However, with so many options, choosing the right approach can be quite confusing.

In this article, Toptal Freelance Software Engineer Eliran Goshen discusses some common scenarios in Android development that involve threading and how each of the scenarios can be dealt with.

15-minute readContinue Reading
Eliran Goshen

Eliran Goshen

With a solid BSc in computer science, Eliran has built numerous professional Android apps in Java and Android/iOS apps with React Native.

A Unit Testing Practitioner’s Guide to Everyday Mockito

Using Mockito is not just a matter of adding another dependency. It requires changing how you think about your unit tests while removing a lot of boilerplate. In this article, we cover multiple mock interfaces, listening invocations, matchers, and argument captors, and see firsthand how Mockito makes your tests cleaner and easier to understand.

22-minute readContinue Reading
Ivan Pavlov

Ivan Pavlov

Ivan has both back-end and front-end development experience. He has built software for banks, medical organizations, and city administration.

World-class articles, delivered weekly.

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

Xamarin Forms, MVVMCross, and SkiaSharp: The Holy Trinity of Cross-Platform App Development

Developing a mobile app for multiple platforms can be quite costly. Implementing the same functionalities in multiple programming languages and dealing with a plethora of unique libraries for each platform requires a massive amount of time and knowledge.

In this article, Toptal Freelance Software Engineer Sylvain Gravel talks about Xamarin and its companion technologies that let you build mobile applications for multiple platforms without compromising familiarity, performance, and uniqueness.

9-minute readContinue Reading
Sylvain Gravel

Sylvain Gravel

As a cross-platform C# specialist, he has worked on mobile and desktop apps from the start in the entertainment, health and sport industry.

How to Simplify Concurrency with Reactive Modelling on Android

Dealing with concurrency in Android through imperative-style programming can be quite the hassle. RxJava, a library for reactive and functional style programming, allows concurrency constructs to be modeled in a reactive way in Android’s non-reactive world.

In this article, Toptal Freelance Software Engineer Christopher Arriola shows us how RxJava can be incrementally introduced to existing Android projects and leveraged to simplify concurrency.

10-minute readContinue Reading
Christopher Arriola

Christopher Arriola

Christopher is a mobile engineer with 7+ years of experience creating native Android and iOS applications.

PHP Frameworks: Symfony vs. Laravel

Many popular languages for web development have their ‘default’ framework, such as Ruby on Rails for Ruby, or Django for Python. However, PHP has no such single default and has multiple popular options to choose from.

In this article, Toptal Freelance Developer Karim Sakhibgareev compares the two most popular PHP frameworks, Symfony and Laravel, explores their features, and establishes guidelines for how PHP developers should choose between them.

17-minute readContinue Reading
Karim Sakhibgareev

Karim Sakhibgareev

Having worked with Laravel for Media.net and with Symfony for Into Film, Karim is acquainted with the pros and cons of both frameworks.

A Guide to CloudKit: How to Sync User Data Across iOS Devices

Modern mobile application development requires a well thought-out plan for keeping user data in sync across various devices. This is a thorny problem with many gotchas and pitfalls, but users expect the feature and expect it to work well. For iOS and macOS, Apple provides a robust toolkit, called CloudKit API, which allows developers targeting Apple platforms to solve this synchronization problem.

In this article, Toptal Software Engineer Paul Young demonstrate how to use CloudKit to keep a user’s data in sync between multiple clients.

21-minute readContinue Reading
Paul Young

Paul Young

Paul’s been a developer for nearly three decades, working with many tech stacks but with a focus on Apple. He loves solving hard problems.

A Guide to Robust Unit and Integration Tests With JUnit

Automated software tests are critically important to the long-term quality, maintainability, and extensibility of software projects, and for Java, JUnit is the path to automation.

While most of this article will focus on writing robust unit tests and utilizing stubbing, mocking, and dependency injection, Toptal Software Engineer Josh Hayden will also discuss JUnit and integration tests.

19-minute readContinue Reading
Joshua Hayden

Joshua Hayden

A results-driven software engineer, Josh focuses on implementing high-quality code. He is routinely involved in all phases of development.

WordPress REST API: The Next-generation CMS Feature

For a while, WordPress seemed to had fallen behind. As the web became more reliant on JavaScript to create immersive, interactive experiences, it became increasingly clear that WordPress needed to offer new ways for users and developers to interact with its content.

In this post, Toptal Freelance Developer Brian Coords explores the amazing new features of WordPress’s REST API, showing why WordPress is still on the cutting edge of web development.

12-minute readContinue Reading
Brian Coords

Brian Coords

Brian loves solving problems with WordPress. In his previous career, he was a high school and college English teacher.

Unlimited Scale and Free Web Hosting with GitHub Pages and Cloudflare

Whether you’re a bootstrapped startup that needs a brochureware website or a corporation that needs a high-performing web app, this post is for you. In it, Toptal Software Engineer Amin Shah Gilani teaches you how to setup a static, SSL-secure website for the very low cost of free, using Github Pages and Cloudflare.

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.

The Advanced Git Guide: Git Stash, Reset, Rebase, and More

Could you be using Git more efficiently?

The answer is probably a resounding “Yes,” which is why Toptal Software Engineer Ursula Clarke wrote today’s post.

In it, she teaches you how to use git stash, git reset, git bisect, git squash, and git rebase for maximum productivity.

19-minute readContinue Reading
Ursula Clarke

Ursula Clarke

Ursula has over five years of experience in software development and specializes in front-end development, especially intricate UI.

How to Integrate OAuth 2 Into Your Django/DRF Back-end Without Going Insane

So you’ve implemented user authentication. Now, you want to allow your users to log in with Twitter, Facebook, or Google. No problem. You’re only a few lines of code away from doing so.

But while there are hundreds of OAuth 2 packages that pip knows, only a few actually do what they’re supposed to do.

In this article, Toptal Software Engineer Peter Goodspeed-Niklaus explains how to integrate OAuth 2 into your Django or Django Rest Framework using Python Social Auth.

11-minute readContinue Reading
Peter Goodspeed-Niklaus

Peter Goodspeed-Niklaus

Peter, BSc (with distinction), is a professional Python/Django developer who has also written an exotic processor emulator in Rust.

How to Write Automated Tests for iOS

In this tutorial, you will learn how automated testing works for the iOS platform and how to implement it in your project.

22-minute readContinue Reading
Josip Petrić

Josip Petrić

Josip has developed a keen sense for building scalable, maintainable, and user-friendly applications. His platform of choice is iOS.

How to be Efficient in PhpStorm: An IDE that Really Matters

It’s every developer’s dream to be more efficient. In this article, you’ll learn how one engineer saved himself from typing more than 20,000 characters over six months and prevented 1,000 bugs in the process.

16-minute readContinue Reading
Alexey Filatov

Alexey Filatov

Alexey is a certified PHP/MySQL developer with extensive knowledge of OOP and design patterns as well as frameworks like Zend and Symfony.

Ionic 2 vs. Ionic 1: Performance Gains, New Tools, and a Big Step Forward

The Ionic project is rapidly gaining in popularity and is one of the most popular open source projects worldwide. With the recent announcement of the stable version of Ionic 2, this is the perfect time to underscore the Ionic 2 and its predecessor.

In this post, Toptal software engineer Julien Renaux outlines the major changes Ionic 2 brought to the platform and explains how to put these new features to good use.

9-minute readContinue Reading
Julien Renaux

Julien Renaux

Scrum Master Julien (MCS) is a front-end mobile dev who’s worked for startups and enterprises like eBay, and even the French space agency.

The Best Way to Learn C++ and C Programming

C is often called a middle-level computer language since it combines the elements of high-level languages with the functionalism of assembly language. C++ is an enhanced version of the C language, which adds support for object-oriented programming.

8-minute readContinue Reading
The Toptal Research Team

The Toptal Research Team

The Toptal Research Team includes some of our most experienced professionals.

A Guide to npm: The Node.js Package Manager

In this article, Toptal Software Engineer Martin Gouws explains advanced features of the Node Package Manager that should be in every JavaScript developer’s knowledge base.

13-minute readContinue Reading
Martin Gouws

Martin Gouws

Martin is a young and talented JavaScript developer and software engineer who has his roots in enterprise Java.

Toptal Engineering Expert

Gabriel Courtemanche

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.