Toptal Engineering Blog

The Toptal Engineering Blog is a hub for in-depth development tutorials and new technology announcements created by professional freelance software engineers in the Toptal network.
Subscribe for daily updates today and check out the wealth of technical resources published by the Toptal network.
Nicolás J. Engler
Make Your CSS Dynamic with CSS Custom Properties

If there is something every front-end developer wants, it is proper support for variables in CSS. For years, to work around this missing feature, developers have resorted to CSS preprocessors. However, all that changes with the introduction of CSS custom properties.

In this article, Toptal Freelance Software Engineer Nicolás J. Engler walks us through CSS custom properties and shows us how they can be used to make better, more dynamic stylesheets.

Continue reading →
Mehmet Bajin
How to Internationalize Your AngularJS App

Internationalizing modern apps, where the front-end and the back-end are distinctly separate from one another, can be a little tricky. AngularJS, with the help of a few tools, makes internationalizing your app a breeze.

In this article, Toptal Freelance Software Engineer Mehmet Bajin gives us a step-by-step tutorial to internationalizing and localizing AngularJS apps.

Continue reading →
Ajinkya Deshmukh
The Salesforce Release Train: A Practical Approach to Release Management

Deploying new features with Salesforce can be problematic in more ways than one. It is crucial to have a sound strategy governing the publication of new releases, without running the risk of breaking your product.

In this post, Toptal Software Engineer Ajinkya Deshmukh will provide you with all relevant information and key tips that will allow you to manage your next Salesforce release smoothly.

Continue reading →
Shanglun Wang
How to Build a Natural Language Processing App

Natural language is increasingly becoming a viable way of interacting with smart software. Google search, Apple’s Siri, Microsoft’s Cortana, etc. are all capable of understanding queries in natural language.

In this article, Toptal Freelance Software Engineer Shanglun (Sean) Wang walks us through some useful concepts and techniques in natural language processing and shows how they can be used to build a simple NLP app.

Continue reading →
Eugene Ossipov
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.

Continue reading →
Diego Díaz
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.

Continue reading →
Toni Kukurin
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.

Continue reading →
Miguel García López
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.

Continue reading →
Eliran Goshen
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.

Continue reading →
Ivan Pavlov
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’ll cover multiple mock interfaces, listening invocations, matchers, and argument captors, and see firsthand how Mockito makes your tests cleaner and easier to understand.

Continue reading →
Sylvain Gravel
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.

Continue reading →
Christopher Arriola
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.

Continue reading →
Karim Sakhibgareev
PHP Frameworks: Choosing Between Symfony and 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.

Continue reading →
Paul Young
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.

Continue reading →
Joshua Hayden
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.

Continue reading →
Brian Coords
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.

Continue reading →
Subscribe
The #1 Blog for Engineers
Get the latest content first.
No spam. Just great engineering posts.
The #1 Blog for Engineers
Get the latest content first.
Thank you for subscribing!
Check your inbox to confirm subscription. You'll start receiving posts after you confirm.