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

Android 7.0 for Developers: New Features, Performance Upgrades & Other Stuff You Won’t Care About

Google formally announced Android 7.0 a few weeks ago, but as usual, you’ll have to wait for it. Thanks to the Android update model, most users won’t get their Android 7.0 over-the-air (OTA) updates for months. However, this does not mean developers can afford to ignore Android Nougat.

In this article, Toptal Technical Editor Nermin Hajdarbegovic takes a closer look at Android 7.0, outlining new features and changes. While Android 7.0 is by no means revolutionary, the introduction of a new graphics API, a new JIT compiler, and a range of UI and performance tweaks will undoubtedly unlock more potential and generate a few new possibilities.

11-minute readContinue Reading
Nermin Hajdarbegovic

Nermin Hajdarbegovic

As a veteran tech writer, Nermin helped create online publications covering everything from the semiconductor industry to cryptocurrency.

The 10 Most Common Mistakes iOS Developers Don't Know They’re Making

Apple’s iOS is the second-largest mobile operating system in the world. It also has a very high adoption rate, with more than 85 percent of users on the latest version. These highly engaged users have high expectations: If your app has bugs, you’ll hear about it. And once the one-star reviews start rolling in, it’s hard to recover.

In this article, Toptal Software Engineer Nikita Tuk outlines the 10 most common mistakes that developers make—and how to avoid them.

13-minute readContinue Reading
Nikita Tuk

Nikita Tuk

Nikita is an iOS developer/Adviser working with Objective-C and Swift.

World-class articles, delivered weekly.

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

Webpack or Browserify & Gulp: Which Is Better?

Gone are the days where front-end developers for web applications could use ad-hoc JavaScript with jQuery and such all in a single JavaScript file. Modern web applications require more effort from the developer to adopt an overall architecture and development process. Building such front-end applications relies on lots of external dependencies and modular source code, and these elements necessitate automation to save developers time and reduce the chances of mistakes.

In this article, Toptal Freelance Software Engineer Eric Grosse shows us how various combinations of the popular tools Webpack, Browserify, Gulp and Npm can benefit us by enhancing our development environment and allowing us to focus on writing the app itself.

20-minute readContinue Reading
Eric Grosse

Eric Grosse

Eric is a full-stack developer specializing in front-end work using React, Node, and HAPI. His passion is cutting-edge technology.

How to Improve ASP.NET App Performance in Web Farm With Caching

Caching is a powerful technique for increasing performance, but the whole idea behind caching works only as long as the result we cached remains valid. And here we get to the hard part of the problem: How do we determine when a cached item has become invalid and needs to be recreated?

In this article, Toptal Freelance Software Engineer Daniel Ivanov provides an ASP.NET-based solution to replace invalid cached items and assure high throughput and performance of web applications designed to handle a high load.

10-minute readContinue Reading
Daniel Ivanov

Daniel Ivanov

Daniel has helped startups bring products to markets for more than a decade using best-of-breed approaches to HTML/CSS, JS, Python, and C#.

How Hibernate Almost Ruined My Career

Are you building the next big thing? Planning to become the next Facebook or Google? Are you at the point of making fundamental decisions that will stay with you for the entire project? There is a good chance that you will pick a robust language like Java. If so, you want to pick the best object-oriented abstraction of your flexible data model because you don’t want to deal with plain SQL. You want to support all kinds of data and ideally, support all kind of databases. If so, there’s only one right choice for you: Hibernate.

Freelance Software Engineer Grzegorz Gajos explores some possible scenarios where things can go wrong using Hibernate.

10-minute readContinue Reading
Grzegorz Gajos

Grzegorz Gajos

Grzegorz is a software architect with an international consulting & programming background, & a co-founder for Open Tangerine software house

How Sequel and Sinatra Solve Ruby’s API Problem

The rise of the web and mobile applications has led to an increased need for back-end API services. Ruby on Rails’ philosophy seemingly makes it the ideal framework for creating back-end APIs. However, using Rails only for the API is overkill.

In this article, Freelance Software Engineer Boško Ivanišević explores alternatives to Rails and introduces us to two very mature and powerful gems, Sinatra and Sequel, which in combination provide powerful tools for creating server-side APIs.

9-minute readContinue Reading
Boško Ivanišević

Boško Ivanišević

Boško is an experienced architect/developer who is passionate about writing maintainable and readable code for both desktop and web apps.

The 10 Most Common Mistakes That WordPress Developers Make

WordPress is easily the most powerful open-source blogging and content management system available online today. As WordPress is easy enough to set up and has a user-friendly approach, many developers are often underestimating it and so make mistakes in development.

In this article, Toptal Freelance Software Engineer Andrew Schultz outlines the 10 most common mistakes that WordPress developers should be aware of for future projects.

10-minute readContinue Reading
Andrew Schultz

Andrew Schultz

With an engineering degree and strong background in business analysis since 2004, Andrew’s lately focused on web development and WordPress.

The Six Commandments of Good Code: Write Code That Stands the Test of Time

How do you define good code? Is it 100% test coverage, or is it backwards compatibility with decade-old hardware? We may not be able to reach an end to this debate yet, but good software always seems to conform to a few certain qualities of code.

In this article, Toptal Freelance Software Engineer Zachary Goldberg walks us through six simple ideas that can help you make better, more maintainable software.

8-minute readContinue Reading
Zachary Goldberg

Zachary Goldberg

