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

Buggy PHP Code: The 10 Most Common Mistakes PHP Developers Make

PHP makes it relatively easy to build a web-based system, which is much of the reason for its popularity. But its ease of use notwithstanding, PHP has evolved into quite a sophisticated language, with many nuances and subtleties that can bite developers, leading to hours of hair-pulling debugging. This article highlights ten of the more common mistakes that PHP developers need to beware of.

17-minute readContinue Reading
Ilya Sanosian

Ilya Sanosian

Ilya is an IT consultant, web architect, and manager with 12+ years of experience building and leading teams. He has led mission-critical initiatives ranging from greenfield platform architecture to legacy system modernization, helping organizations deliver complex technology programs and scale core systems. Ilya combines strategic leadership with deep technical expertise to build resilient, high-performance engineering organizations and drive measurable business outcomes.

Ember Data: A Comprehensive Tutorial for the ember-data Library

Ember Data is a library for robustly managing model data in Ember.js applications. Ember Data offers a more flexible and streamlined development workflow, minimizing code churn in response to high-impact changes that would otherwise be disruptive. This comprehensive guide introduces the key constructs and paradigms of Ember Data, demonstrating the value it can bring to you as a developer.

19-minute readContinue Reading
Pooyan Khosravy

Pooyan Khosravy

Pooyan is a data scientist, a neuroscientist, a software engineer, and an entrepreneur out to ensure that no one lives with undiagnosed ADHD

World-class articles, delivered weekly.

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

The Many Interpreters and Runtimes of the Ruby Programming Language

Which Ruby implementation is right for your project? While the reference implementation (Ruby MRI) remains the interpreter of choice, an alternate Ruby implementation may be right for your project, depending on your operational goals and constraints.

This article showcases the Ruby interpreter implementations and runtimes available today, discussing the advantages and disadvantages of each.

9-minute readContinue Reading
Ryan Wilcox

Ryan Wilcox

Ryan has over 12 years of programming experience in numerous languages and is an expert in workflow analysis and optimization.

5 Golden Rules for Great Web API Design

Web services and their APIs abound. Unfortunately, the vast majority are difficult to use. Reasons range from poor design, to lack of documentation, to volatility, to unresolved bugs, or in some cases, all of the above.

Follow the guidance in this post to help ensure that your web API is clean, well-documented, and easy-to-use. Such APIs are truly rare and are therefore much more likely to be widely adopted and used.

12-minute readContinue Reading
Jordan Ambra

Jordan Ambra

With past employers that include Coca-Cola, Concentra, and VMWare, Jordan is a top-notch architect, developer, sysadmin, and entrepreneur.

Buggy Code: 10 Common Rails Programming Mistakes

Rails is both easy to use—and also to misuse. Let’s look at 10 common Rails programming mistakes, explore their consequences, and discover ways to steer clear, as we write clean Ruby on Rails code.

12-minute readContinue Reading
Brian VanLoo

Brian VanLoo

Brian is a freelance software developer who delivers a technology value in the corporate world. Expertise with open-source technologies that range from those used in embedded systems to large-scale web applications.

10 Common Web Security Vulnerabilities

Don’t wait for a data breach to happen before making security a priority. This article explains how to set up a proactive web app defense and avoid the top 10 most common security pitfalls.

11-minute readContinue Reading
Toptal emblem

Toptal Talent Network Experts

Your First AngularJS App Tutorial Part 2: Tools for Scaffolding, Building, and Testing

In this follow-up to his first highly popular AngularJS tutorial, Toptal engineer Raoni Boaventura guides you through the steps of setting up your project, including scaffolding, dependency management, and preparing it for testing.

9-minute readContinue Reading
Raoni Boaventura

Raoni Boaventura

Raoni’s BCS and decade of web-dev experience have seen him lead and contribute to a wealth of projects using RoR, JS, and PHP, among others.

Polymer.js: The Future of Web Application Development?

A year after Google’s launch of Polymer, Toptal engineer Alejandro Hernandez takes it out for a test drive to see if it’s yet ready for prime time. This post explores the maturity and stability of Polymer.js as a foundation for large-scale application development. The results and conclusions from this analysis are provided, along with an introductory overview of the technology.

8-minute readContinue Reading
Alejandro Hernandez

Alejandro Hernandez

Alejandro has a bachelor’s degree in software engineering and 10+ years of experience working for software companies of all sizes.

The 10 Most Common Python Code Mistakes

Python’s simple, easy-to-learn syntax can mislead Python developers – especially those who are newer to the language – into missing some of its subtleties and underestimating the power of the language.

