As a web designer, it is a major asset to be able to understand – and even orchestrate – what is going on “behind the scenes”.
If you know how to lay the groundwork, then you can better understand how to design the rest of a site. The fact of the matter is, learning to code will make you a better designer. Plus, who wouldn’t want to hire a designer who knows how to do everything from design to development?
The trick is choosing a place to start. Learning how to code can be a daunting process, especially if you pick one of the more complicated languages, like C++ or PHP.
So, what is the best place to start? One answer: Ruby on Rails is a great programming language and framework to learn the basics.
Why Is Ruby the Best Choice?
For starters, Ruby is one of the easiest languages to learn, especially if you have some prior coding experience with HTML or CSS, which most designers do.
One of the first coding projects you do with any language is the infamous “hello world!,” which involves printing those words on the screen.
With a language like C++, there can be anywhere from five to seven lines of code just to display those words. On the other hand, with Ruby there’s only a single line and a single command.
puts "hello, world!"
That’s it! That’s all you need to print the words “hello world!” on the screen. Pretty easy stuff, right?
Ruby on Rails is also a very DRY language. As a principle of development, “DRY” means “Don’t Repeat Yourself” – essentially, don’t code something over again when you can reuse an element you’ve already created. This makes Ruby a very developer-friendly programming language, since it emphasizes quick and efficient execution of a project.
Ruby vs. Rails
Ruby is a programming language. Rails is a framework that uses Ruby to get stuff done. The Ruby on Rails framework is a collection of pre-fabricated or pre-written code to help speed up the process of building new projects. It was originally created to build the project management tool Basecamp. Besides Basecamp, some popular web applications built with Rails are 500px, ThemeForest, and MyFitnessPal.
Once you understand how to use Ruby, the language, and get stuff working in Ruby on Rails, the framework, you can start creating web applications.
Ruby Is Hot Right Now
Thanks to the boom of mobile devices and always-connected technology, Ruby is incredibly popular right now. That’s not likely to change, either. The TIOBE Programming Community Index ranks Ruby as the 13th most popular programming language. According to job trends from Indeed.com, Ruby is also experiencing a remarkably high demand.
Either way you cut it — demand or popularity — Ruby is pretty hot. That makes it one of the best places to start because once you’re versed in the language, you can get work pretty quickly. That’s before you even move on to learning another language to broaden your skill set.
Ruby Is Heavily Supported
Some of the other languages have been around longer, it’s true, but even then support and documentation pales in comparison to what’s available for Ruby. Other languages also lack the cohesion of a community built up around a single heavily-supported framework.
Thanks to the Ruby on Rails framework, there’s already a ton of pre-existing code you can use in your own projects. RubyGems, a Ruby frameworks library, has more than 600,000 code libraries to select from.
Any time you’re learning something new, you’ll need plenty of documentation and support. There are tons of places where you can find learning resources, tutorials, guides and even Q&A forums. If you encounter a particular problem, a simple web search will likely turn up answers for remedying it. That’s important.
Simple documentation and easy support access are necessary when you’re learning a new language — when you’re learning anything new, really.
Ruby Allows More Control Over Design
If you’re simply a web designer, putting together a website can be a lengthy and involved process. When you sit down to work with a coder and hash out the necessary back-end stuff for your site, you often need to make sacrifices on the front end to get everything working properly.
Ultimately, this can result in a product that comes out looking worlds different than your original vision. The coder might not care, but you probably find this problematic.
You won’t run into problems like that if you do the coding yourself. There’s no need to depend on others to get the project finished, and you’ll have a much better understanding of what can be achieved from a development standpoint. Surely there’s been a time or two where your design goals were too lofty for your programmer or coding team? When you learn a language like Ruby, you can enjoy the simplicity of understanding needs and possibilities on both sides.
Since Ruby is inherently designed to be used for web applications and web development, it’s the perfect place to start for web designers. Once you understand the language and know how to use the Ruby on Rails framework, you’ll have exponentially more control over your designs.
Where to Learn Ruby?
The best way to learn a language is to dive in and get working with it. There are plenty of getting started guides and tutorials out there you can refer to. If you’re a more visual person and you thrive on visual presentations, head on over to YouTube — there are plenty of video guides to choose from.
If you want a traditional classroom-oriented experience, you can hit up the various code school sites. You don’t necessarily have to enroll in a university or community college to receive a working education.
One of my favorite resources – and, a completely free one at that – for learning Rails is the Rails Tutorial by Michael Hartl. It takes you through progressively more complex projects at your own pace and you can start at the beginning with absolutely no knowledge of Ruby or Rails.
No matter how you choose to learn, remember practice makes perfect. Set personal goals to spend a certain amount of time each day working with Ruby. Adhere to those goals, and remain consistent. Before you know it, you’ll be an expert who can whip up some fantastic projects.