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

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.

World-class articles, delivered weekly.

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

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.

How to be Efficient in PhpStorm: An IDE That Really Matters

It’s every developer’s dream to be more efficient. In this article, you’ll learn how one engineer saved himself from typing more than 20,000 characters over six months and prevented 1,000 bugs in the process.

16-minute readContinue Reading
Alexey Filatov

Alexey Filatov

Alexey is a certified PHP/MySQL developer with extensive knowledge of OOP and design patterns as well as frameworks like Zend and Symfony.

Ionic 2 vs. Ionic 1: Performance Gains, New Tools, and a Big Step Forward

The Ionic project is rapidly gaining in popularity and is one of the most popular open source projects worldwide. With the recent announcement of the stable version of Ionic 2, this is the perfect time to underscore the Ionic 2 and its predecessor.

In this post, Toptal software engineer Julien Renaux outlines the major changes Ionic 2 brought to the platform and explains how to put these new features to good use.

9-minute readContinue Reading
Julien Renaux

Julien Renaux

Scrum Master Julien (MCS) is a front-end mobile dev who’s worked for startups and enterprises like eBay, and even the French space agency.

The Best Way to Learn C++ and C Programming

C is often called a middle-level computer language since it combines the elements of high-level languages with the functionalism of assembly language. C++ is an enhanced version of the C language, which adds support for object-oriented programming.

8-minute readContinue Reading
The Toptal Research Team

The Toptal Research Team

The Toptal Research Team includes some of our most experienced professionals.

A Guide to npm: The Node.js Package Manager

In this article, Toptal Software Engineer Martin Gouws explains advanced features of the Node Package Manager that should be in every JavaScript developer’s knowledge base.

13-minute readContinue Reading
Martin Gouws

Martin Gouws

Martin is a young and talented JavaScript developer and software engineer who has his roots in enterprise Java.

Swift Tutorial: An Introduction to the MVVM Design Pattern

On every new project, you have the privilege of deciding how you’ll architect the app and organize the code. But if you don’t pay attention, or you rush through coding, you risk ending up with spaghetti code. The solution? Use a proper design pattern.

In this tutorial, Toptal Software Engineer Dino Bartošak explains how to implement an MVVM design pattern on a demo Swift application.

20-minute readContinue Reading
Dino Bartošak

Dino Bartošak

Dino is a software engineer specializing in iOS programming clean code and clean architecture, building iOS apps from scratch and custom UI.

A Beginner’s Guide to Managing Software Development With Kanban and Trello

While the success of your project depends on many factors, one of the most common reasons projects fail is a lack of management or downright bad project management.

In this post, Lead Engineering Editor Demir Selmanovic teaches you the basics of Agile project management using Kanban and Trello.

10-minute readContinue Reading
Demir Selmanovic

Demir Selmanovic

Demir is a developer and project manager with over 15 years of professional experience in a wide range of software development roles.

Time Management Secrets of an Efficient Engineer

Freelancers work flexible hours, but this convenience comes at a price: They have to manage their time better than on-site professionals. However, it also means they’re free to optimize their routine and achieve exceptional efficiency.

In this post, software engineer Dmitry Ryazantsev will guide you through the ins and outs of personal time management, leaving little to chance. What good are great rates if you waste hours each week?

13-minute readContinue Reading
Dmitry Ryazantsev

Dmitry Ryazantsev

Dmitry’s Android dev experience includes work on the Yandex browser (10M+ installs) and creating his own game, which has 250,000 installs.

Meet Phoenix: A Rails-like Framework for Modern Web Apps on Elixir

In back-end software development, increased productivity often comes at the cost of performance. In this article, Toptal Software Engineer Eduardo Bautista shows us how the Phoenix framework builds on the familiar concepts from the Rails world, and makes it even easier to build robust concurrent applications without compromising performance.

9-minute readContinue Reading
Eduardo Bautista

Eduardo Bautista

Eduardo worked for several successful startups, and has extensive experience with international clients, including enterprise clients.

Immutability in JavaScript Using Redux

In an ever growing ecosystem of rich and complicated JavaScript applications, there’s more state to be managed than ever before: the current user, the list of posts loaded, etc.Managing state can be hard and error prone, but immutability and Redux- a predictable state container for JavaScript apps- can help significantly.

In this article, Toptal Programmer David Xu talks about managing state using immutability with Redux, a predictable state container.

11-minute readContinue Reading
David Xu

David Xu

David has taken several mobile apps from an idea to millions of users worldwide as the Chief Architect of Castle Global, Inc.

A Guide to Managing Webpack Dependencies

The Webpack module bundler processes JavaScript code and all static assets, such as stylesheets, images, and fonts. However, configuring Webpack and its dependencies can be cumbersome and not always a straightforward process, especially for beginners.

In this article, Toptal Software Engineer Andrej Gajdos provides a guide with examples on how to configure Webpack for different scenarios and points out the most common pitfalls connected to project dependencies and their bundling when using Webpack.

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

How to Build a Multilingual App: A Demo With PHP and Gettext

Making your website or web app available to a wider audience often requires it to be available in multiple languages. For non-English projects, you can increase your audience by releasing it in English as well as your native language. Internationalizing and localizing your project, however, becomes a much easier process if you start during its infancy.

In this article, Toptal Software Engineer Igor Gomes dos Santos shows us how to leverage simple tools, like Gettext and Poedit, to internationalize and localize a PHP project.

16-minute readContinue Reading
Igor Santos

Igor Santos

With a big eye on UI/UX, Igor is a developer with strong PHP background (10+ years), moving into JS-land for more interactive experiences.

Realm Is the Best Android Database Solution

Since the inception of the platform, Android developers have had pretty much only one option for a database: SQLite. Although feature-rich and powerful, it wasn’t quite what Android app developers needed. Realm, a modern, efficient database solution for mobile platforms, turned out to be an amazing replacement for SQLite on Android.

In this article, Toptal Software Engineer Mateus Gondim Romão Batista explains why you should use Realm for your next Android application.

11-minute readContinue Reading
Mateus Gondim Romão Batista

Mateus Gondim Romão Batista

With nearly a decade of Java experience, Mateus (BCompSc) has done web projects using Python, Django, and JS, lately focusing on Android.

PostCSS: Sass’s New Play Date

PostCSS is the hot new tool that’s making the rounds on the front-end side of web development. It has been quickly and widely adopted, and possibly will have a significant impact on how we base our present-day CSS.

In this article, Toptal Software Engineer Nicolás J. Engler introduces us and guides us on how to start using this tool, expand it with plugins, or integrate with other CSS processors, task runners, or bundlers.

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

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.