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

Creating Truly Modular Code With No Dependencies

Complex, tightly-coupled, and fragile interdependent code. We’ve all written it. The kind of code where fixing one bug creates seven more. Have you ever wondered how to create independent modular code?

In this article, Toptal Freelance Software Engineer Konrad Gadzinowski walks us through the different types of architectural paradigms you can adhere to and how to write modular and decoupled code where changes to one module have minimal impact on the overall application.

11-minute readContinue Reading
Konrad Gadzinowski

Konrad Gadzinowski

Konrad specializes in creating modular, full-stack web applications that are easy to extend. His main expertise is Java and JavaScript.

Software Entropy Explained: Causes, Effects, and Remedies

In this article, Toptal Freelance Developer Adam Wasserman explains what software entropy is, what causes it and how it manifests itself, and what can be done to prevent it or mitigate its effects.

16-minute readContinue Reading
Adam Wasserman

Adam Wasserman

Adam is particularly interested in multi-threaded programming and distributing computing and considers himself an excellent communicator.

World-class articles, delivered weekly.

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

Angular 4 Forms: Validation and Nesting

Validating user inputs is an essential part of any robust web application. Angular 4 makes it especially easy for both template-driven and reactive forms.

In this article, Toptal Freelance Angular Developer Igor Geshoski walks us through the different approaches in Angular 4 form validation and shows how even complex form validation can be done easily.

29-minute readContinue Reading
Igor Geshoski

Igor Geshoski

Igor has been honing his algorithms and problem solving skills on large-scale Java based enterprise applications for about five years.

How to Choose the Best Front-end Framework

No single front-end framework will fit every web project. Compare React, Vue.js, Angular, and Ember.js so you can choose the best one for your needs.

11-minute readContinue Reading
Giorgi Bakradze

Giorgi Bakradze

Giorgi is a full-stack developer with deep expertise in JavaScript. He has diverse project experience, including creating multilanguage UIs, multiplatform apps, CI/CD pipelines, video tutorial REST APIs, and large-scale SPAs for e-commerce sites.

Implementing Serverless Node.js Functions Using Google Cloud

Serverless computing is an architecture style in which the code is executed in a cloud platform where we don’t need to worry about the hardware and software setup, security, performance, and CPU idle time costs. It’s an advancement of cloud computing that goes beyond infrastructure that abstracts the software environment as well. It means no configuration is required to run the code.

6-minute readContinue Reading
Vignes Aruljothi

Vignes Aruljothi

Vignes specializes in web technologies and has many years of experience in building scalable applications using JavaScript and Node.js.

Common Mistakes in Client Communication: How to Not Frustrate Your Client

This article will help you identify and address various communication issues that can plague off-site professionals. Whether you’re a full-stack developer, a UI designer, or a content creator, these easy to memorize tips will help you hone your communication skills.

11-minute readContinue Reading
Andreza Cristina da Silva

Andreza Cristina da Silva

Andreza, a former fellow at CERN, has worked at different stages & on different types of software projects. Lately, she focuses on iOS apps.

Conquer String Search with the Aho-Corasick Algorithm

The Aho-Corasick algorithm can be used to efficiently search for multiple patterns in a large blob of text, making it a really useful algorithm in data science and many other areas.

In this article, Toptal Freelance Software Engineer Roman Vashchegin shows how the Aho-Corasick algorithm uses a trie data structure to efficiently match a dictionary of words against any text.

18-minute readContinue Reading
Roman Vashchegin

Roman Vashchegin

Roman is a SharePoint and .NET developer with a proven ability to develop efficient, scalable, and stable solutions for complex problems.

Web Accessibility: Why W3C Standards Are Often Ignored

The goal of this article is to introduce you to the underlying principles of accessibility and help you flawlessly implement web accessibility guidelines and standards on your next project. Even minor improvements can help your content rank better, reach more people, and improve the overall user experience.

13-minute readContinue Reading
Cezary Tomczyk

Cezary Tomczyk

