So, you’re a full-stack web developer. What do you want, a job?

Luis Dejesus Castro
3 min readJun 13, 2021

Yes, actually.

The end of phase 3 of the Flatiron School Software Engineering course marks the end of the most challenging chapter that I have experienced thus far (with two phases left until graduation, my fingers are crossed). As I sit here and write my project blog post and reminisce on the experience of learning the inner workings of a rack backend, amidst the memories of manually creating SQL tables, Ruby class Models, and active record associations, something dawned on me that I hadn’t really had time to revel in before; like that scene from Goodfellas:

“HEY MA, IM A FULL STACK WEB DEVELOPER!”

To which my mom would probably respond:

“You look like you’re tired!”

She’s right, but it’s a good tired. I stay up all night because I’m thinking about my work. When we started working with Ruby, we focused on working with methods that we could call on instances of a class as well as the classes themselves. After we had a fundamental understanding of ruby classes, we progressed to SQL and began to learn about databases, how they work and how you as a user can use keywords to CREATE, INSERT, UPDATE and DELETE into tables.

After we could read and understand SQL syntax, we spent some time working on Object Relational Mapping, learning how to build relationships between classes so that classes could have a one to many relationship where a class could assume parenthood of another class, therefore inheriting methods from its “child”.

But here’s the kicker.

With Active Record, programming a backend becomes exponentially easier.

Instead of having to define an initialize method for each class and fill In the attributes associated with a specific class, active record allows you to create migrations which give you the ability to create and append tables as well as establish relationships between tables giving your database all that sweet functionality without having to spend that sweet time. Essentially, Active Record does all the heavy lifting so you don’t have to. Once your relationship models are set and your migrations are written the only thing left to do is to migrate. Usually written rake db:migrate or rails db:migrate, this will create the tables in your database and establish the relationships between them in a schema. Now, you are ready to host your very own backend server.

Kind of.

You still have to write your rack. Your rack is responsible for organizing how your databases receive and respond to requests. This is known as the request-response flow. This is what enables a front end to utilize CRUD operations to fetch from a backend, and you get to see the whole thing happen before your eyes, like a mad scientist watching all the lab rats go for the cheese. With your front and back ends both up and running you can watch the magic happen from the backend terminal. You can watch how the terminal prints SQL that lets you know when a request has been received and handled, which in turns tells you a lot about your application like whether a specific error is happening in the front or the back end, giving you a better idea of how to improve your application’s functionality.

--

--