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.
Elasticsearch provides a powerful, scalable tool for indexing and querying massive amounts of structured data, built on top of the Apache Lucene library. Building on the foundation of Elasticsearch and the Elasticsearch-Ruby client, we've developed and released our own improvement (and simplification) of the Elasticsearch application search architecture that also provides tighter integration with Rails. We've packaged it as a Ruby gem named Chewy. This post discusses how we accomplished this, including the technical obstacles that emerged during implementation.
I've been an Engineer at Toptal for just about one year now, working on the same project since I joined the network: Ondello, a service that connects doctors and patients over WebRTC. When I first joined Ondello, I was hired as a Senior Ruby on Rails Developer, tasked to build a service up from scratch. These days, we're a team of multiple developers working on a fairly large, complex system. With this post, I'd like to share the story behind Ondello. Specifically, I'd like to talk about: how a simple application became not-so-simple, and how our use of cutting-edge technologies posed problems I'd never considered before.
>If it ain't broke, don't fix it. It's a well known phrase, but as we know, most of the human technological progress was made by people who decided to fix what isn’t broken. Especially in the software industry one could argue that most of what we do is fixing what isn’t broken. Fixing functionality, improving the UI, improving speed and memory efficiency, adding features: these are all activities for which it is easy to see if they are worth doing, and then we argue for or against spending our time on them. However, there is an activity, which for the most part falls into a gray area: refactoring, and especially large scale refactoring.
Sometimes I hear people complaining about their clients, saying that they insist on using Rails, that they've had too much Kool Aid. If they are recruiters, they almost feel sick in the stomach from perspective of having to find yet another ROR primadona. From the programmers point of view it sometimes looks like clients don't have a clue. However, I believe most clients know their options just fine and they still decide to go with Rails.
Sometimes, clients give us feature requests that we really don't like. It's not that we don't like our clients, we love our clients. It's not that we don't like the feature, most client-requested features are aligned perfectly with their business goals and income. Sometimes, the reason we don't like a feature request is that the easiest way to solve it is to write bad code, and we don't have an Elegant Solution on the top of our heads. This will throw many of us on fruitless searches through RubyToolbox, github, developer blogs, and stackoverflow looking for a gem or plugin or example code that will make us feel better about ourselves. Well, I'm here to tell you, it's okay to write bad code. Sometimes, bad code is easier to refactor into beautiful code than a poorly thought out solution implemented under a time-crunch.
At Toptal, we’re always looking for the best freelancers around. But what makes a freelancer truly great? Luis Martinho, one of our top developers, is beloved by his clients — so we sat down with him to talk about freelancing, technologies, and paying your taxes.
Starting a new remote gig, be it a contract project or a full-time job, can be a little intimidating if you're used to going into an office day after day. But this style of employment is growing in popularity, with some very notable companies lending it their endorsements. I've worked remotely for years now on projects of various scales and durations. With this post, I hope to enumerate some of the best practices that I've picked up for working in a variety of situations. The advice here ranges from specific recommendations for software and hardware to tips for hitting your team's deadlines.
World-class articles, delivered weekly.
Subscription implies consent to our privacy policy
Thank you!
Check out your inbox to confirm your invite.
Join the Toptal® community.