Toptal Engineering Expert
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.
ARM Servers: Mobile CPU Architecture For Datacentres?
Boring. That’s a word many people use to describe the server industry, although unexciting and uneventful would be a better fit. This is not necessarily a bad thing, because when something “exciting” happens to a server, it usually involves blue smoke and downtime. Luckily, the server space is about to get a bit more exciting, thanks to the introduction of servers based on ARM processors.
In this post, Toptal Technical Editor and resident chip geek Nermin Hajdarbegovic explains why ARM processors could end up powering a server near you, and what this means for the software industry. The potential implications of ARM servers are huge, but there is no cause for alarm. This industry segment does not tend to evolve fast, and developers will have plenty of time to get ready.

Nermin Hajdarbegovic
As a veteran tech writer, Nermin helped create online publications covering everything from the semiconductor industry to cryptocurrency.
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.
Eliminating the Garbage Collector: The RAII Way
Manual memory management is a nightmare that programmers have been inventing ways to avoid since the invention of the compiler. Programming languages with garbage collectors make life easier, but at the cost of performance.
In this article, Toptal engineer Peter Goodspeed-Niklaus gives us a peek into the history of garbage collectors and explains how notions of ownership and borrowing can help eliminate garbage collectors without compromising their safety guarantees.

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.
Caching in Spring with EhCache Annotations
EhCache is a widely used, pure Java cache that can be easily integrated with most popular Java frameworks, such as Spring and Hibernate. It is often considered to be the most convenient choice for Java applications since it can be integrated into projects easily. EhCache Spring Annotations allows seamless integration into any Spring application by simply adding annotations to cacheable methods without modifying the method implementations. This article focuses on boosting your Spring applications with EhCache Spring Annotations.

Cong Liu
Cong (MScEng) is a fast learner with a passion for performant code. He’s an expert in Android and web service development and loves AR.
Creating Usable JVM Languages: An Overview
Java Virtual Machine (JVM), the powerful virtual machine behind programming languages like Java and Scala, provides a platform-independent environment for executing compiled bytecode. Programming languages built for the JVM can be used to write programs that can run on a wide range of platforms without modification and can even leverage all the libraries and frameworks that exist for the JVM.
In this article, Toptal engineer Federico Tomassetti presents an overview of the strategy and various tools involved in creating our very own programming language for the JVM.

Federico Tomassetti
Federico has worked for TripAdvisor and Groupon. He has a PhD in software engineering and works in Java, Ruby, Python, Scala, and Haskell.
Guide to Multi-processing Network Server Models
In this article, Toptal engineer Ivan Voras provides a useful overview and comparison of multi-processing network server models, with the goal being to take some of the mystery out of writing high performance networking code. The article is intended for “system programmers”, i.e., back-end developers who will work with the low-level details of their applications, implementing network server code.

Ivan Voras, PhD
Ivan’s 15+ years of back-end and blockchain architecture has seen everything from DBA ops to development of OS kernel modules (FreeBSD).
REST Security With JWT Using Java and Spring Security
Although the old, standardized security approaches work with REST services, they all have problems that could be avoided by using a better standard. For this, JWT arrives just in time to save the day.
In this article, Toptal engineer Dejan Milosevic guides us on how to implement a JWT token-based REST API using Java and Spring Security.

Dejan Milosevic
Dejan has significant experience working with top Java and JavaScript frameworks and a complimentary fluency in the DB layer.
WSGI: The Server-Application Interface for Python
Nowadays, almost all Python frameworks use WSGI as a means, if not the only means, to communicate with their web servers. This is how Django, Flask, and many other popular frameworks do it.
This article intends to provide readers with a glimpse into how WSGI works and allow them to build a simple WSGI application or server.

Leandro Lima
Leandro has 15+ years in IT/development. Working with Python since 2013, he loves building efficient and cost-effective systems.
True Dependency Injection With Symfony Components
The Dependency Injection Container in Symfony2 allows components to be injected with their dependencies, and is often used as a Service Locator, which when combined with the DI-container pattern is considered to be an anti-pattern by many.
In this article, Toptal engineer Vasilii Lapin shows us how you can build a simple Symfony2 application using the DI-container, but without implementing the Service Locator pattern.

Vasilii Lapin
Vasilii has worked as a web architect and PHP back-end developer, specializing in NIX administration, and high-load, large scale projects.
MySQL Master-Slave Replication on the Same Machine
Developers often work on only one machine, and have their whole development environment on that machine. Testing database replication before deploying changes in this kind of a development environment can be a challenging task.
In this article, Toptal engineer Ivan Bojovic guides us through a step-by-step tutorial on how to implement MySQL master-slave replication on one machine.

Ivan Bojovic
Ivan has over 11 years of experience with MySQL, Oracle, PostgreSQL and other database systems, and is a certified MySQL DBA.
Context Validation in Domain-Driven Design
Handling all validation in domain objects results in objects that are huge and complex to work with. In domain-driven design, using decoupled validator components allows your code to be much more reusable and enables validation rules to rapidly grow.
In this article, Toptal engineer Josip Medic shows us how validation can be decoupled from domain objects, made context-specific, and structured well to achieve more sustainable validation code.

Josip Medic
Josip is devoted to writing bug-free, maintainable, and scalable code, and is constantly educating himself about new technologies.
Integrating Facebook Login in AngularJS App with Satellizer
Integrating social network login in web applications directly using their SDKs can be a time consuming task. The fact that these SDKs keep changing every now and then doesn’t help either.
In this article, Toptal engineer Son Nguyen Kim provides us with an in-depth tutorial on how to use Satellizer, a feature-rich AngularJS library to integrate Facebook Login in an AngularJS web app.

Son Nguyen Kim
Son is highly skilled with software engineering and ML algorithms and always tries hard to tackle problems with a simple approach.
Building an IMAP Email Client with PHP
Developers sometimes run into tasks that require access to email mailboxes. In most cases, this is done using the Internet Message Access Protocol, or IMAP. As a PHP developer, I first turned to PHP’s built in IMAP library, but this library is buggy and impossible to debug or modify. So today we will create a working IMAP email client from the ground up using PHP. We will also see how to use Gmail’s special commands.

Artem Galtsev
Artem is a web developer and programmer with 10+ years of experience working with large organizations and on his own.
NodeOS: The JavaScript Based Operating System
An operating system written in Node.js? Yes, it exists, and it’s called NodeOS. Think for a second about the progress Node.js has made in the short time it’s been around. Now, imagine the same thing happening with an operating system.
In this article, Toptal engineer Danny Morabito introduces us to NodeOS, guiding us with a step-by-step tutorial on how to create our first NodeOS application using nothing more than Node.js.

Danny Morabito
Danny is a PHP developer with a proven knack for coding efficiently and solving problems rapidly.
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.
















