Toptal Engineering Expert
To Python 3 and Back Again: Is It Worth the Switch?
Since its debut in 2008, Python 3 has come a long way. Gone are the days when it lacked support for almost all useful libraries and tools. Python 3 offers many improvements and amazing new features that make writing robust code in Python easier than ever.
In this article, Toptal engineer Dario Bertini discusses some of the improvements and features that Python 3 has to offer and explains whether switching to Python 3 is a smart choice right now.

Dario Bertini
Dario takes pride in writing maintainable, succinct back-end code and loves automating things. He enjoys working in Haskell and Clojure.
Developer's Guide to Improving Project Structure in Meteor Applications
Meteor is a framework for rapidly building real-time JavaScript web applications. It can be used to build complex applications with amazing ease. However, that can often result in adoption of bad development practices and poorly structured code.
In this article, Toptal engineer Darion Cassel shares some simple ways to improve the structure of your next Meteor-based web application without resorting to complicated boilerplates and scaffolding tools.

Darion Cassel
Darion has 3+ years of experience building web applications in JavaScript & Python. He has worked for companies like Rackspace, & CommVault.
An Introduction to Robot Operating System: The Ultimate Robot Application Framework
Robot Operating System, a framework for building robot applications, allows developers to assemble a complex system by connecting existing solutions for small problems.
In this article, Toptal engineer Adnan Ademovic gives us a step-by-step tutorial to building software for an onboard computer that allows us to remotely control and monitor a robot and running it in a simulated world using Robot OS.

Adnan Ademovic
Adnan has experience in desktop, embedded, and distributed systems. He has worked extensively in C++, Python, and in other languages.
How to Get Rounded Corner Shapes in C++ Using Bezier Curves and QPainter: A Step-by-Step Guide
The current trend in graphic design is to use a lot of rounded corners in all sorts of shapes. We can observe this on many web pages, mobile devices, and desktop applications, as rounded corners make the user interface feel smoother and nicer. However, what if we have to generate rounded corners on the fly, and we cannot preload it from an image?
In this article, Toptal Freelance Software Engineer Bojan Kverh guides us in a step-by-step tutorial on how to develop a simple class in C++ that can turn a complex polygon into a shape with rounded corners using Bezier curves and QPainter.

Bojan Kverh
A PhD (CE) and former assistant professor with more than 20 years of experience, Bojan’s a true C/C++, Linux, and Qt expert.
Service-oriented Architecture With AWS Lambda: A Step-by-Step Tutorial
AWS Lambda offers a relatively thin service with a rich set of ancillary configuration options, making it possible to implement easily scalable and maintainable applications leveraging these services.
In this article, a Toptal engineer gives us a step-by-step tutorial for building an image uploading and resizing service and demonstrates how AWS Lambda can be used as a platform to easily build service-oriented architecture applications.
Toptal Talent Network Experts
World-class articles, delivered weekly.
By entering your email, you are agreeing to our privacy policy.
Persisting Data Across Page Reloads: Cookies, IndexedDB and Everything In-Between
Modern web browsers offer a number of different APIs and mechanisms to storing data on the client-side. But are all of these options created equal?
In this article, Toptal engineer Stephen Villee demystifies the various client-side storage options available in modern web browsers and explains how each of these can play a role in storing session data on the client-side.

Stephen Villee
Stephen has been a software engineer for 30+ years. He prides himself on being meticulous and developing high quality software.
Project Rider: A Standalone ReSharper IDE
With Microsoft’s no-brainer shift towards open source and interoperability it was only a matter of time before we started seeing alternatives to some of their key products, like Visual Studio. Enter Project Rider: the code name for IDE guru JetBrains’ competition to Visual Studio.
Here’s the lowdown on Project Rider, the newest member of the IntelliJ platform family.

Kate Scheer
A true multipotentialite, Kate has worked as a video game artist, full-stack developer, movie script author, tech editor, and animal vet.
The Art of War Applied To Software Development
The Art of War is an ancient military treatise, but despite its age, the text is still included in the syllabus at many military schools. Sun Tzu’s principles and teachings also have practical applications in politics, business, sports, and, believe it or not, software development. In fact, you might just be applying some of these principles in your daily routine, without even knowing.
In this post, Toptal Freelance Software Engineer Jose F. Maldonado explains why many of these ancient teachings still matter, and what you can do to make them work for you and your team.

José Maldonado
José is a skilled software developer with a computer engineering degree and experience in web development, mobile apps, and bug fixing. He brings a practical, solutions-oriented approach to building reliable and user-friendly applications.
React, Redux, and Immutable.js: Ingredients for Efficient Web Applications
Unlike most front-end web frameworks, React’s aim is to solve the various challenges of building user interfaces that rely on changing data. Although React is a simple JavaScript library and is easy to get started with, it is still possible to misuse it in ways that deny the web app from reaping the benefits that React has to offer.
In this article, Toptal engineer Ivan Rogic demonstrates the synergy of React, Redux and Immutable.js, and shows how these libraries together can solve many performance issues that are often encountered in large web applications.

