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

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.

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.

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.

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.

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.

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.

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?

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.

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.

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.

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.

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.

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.

Nicolás J. Engler
Nicolás is a product designer with a proven background creating and developing both physical and digital experiences.
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.





















