Toptal Engineering Expert
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.
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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

An Angular 5 Tutorial: Step by Step Guide to Your First Angular 5 App
World-class articles, delivered weekly.
Toptal Developers
- Android Developers
- App Developers
- AWS Developers
- Azure Developers
- BigCommerce Developers
- Blockchain Developers
- Coders
- Database Developers
- Embedded Software Engineers
- Flutter Developers
- HTML5 Developers
- Java Developers
- Joomla Developers
- Kubernetes Developers
- Laravel Developers
- Magento Developers
- .NET Developers
- Next.js Developers
- Odoo Developers
- Outsourced Developers
- PHP Developers
- Power BI Developers
- Prototype Developers
- Python Developers
- React Developers
- React Native Developers
- Remote Developers
- Ruby on Rails Developers
- Salesforce Developers
- Security Engineers
- SharePoint Developers
- Shopify Developers
- Software Developers
- Squarespace Developers
- Startup Developers
- Svelte Developers
- Twilio Developers
- Vue.js Developers
- Web Developers
- Web Scraping Developers
- WooCommerce Developers
- WordPress Developers
- View More Freelance Developers
Join the Toptal® community.





















