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

Genetic Algorithms: Search and Optimization by Natural Selection

Many problems have optimal algorithms developed for them, while many others require us to randomly guess until we get a good answer. Even an optimal solution becomes slow and complex at a certain scale, at which point we can turn to natural processes to see how they reach acceptable results.

In this article, Toptal Freelance Software Engineer Eugene Ossipov walks us through the basics of creating a Genetic Algorithm and gives us the knowledge to delve deeper into solving any problems using this approach.

9-minute readContinue Reading
Eugene Ossipov

Eugene Ossipov

Eugene (MCS) has spent over two decades as an architect and developer, including for the Bank of Montreal, TD Bank, and RBC.

How to Build CSS-only Smart Layouts With Flexbox

Although CSS was meant to deal with styling, creating extraordinary layouts on the web has always been a unique challenge and almost always required the developer to resort to JavaScript. However, Flexbox is here to change that.

In this article, Toptal Freelance Software Engineer Diego Díaz walks us through the basics of Flexbox and some cool examples of how Flexbox can be used to build smart CSS-only layouts.

13-minute readContinue Reading
Diego Díaz

Diego Díaz

Diego is an experienced web developer with a passion for UI and UX. He strives to create fluid layouts for any device and architecture.

World-class articles, delivered weekly.

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

Top 10 Most Common Spring Framework Mistakes

Java’s open source Spring framework is a popular tool for creating high performing applications using plain old Java objects, but as with any tool, inappropriate use can lead to trouble. In this article, we cover the most common pitfalls of using the Spring framework so new and experienced developers alike have a roadmap of what to avoid.

13-minute readContinue Reading
Toni Kukurin

Toni Kukurin

Toni enjoys architecting software solutions and applying his engineering skills to solve interesting real-world problems.

Write Fat-free Java Code with Project Lombok

Java has some idiosyncrasies of its own and design choices that can make it rather verbose. While Java is a mature and performant programming language, developers frequently need to write boilerplate code that bring little or no real value other than complying with some set of constraints and conventions.

In this article, Toptal Freelance Software Engineer Miguel García López shows how Project Lombok can help dramatically reduce the amount of boilerplate code that needs to be written in a Java application.

13-minute readContinue Reading
Miguel García López

Miguel García López

Miguel is a passionate software engineer with experience in embedded systems, back-end services, and modern web and mobile applications.

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.

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.

Symfony vs. Laravel: Choosing the Right PHP Framework

The best PHP framework is rarely determined by technology alone. Compare Laravel and Symfony through the lens of architecture, scalability, team dynamics, and long-term business needs.

23-minute readContinue Reading
Radoslav Paľa

Radoslav Paľa

Radoslav is a full-stack developer specializing in Symfony and Laravel. He has helped startups and enterprise organizations, including Orange and Century 21, develop scalable web, mobile, and SaaS platforms. His work spans application architecture and cloud infrastructure, with an emphasis on clean, maintainable solutions that translate complex business requirements into scalable software.

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.

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.