If you hope to break in to the industry, these job postings can leave you feeling lost and hopeless. After all, by the time you learn all of the technologies that these businesses require, a whole new set of technologies will have replaced them. What's an up-and-coming full-stack developer to do?
I don't mean the "minimally viable product" that you hear all over the place these days. I mean "minimally viable proficiency."...
“Exception” sure is a funny name for something that Ruby and Rails programmers deal with all… day… long. Because of that, you need to master the what, how, when, and why of using exceptions.
Read on to learn all about using exceptions effectively in Ruby…
Things go wrong in software all the time – sometimes the user enters bad data, and sometimes a developer uses a library incorrectly. How do you decide when it’s the right time to use an exception? Distinguish user errors from developer errors, and you’ll be on your way to writing robust code that uses exceptions effectively.
You’ve built a shiny new API with Rails 5, but error pages in development mode throw you off – they’re all in HTML, but your frontend expects JSON! If you could get the errors in JSON, then you could examine them in your browser console… Rails 5 has you covered...
So you want to get hired as a Ruby developer, but you don’t have any real-world experience. What do you do? How can you separate yourself from the horde of bootcamp grads and junior developers who have only built Twitter and Reddit clones?
First, take a moment to think of why businesses hire developers in the first place. To make software, duh :) But why do they make software? To make or save money, right?
But how do they make (or save) money? By solving problems! And not just any problems… internal tools solve problems that cost the business time, or lead to mistakes. And products solve the same kinds of problems, for paying customers.
They hire people who solve valuable business problems… who happen to use Ruby to create the solutions. BIG difference.
So how do you stand out from the crowd, as a Ruby developer worth hiring? You guessed it… you solve valuable business problems.
Stop me if this sounds familiar: you decided you wanted to create your own web applications, and asked around or searched Google for advice. People told you to work through TryRuby to get your feet wet, and then to try your hand at other tutorials like Codecademy and RubyMonk. Once you’ve got a feel for Ruby, you’re ready to move on to Rails with Hartl’s Tutorial. Then dig deeper with The Odin Project, and books like Practical Object-Oriented Design with Ruby.
Still with me?
So you follow that advice, and it’s clear that you’re learning a ton. There’s just one problem: despite everything you’ve learned, you still can’t build the web apps that motivated you to learn Rails in the first place. In fact, the more you learn, the more new things you discover you have left to learn.
You’ve set a goal to learn Ruby, and have taken the standard advice of working through tutorials. It’s not easy, because there’s so much to learn! The problem is, you retain very little of the information. Even worse, that means you can’t do anything with what you learn!
So you end up reading the same tutorial a few times, trying to find the missing pieces. When that doesn’t work, you find new tutorials to read, new videos to watch… and although it feels like you’re learning a ton… you have nothing to show for all your hard work. You’ve got a bunch of example apps that you’ve copied line-by-line from tutorials, but when it comes to your own stuff: nada.
How do you actually remember the programming information you come across? How do you do something useful with what you’ve learned?
I use a simple technique any time I need to learn something new. It’s something I learned in middle school (and...
The following question hit my inbox today:
One of the challenges I see in the developer world in Ruby seems to be companies with a bunch of young guys that are either unmarried, married without children, or ‘workaholics’. I don’t want to be a guy who is unavailable to his wife and kids, or just tired / stressed out chronically. For me work should serve Life not the other way around. How do you identify companies that truly have work-life balance?
“Work should serve Life, not the other way around.” I agree wholeheartedly. I find a lot of joy in my work – but only as long as I take care of non-work things that are important to me, like spending time with family and friends, volunteering, getting outdoors with my dogs, messing around with my hobbies, and even relaxing from time to time.
In a world of 80-hour workweeks, never-ending urgent TODOs, and daily firefights, is there a place for the person who wants to have a life?
Yep. And you can find...
Test-driven development is a simple process. But if you’re not careful, you can waste a lot of time, or even introduce bugs without knowing it.
Have you ever gotten a test passing, only for the code to still be broken? You’re probably making a fundamental mistake in your TDD process.
Just be sure to run your test and watch it fail. If you expect it to fail, but it passes, then you’ve done something wrong. You want to find out right away.
I learned this the hard way, years ago. I wrote a test that I expected to fail, but I didn’t run it. I changed the implementation code to make the test pass, and it did. I tried my new feature through the browser… and it didn’t work. I spent over an hour changing the code, trying to get it to work. Eventually I gave up and reverted my changes to the implementation. I ran the test again… and it still passed.
I wasn’t even testing the code I thought I was! That...
Have you built any of your own Ruby applications yet? Or only the apps you find in tutorials? If you haven’t built anything of your own yet, why not? Have you tried, but just keep getting stuck? Are you just completely unable to figure out the next step to take?
The truth is, you’re probably just working on something that’s too big. You don’t need to create a magnum opus here. This doesn’t need to be the biggest and best application you can think of. In fact, that’s only going to make you more stuck.
It’s a perfect saying when it comes to creating your own Rails applications. Even your dream application. Especially your dream application.
It’s totally cool to have a dream application to work on, and to work towards. But you have to take a step back from it and see what it is today. If you judge your application by what you want it to be, it’ll always be a failure. There will always be...
You’ve just finished working through Hartl’s Rails tutorial. Now what? Time to start working on something bigger and better, right? Except as soon as you do, you get stuck. Was I supposed to create the model or controller first? Which way do the has_one and belongs_to associations point again? How do I write a custom validation?
Take a step back. You’ve made one key mistake here, and that’s thinking that bigger is better.
Bigger isn’t better, better is better. #coworking— Alex Hillman (@alexhillman) June 3, 2015
“Better is better” – not just for coworking
The Rails Tutorial walks you through pretty much EVERYTHING you need to build a Rails application. That’s a lot of stuff to take in! No wonder you can’t remember it all. And the truth is, you aren’t supposed to. You’ve got the big picture, and now it’s time to take little pieces of it and put them into practice.
If you’ve been working at a full-time job and want to make the move to freelancing, there’s one question that’s at the top of your mind: How am I going to make enough money to support myself?And if you’ve got a family, this can make the possibility of freelancing even more daunting. Can you really cope with the feast-or-famine cycle that’s so common for freelancers? The feast part sounds awesome… the famine part, not so much. How can you get the freedom of freelancing, without taking on a huge risk for you or your family?
The simplest way to start freelancing – without taking on huge risks – is to slowly transition to it. You don’t have to quit your job and dive headfirst into freelancing. In fact, you really shouldn’t. Think about it. By quitting your job, you give up 100% of your income, in exchange for your time. And if you can immediately earn back your income with that time, great! But unless you’ve already laid...