Software Development

Showing 19-27 of 45 results
EngineeringIcon ChevronBack-end

An Introduction to Protocol-oriented Programming in Swift

By Aleksandr Gaidukov

Most modern programming languages, in the hopes of enhanced maintainability and reusability of code, offer some constructs that help the developer keep the definition of behavior and its implementation separate. Swift takes the idea of interfaces a step further with protocols. With protocols and protocol extensions, Swift allows developers to enforce elaborate conformity rules without compromising the expressiveness of the language. In this article, Toptal Software Engineer Alexander Gaidukov explores Swift protocols and how protocol-oriented programming can improve the maintainability and reusability of your code.

9 minute readContinue Reading
EngineeringIcon ChevronFreelancing

The Zen of devRant

By David Fox

Let’s face it: Sometimes you just need to rant. Fortunately, there’s an app for that. It’s called devRant, and it’s the place for developers to vent about clients from hell, non-technical friends and family, and clueless recruiters. In this roundup, devRant Co-Founder David Fox shares his favorite collection of rants since launching. Some will make you laugh. Others will make you laugh so hard you cry. And just about all of them will make you empathize with the author.

12 minute readContinue Reading
EngineeringIcon ChevronBack-end

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

By Zachary Goldberg

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
EngineeringIcon ChevronTeams and Processes

Spectacular Crowdfunding Fails And Their Impact On Entrepreneurship

By Nermin Hajdarbegovic

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
EngineeringIcon ChevronBack-end

Write Tests That Matter: Tackle The Most Complex Code First

By Andrey Shalitkin

In today's world, code is expected to change as quickly as requirements do, and tests play an important role in making that possible. Many modern projects boast great test coverage, making them more resilient to regression issues. However, that is not true for all projects - especially some legacy projects which have little in the way of testing. In this article, Toptal Freelance Software Engineer Andrey Shalitkin discusses two metrics, coupling and cyclomatic complexity, that are important in identifying which portions of code to include in test coverage.

8 minute readContinue Reading
EngineeringIcon ChevronBack-end

Hunting Down Memory Issues In Ruby: A Definitive Guide

By Bruz Marzolf

Memory issues in programs can be quite frustrating whether you’re the user or the developer attempting to solve the problem. In Ruby, the garbage collector plays a vital role in managing your program's memory so that you can focus on other important things. However, it is often possible to overwhelm the garbage collector or end up with sneaky resources that cannot be freed, which can lead to all sorts of memory issues. In this article, Toptal Freelance Software Engineer Bruz Marzolf explains why certain memory issues arise in Ruby applications and how to tackle them easily.

11 minute readContinue Reading
EngineeringIcon ChevronBack-end

Introduction to Kotlin: Android Programming for Humans

By Tomasz Czura

Java has been a dominant programming language for ages, but modern times call for modern languages. Meet Kotlin, a modern, clear, and expressive programming language powered by the same virtual machine technology that powers Java. In this article, Toptal Freelance Software Engineer Tomasz Czura takes us for a spin through the world of Kotlin and shows us how it can be used to make an Android application with an elegant architecture without compromising the very qualities of the code that Kotlin aims to provide.

14 minute readContinue Reading
EngineeringIcon ChevronEngineering Management

Keep Calm and Transition to a New Development Team

By Carlos Ramirez III

Many product owners don’t have a technical background and thus often find themselves unprepared and scrambling when it comes to bringing on a new development team. This often results in hindered progress, wasted time, and frustration for everyone involved. If this sounds like it could be you, either now or in the future, then you should be somewhat concerned. In this blog post, Toptal Freelance Software Engineer Carlos Ramirez III will walk you through the various steps of a typical transition process in project management so you can prepare for this eventuality and make the transition as smooth as possible.

10 minute readContinue Reading
EngineeringIcon ChevronBack-end

Jumpstart Your PHP Testing with Codeception

By Vasily Koval

Would you like to test your PHP code like a boss? Do you feel that basic unit tests and PHPUnit just don't cut it anymore? If your answer to both questions is yes, you might want to try Codeception, a mature and well-documented testing framework designed to outperform PHPUnit and Behat. In this post, Toptal Freelance Software Engineer Vasily Koval describes how he came to take the plunge and start using Codeception, and he explains why you should check out Codeception for your PHP testing needs.

10 minute readContinue Reading

Join the Toptal® community.