So you want to become a full-stack developer... (2018 update)

full stack get hired May 25, 2018
Full-stack careers on Stack Overflow
Full-stack careers on Stack Overflow

Businesses love to hire full-stack developers. But with more options at every place in the stack, becoming a full-stack developer seems harder than ever.

Take a look at any job advertisement, and you'll find a dizzying list of technical requirements: half a dozen languages, a handful of database systems, a couple of the latest Javascript frameworks, Android & iOS knowledge, and deployment techniques and technologies... all before you get into more theoretical stuff like machine learning and big data.

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?

First, define your MVP

I don't mean the "minimally viable product" that you hear all over the place these days. I mean "minimally viable proficiency."...

Continue Reading...

Why do exceptions happen all the time in Ruby and Rails applications?

exceptions ruby May 25, 2018

“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…

When should you use exceptions?

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.

Help! There’s HTML in my JSON API!

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...

Continue Reading...

What kind of Ruby app should you build if you want to get a job?

get hired May 25, 2018

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.

Businesses don’t hire Ruby developers

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.

How to identify valuable business...

Continue Reading...

Learning to program doesn't happen by accident

self-taught May 25, 2018

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.

Learning Rails becomes learning Ruby, HTTP, databases, Javascript, and deployment. Learning Ruby becomes learning the syntax, standard library, design patterns,...

Continue Reading...

How to build, retain and USE programming knowledge

self-taught May 25, 2018

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.

Sound familiar?

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...

Continue Reading...

Three ways to identify a company where you'll find a healthy work-life balance

get hired May 25, 2018

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...

Continue Reading...

The #1 mistake you make when doing TDD

tdd May 25, 2018

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.

The good news is, it’s easy to fix

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...

Continue Reading...

Create an application, not a magnum opus

baby steps May 25, 2018

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.

The bigger they are, the harder they fall

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...

Continue Reading...

After you've finished a tutorial, it's time to move on to something smaller and better

baby steps May 25, 2018

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.

“Better is better” – not just for coworking

Work on something smaller

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.


Continue Reading...

Want to make the jump to freelancing? You're better off slowly transitioning...

freelance May 25, 2018

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...

Continue Reading...
1 2 3 4

Get free RubySteps lessons

50% Complete

Enter your name and email address below to get free RubySteps lessons

<3 Pat