Cezary’s two decades as a software engineer and project manager have seen him working at Apple, Microsoft, Nokia, and Oracle, among others.

Maximum Flow and the Linear Assignment Problem

The Hungarian graph algorithm solves the linear assignment problem in polynomial time. By modeling resources (e.g., contractors and available contracts) as a graph, the Hungarian algorithm can be used to efficiently determine an optimum way of allocating resources.

39-minute readContinue Reading
Dmitri Ivanovich Arkhipov

Dmitri Ivanovich Arkhipov

Dmitri has a PhD in computer science from UC Irvine and works primarily in UNIX/Linux ecosystems. He specializes in Python and Java.

Getting Started With the SRVB Cryptosystem

This article will give you an introduction to the principles behind public-key cryptosystems and introduce you to the Santana Rocha-Villas Boas (SRVB) cryptosystem, developed by the author of the article and prof. Daniel Santana Rocha. The algorithm authors are making a campaign that includes a financial reward to anyone who manages to crack the code.

27-minute readContinue Reading
Yuri da Silva Villas Boas

Yuri da Silva Villas Boas

Yuri has experience in C++ and a good background in mathematics, statistics, and physics. He developed the SRVB cryptosystems.

Guide to Spring Boot REST API Error Handling

Spring Boot provides beneficial error messages to engineers building REST APIs. Yet, those messages are useless for the general API consumer. We provide a simple approach to improving this functionality.

8-minute readContinue Reading
Bruno Leite

Bruno Leite

Bruno is a full-stack application architect and developer with more than 10 years of experience and a solid problem-solving track record.

Orchestrating a Background Job Workflow in Celery for Python

In this article, I will try to give you a good understanding of which scenarios could be covered by Celery. Not only will you see interesting examples, but will also learn how to apply Celery with real world tasks such as background mailing, report generation, logging and error reporting. I will share my own way of testing tasks beyond emulation and explain a few tricks that go beyond the official documentation and took me hours of research to discover myself.

15-minute readContinue Reading
Rustem Kamun

Rustem Kamun

Rustem is a back-end dev with expertise in Python and Java stacks. He’s even implemented a scalable M2M cloud platform for vehicle data.

iOS Centralized and Decoupled Networking: AFNetworking Tutorial with a Singleton Class

The Model-View-Controller (MVC) design pattern is great for the longevity and maintainability of an iOS application’s codebase… but you may find yourself adding similar functions to multiple models as your app grows. In cases such as networking, moving common logic out of your model classes and into singleton helper classes can be a better approach. In this article, I’ll teach you how to set up a centralized singleton networking object that, decoupled from micro-level MVC components, can be reused throughout your application.

11-minute readContinue Reading
James Cahall

James Cahall

James is a veteran, result-driven engineer with 7+ years of C-level experience. He is lead developer of a service with 8 million users.

iOS ARKit Tutorial: Drawing in the Air with Bare Fingers

With augmented reality on the rise, more and more libraries and tools are developed to tap into that market. Apple recently released ARKit, which shows great promise through power and simplicity of use.

13-minute readContinue Reading
Osama AbdelKarim AboulHassan

Osama AbdelKarim AboulHassan

Osama has 8+ years of experience developing iOS/Mac apps, and leading technical teams. He also co-founded a startup with 10m users worldwide

A How-to Guide to SVG Animation

The advantages of SVG on the web go beyond producing resolution-independent graphics. With a little CSS and JavaScript, you can apply cool animations and effects to your front end without requiring the user to install bulky plugins.

7-minute readContinue Reading
Juan Calou

Juan Calou

Juan is a systems engineer since 2005. He is an eager learner, a versatile developer, and has great attention to detail.

Guide to Data Synchronization in Microsoft SQL Server

Sharing related information among isolated systems has become increasingly important. There are many methods to choose from to perform that task for SQL Server, but it’s important to know which is better for each use case.

11-minute readContinue Reading
Andrej Gajdos

Andrej Gajdos

With a Master’s degree in Service Science, Management, and Engineering, Andrej works on projects of all sizes for clients around the world.

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.