A former engineering lead at Google and Entrepreneur in Residence at Tencent, Zachary is a seasoned professional with C-level experience.

Meet RxJava: The Missing Reactive Programming Library for Android

Implementing applications that deal with complex concurrent behavior has always been a challenging aspect of programming. Various paradigms exist that promise a solution to this problem in different ways. RxJava is a Java library that enables Functional Reactive Programming in Android development. It raises the level of abstraction around threading in order to simplify the implementation of complex concurrent behavior.

In this article, Toptal Freelance Software Engineer Christopher Arriola gives us a detailed walkthrough of RxJava and how it fits into the realm of Android development.

12-minute readContinue Reading
Christopher Arriola

Christopher Arriola

Christopher is a mobile engineer with 7+ years of experience creating native Android and iOS applications.

Celebrating 25 Years of Linux Kernel Development

Linux is now 25 years old, but it’s no hipster. It’s not chasing around Pokemon, and it’s not moving back in with its parents due to crippling student debt. In fact, Linux is still growing and evolving, but the core ideas of the Linux State of Mind remain the same.

In this article, Toptal Technical Editor Nermin Hajdarbegovic takes a look at the history of Linux development, the state of Linux today, and what’s next for the world’s most popular open-source operating system.

8-minute readContinue Reading
Nermin Hajdarbegovic

Nermin Hajdarbegovic

As a veteran tech writer, Nermin helped create online publications covering everything from the semiconductor industry to cryptocurrency.

10 Kotlin Features to Boost Android Development

Kotlin is a new, expressive, general-purpose programming language powered by the same virtual machine technology that powers Java. Since Kotlin compiles to the JVM bytecode, it can be used side by side with Java, and it does not come with a performance overhead.

In this article, Toptal Freelance Software Engineer Ivan Kušt gives us a walkthrough of 10 major features of Kotlin that help avoid boilerplate code and, more importantly, save time.

16-minute readContinue Reading
Ivan Kušt

Ivan Kušt

Ivan is a mobile enthusiast who has perfected the development process and architecture of mobile apps.

Java in the Cloud: Continuous Integration Setup Tutorial

More than two decades ago, Java shook the world with its “Write once, run anywhere“ slogan. Today, Java developers have at their disposal a whole set of tools, such as Spring Boot, Docker, Cloud, Amazon Web Services, and Continuous Delivery, to take development and delivery to a whole new universe.

In this article, Toptal Freelance Software Engineer Matko Šuflaj presents all these technologies and guides us through a step-by-step tutorial on how to build a small microservice and prepare it for continuous integration in the cloud.

18-minute readContinue Reading
Matko Šuflaj

Matko Šuflaj

Matko is a software engineer with extensive experience in complex Java-based projects. His main focus is the Java and Spring ecosystem.

The Duel: React Native vs. Cordova

As a result of smartphones and mobile applications becoming so popular, web developers have been looking for ways to create mobile applications using JavaScript. This increased demand has led to the development of many JavaScript frameworks capable of running native-like applications on mobile devices.

In this article, Toptal Freelance Software Engineer Johannes Stein compares the current two most popular choices for mobile-oriented JavaScript frameworks, Cordova and React Native. Examining their advantages and pitfalls, he dives into details of each and compares them across different disciplines.

10-minute readContinue Reading
Johannes Stein

Johannes Stein

Johannes is the author of two books and a highly skilled software architect specializing in JS, web tech, and cross-platform development.

Spectacular Crowdfunding Fails And Their Impact On Entrepreneurship

What’s the biggest problem with crowdfunding today? Everyone wants a sweet slice of the crowdfunded pie, but nobody wants a single crumb of responsibility. As a result, crowdfunding platforms, the tech press, and the geek public have picked up a track record filled with spectacular crowdfunding failures.

In this article, Toptal Technical Editor Nermin Hajdarbegovic takes a look at the state of crowdfunding today and explains why the industry needs to do more to clean up its act and get rid of bad apples in crowdfunding.

9-minute readContinue Reading
Nermin Hajdarbegovic

Nermin Hajdarbegovic

As a veteran tech writer, Nermin helped create online publications covering everything from the semiconductor industry to cryptocurrency.

Why Should Java Developers Give Grails a Chance?

Java may have stood the test of time, but it can still be a source of great frustration among many web developers. Dealing with its verbosity and infrastructure overhead, for example, can take hours, even for the most basic needs.

In this article, Toptal Freelance Software Engineer Gregor Ambrozic shows us how Grails and its many appealing features can be a viable alternative to traditional Java web applications frameworks.

9-minute readContinue Reading
Gregor Ambrozic

Gregor Ambrozic

Gregor is a full-stack software engineer with more than 12 years of work experience, mostly developing in Java and working with databases.

Meet Ecto, No-compromise Database Wrapper for Concurrent Elixir Apps

Elixir, with its simple and clean syntax, makes building scalable and maintainable concurrent applications a breeze. Ecto is a database wrapper that lives up to the high expectations set by Elixir’s reputation. Its domain-specific language provides a pleasant way to interact with databases and build fault-tolerant, concurrent applications in Elixir with ease.

In this article, Toptal Freelance Software Engineer Boris Barroso walks us through Ecto and its four main components: Repo, Schema, Changeset, and Query.

17-minute readContinue Reading
Boris Barroso

Boris Barroso

As an entrepreneur, Boris understands the importance of close communication with clients and users to better mold applications to real needs.

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.