In this article, Toptal’s Martin Chikilian presents a “top 10” list of somewhat subtle, harder-to-catch mistakes that can trip up even the most advanced Python developer.

12-minute readContinue Reading
Martin Chikilian

Martin Chikilian

Martin is a full-stack engineer and has worked as a professional Python developer since 2007.

JavaScript Prototype Chains, Scope Chains, and Performance: What You Need to Know

JavaScript is much more nuanced than most developers initially realize. Even for those with more experience, some of JavaScript’s most salient features continue to be misunderstood and lead to confusion. One such feature, described in this article, is the way that property and variable lookups are performed and the resulting performance ramifications to be aware of.

11-minute readContinue Reading
Diego Castorina

Diego Castorina

Diego has been a senior freelance engineer for the likes of Italian telecom powerhouse Italtel. He also cofounded a web-based CRM business.

Buggy C# Code: The 10 Most Common Mistakes in C# Programming

C# is a powerful and flexible language with many mechanisms and paradigms that can greatly improve productivity. Having a limited understanding or appreciation of its capabilities, though, can leave one in the proverbial state of “knowing enough to be dangerous”. This article describes 10 of the most common programming mistakes made, or pitfalls to be avoided, by C# programmers.

19-minute readContinue Reading
Patrick Ryder

Patrick Ryder

Pat (BMath/CS) helped create VB 1.0 and later the .NET platform while working at Microsoft. Since 2000, he’s focused on full-stack projects.

A Guide to UTF-8 Encoding in PHP and MySQL

Once you step beyond the comfortable confines of English-only character sets, you quickly find yourself entangled in the wonderfully wacky world of UTF-8.

Indeed, navigating through UTF-8 related issues can be a frustrating and hair-pulling experience. This post provides a concise cookbook for addressing these issues when working with PHP and MySQL in particular, based on practical experience and lessons learned.

10-minute readContinue Reading
Francisco Clariá

Francisco Clariá

Francisco is an engineer focused on cross-platform apps (Ionic/Cordova) and specialized in hardware-software technology integration.

Adventures in GPS Programming and Development: A Geospatial Tutorial

This post explores some of the more common types of GPS tracking errors to expect with low-end GPS devices, providing an understanding of what causes them as well as some approaches for correcting them. The techniques outlined can provide users of low-end GPS devices with a reasonable level of automated improvement of the accuracy of their GPS tracks.

14-minute readContinue Reading
Tomo Krajina

Tomo Krajina

Tomo is a Java, Android, and Golang developer with 13+ years of experience. He has worked on telecom, and banking systems.

iOS User Interfaces: Storyboards vs. NIBs vs. Custom Code

I often hear iOS developers ask some variant of the same key question: “What’s the best way to develop a UI in iOS: through Storyboards, NIBs, or code?”

Answers to this question, explicitly or implicitly, tend to assume that there’s a mutually exclusive choice to be made, one that is often addressed upfront, before development.

I’m of the opinion that there’s no single choice to be made. Rather, each option has its strengths and weaknesses—and there’s no need to use any one of them in isolation.

14-minute readContinue Reading
Antonio Bello

Antonio Bello

Versatile professional with 20+ years experience in a variety of technologies, today focusing mostly on iOS, Swift, Objective C and backend

Go Programming Tutorial: Golang by Example

Go is a relatively new language with a number of attractive features. It’s great for writing concurrent programs, thanks to an excellent set of low-level features for handling concurrency. In many cases, though, a handful of reusable abstractions over those low-level mechanisms makes life much easier. This introductory tutorial walks you through building one such abstraction: a wrapper that can turn any data structure into a transactional service in Go.

17-minute readContinue Reading
Brendon Hogger

Brendon Hogger

Brendon is a software engineer who has worked in a variety of industries, including fintech and telecommunications. He has extensive experience implementing high-availability, high-traffic web applications, and has worked with a wide range of programming languages and technologies, including Go, Python, Erlang, and Elixir.

A Deep Learning Tutorial: From Perceptrons to Deep Networks

The recent resurgence in Artificial Intelligence has been powered in no small part by a new trend in machine learning, known as “Deep Learning”. In this article, I’ll introduce you to the key concepts and algorithms behind Deep Learning, beginning with the simplest building block.

21-minute readContinue Reading
Ivan Vasilev

Ivan Vasilev

Ivan is an enthusiastic senior developer with an entrepreneurial spirit. His primary focuses are in Java, JavaScript and Machine Learning.

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.