Ivan Rogic
Ivan first started coding back in 2007 at the beginning of his college education, and he became really passionate about it.
Python Design Patterns: For Sleek and Fashionable Code
Python is a powerful, object-based, high-level programming language with dynamic typing and binding. Due to its flexibility and power, developers often employ certain rules, or Python design patterns. What makes them so important and what do does this mean for the average Python developer?
In this post, Toptal Senior Software Engineer Andrei Boyanov explains why Python is great for design patterns, and how they can be used to unlock even more potential, or to streamline development and make code more maintainable.

Andrei Boyanov
Andrei is an IT professional with experience ranging from low-level programming to complex systems design and implementation.
Tree Kernels: Quantifying Similarity Among Tree-structured Data
Today, a massive amount of data is available in the form of networks or graphs. For example, the World Wide Web, with its web pages and hyperlinks, social networks, semantic networks, biological networks, citation networks for scientific literature, and so on.
A tree is a special type of graph, and is naturally suited to represent many types of data. The analysis of trees is an important field in computer and data science. In this article, we will look at the analysis of the link structure in trees. In particular, we will focus on tree kernels, a method for comparing tree graphs to each other, allowing us to get quantifiable measurements of their similarities or differences. This an important process for many modern applications such as classification and data analysis.

Dino Causevic
Dino (BCS) has 6+ years in software development, specializing in back-end and security work using Java, Elasticsearch, .NET, and Python.
How to Set Up a Microservices Architecture in Ruby: A Step-by-Step Guide
Microservices are one of the latest trends in software design. In a microservices architecture, the classic monolithic back-end is substituted by a suite of distributed services. This design allows better separation of responsibilities, easier maintenance, greater flexibility in the choice of technologies for each service, and easier scalability and fault tolerance.
In this article, Toptal Freelance Software Engineer Francisco Temudo guides us in a step-by-step tutorial on how to build a microservices suite using Ruby.

Francisco Temudo
Francisco’s 15+ years in software development (including PHP & Java) have lately been focused on full-stack web development (Ruby & JS.)
How I Used Apache Spark and Docker in a Hackathon to Build a Weather App
Hackathons often inspire engineers to create amazing software. By blending various technologies together, really useful and often fun projects can be realized in a short period of time.
In this article, Toptal engineer Radek Ostrowski shares his experience participating in the IBM Sparkathon, and walks us through how he elegantly combined the power of Apache Spark and Docker in IBM Bluemix to build a weather app.

Radek Ostrowski
Radek is a blockchain engineer with an interest in Ethereum smart contracts. He also has extensive experience in machine learning.
An Informal Introduction to DOCX
With approximately one billion people using Microsoft Office, the DOCX format is the most popular de facto standard for exchanging document files between offices.
While DOCX is a complex format, you may want to parse it manually for simpler tasks such as indexing, converting to TXT and making other small modifications. I’d like to give you enough information on DOCX internals so you don’t have to reference the ECMA specifications, a massive 5,000 page manual.

Stepan Yakovenko
Stepan is an experienced software developer with extensive experience working in C++, Java, JavaScript, SQL, PHP, and C#.
Developing for the Cloud in the Cloud: BigData Development with Docker in AWS
More and more people are moving their work from desktop applications to the cloud using an equivalent online web application. However, this has unfortunately not been true for software development IDEs. Although there have been some attempts to provide an online IDE, they have not come anywhere close to traditional IDEs.
In this article, Toptal Freelance Software Engineer Michele Sciabarra guides us on how to build a cloud-based development environment for Scala and big data applications, with the help of Docker in Amazon AWS.

Michele Sciabarra
Michele is a systems architect with over 20 years of experience. He is a polyglot developer who specializes in Scala and Go, with an emphasis on DevOps solutions, primarily using Kubernetes and serverless architectures.
Guide To Budget-friendly Data Mining
Although database programming does not evolve at nearly the same pace as traditional application programming, recent advancements in several fields are bringing new techniques and technologies within the reach of small and independent developers.
In this guide, Toptal Freelance Software Engineer Jeffrey Shumaker explains how developers can quickly and easily tap these methods to identify database issues they may not even be aware of, and how they can build excellent data mining tools without spending a lot on expensive software licenses.

Jeffrey Shumaker
Jeff’s experience covers every aspect of database design. He has been a database manager for small IT and Fortune 500 companies.
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.
















