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.

Building Cross-platform Apps with Xamarin: Perspective of an Android Developer

Writing reusable code that can be shared across multiple platforms can make developing mobile applications a lot easier. But, how do you do that without paying the usual cost of maintainability, ease of testing, and poor user experience that comes with cross-platform mobile application development?

In this article, Toptal Freelance Software Engineer Emran Bajrami walks us through Xamarin and shows us techniques for building high-quality cross-platform apps.

13-minute readContinue Reading
Emran Bajrami

Emran Bajrami

Emran is a results-driven, articulate, and analytical Android and Java engineer who can think outside the box.

SQL Server 2016 Always Encrypted: Easy to Implement, Tough to Crack

Security has always been a primary concern for database experts, and with the advent of new, decentralized services, it’s become even more crucial. Microsoft addressed the need for an added level of security in SQL with the introduction of Always Encrypted functionality in SQL Server 2016.

In this blog post, Toptal Freelance Software Engineer Josip Saban explains how Microsoft’s Always Encrypted concept works, how it’s implemented, and why developers can’t afford to ignore it.

11-minute readContinue Reading
Josip Šaban

Josip Šaban

With two Master’s degrees and having worked for the largest Slovenian enterprises, Josip is a veteran of Microsoft business/database tech.

World-class articles, delivered weekly.

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

A Guide to Consistent Hashing

Consistent Hashing is a distributed hashing scheme that operates independently of the number of servers or objects in a distributed hash table. It powers many high-traffic dynamic websites and web applications.

In this tutorial, Toptal Freelance Software Engineer Juan Pablo Carzolio will walk us through what it is and how hashing, distributed hashing and consistent hashing work.

28-minute readContinue Reading
Juan Pablo Carzolio

Juan Pablo Carzolio

Juan is a versatile full-stack engineer with 10+ years of experience and a computer science degree. He is proficient in several languages.

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.

7-minute readContinue Reading
Nicolás J. Engler

Nicolás J. Engler

Nicolás is a product designer with a proven background creating and developing both physical and digital experiences.

A Guide to Security Best Practices for Remote Teams

Learn how, with the right remote worker security policy, distributed teams can be just as secure as in-house teams.

Toptal Freelance Software Engineer and full-time remote worker Amin Shah Gilani walks us through common security attack methods, cyber defense strategies, and, finally, an example of a good remote worker security policy.

20-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.

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.

11-minute readContinue Reading
Mehmet Bajin

Mehmet Bajin

With experience at Google, Exxon, and a Master’s in CS, Mehmet’s deep expertise serves him well as a full-stack javascript developer.

Top 10 Mistakes That Django Developers Make

In this tutorial, we will look at some common mistakes that are often made by Django developers and ways to avoid them. This tutorial is useful even if you’re a skilled Django developer because these mistakes aren’t just limited to new developers taking their first stab at Django.

12-minute readContinue Reading
Alexandr Shurigin

Alexandr Shurigin

Alexandr loves to create and build expert applications from scratch. He excels at solving problems using Python, PHP, and JavaScript.

PhalconPHP: A Solution for High-load RESTful APIs

PhalconPHP will make your high-load application fast and easy, it’s one of the fastest MVC frameworks for PHP available. It’s written in C and supplied as a compiled PHP extension, so it doesn’t need to be interpreted at every request. Consider PhalconPHP for your next project, you won’t regret it.

20-minute readContinue Reading
Andrew Belousoff

Andrew Belousoff

Andrew (MCS) has done both desktop and full-stack development since 2010, focusing on PHP, JS, CSS, and C++, plus databases and CMSes.

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.

10-minute readContinue Reading
Ajinkya Deshmukh

Ajinkya Deshmukh

Ajinkya is a senior Salesforce developer and architect. He is skilled at advanced Apex programming, Visualforce, and Lightning development.

Magento 2 Tutorial: How to Build a Complete Module

Magento built a reputation as an e-commerce market leader, all thanks to its ease of use and customizability. Getting into the framework was only made easier with the release of Magento 2.

In this post, Toptal Software Engineer Gabriel Queiroz Silva gives us a step-by-step tutorial to building your first Magento 2 website.

28-minute readContinue Reading
Gabriel Queiroz Silva

Gabriel Queiroz Silva

Gabriel is a certified Magento developer who writes clean code and follows best practices, and he is also an experienced PHP developer.

Maintain Slim PHP MVC Frameworks with a Layered Structure

Fat controllers and models: an inevitable problem for most large-scale projects based on MVC frameworks such as Yii and Laravel. Fortunately, there’s a cure, and it’s in architecting a layered structure.

9-minute readContinue Reading
Elvira Sheina

Elvira Sheina

Elvira is a senior software engineer with nearly 15 years of experience in full-stack web development and automation.

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.

10-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.

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.

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.

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.