My Introduction to Ruby on Rails

I went through a job change in September and October 2023. People would often tell me “You’ll easily get a new job”. They couldn’t be farther from the truth! Despite having a solid (but old) degree in Computer Engineering, long-term employment with highly visible employers, and experience writing website applications for 7 years, hardly anybody would even look at my resume. Turns out that the computer science industry now only cares about one thing: years of experience in a specific programming language and specific framework. So 7 years of experience writing PHP, MySQL, JavaScript, CSS, and Bootstrap applications using an in-house framework didn’t interest anybody. Within a few days of hunting for jobs, I discovered this and…

If you’ve ever done job hunting where there are literally hundreds to thousands of job postings across several dozen different sites, you know that you have to get organized. Kind of sounds like a job for a spreadsheet, right? It could, but then you’d have over 20 columns and many rows would have duplicate data. Sure, you could mess with pivot tables and… but why when that’s what small web applications are literally designed for?

So I wrote my own Ruby on Rails app.

To be clear: despite having an MVC background and various other programming languages, I had zero real ruby experience, let alone the Rails MVC framework. Using the main Ruby On Rails Guide, I went from nothing to a fully functional application within 30 development hours. I was thoroughly impressed with the quality of the guide and the ease of learning the new language and framework. The simplicity of the rails framework to learn and run with and immediately create an app was jaw-dropping.

The app has all the basic features:

  • Job sites with information about each job site (descriptions, last visited date, rankings, site features)
  • Postings applied and associated information (date applied, date they got back to me, technologies used, pay range, posting URL, job site found on, and others…)
  • Reports to help break down which sites have the most quality postings and the amount of postings applied per week
  • That mental checklist of… it’s been so long since you’ve last looked for a job that you probably need to remember…

Those features enabled, from a programmatic perspective, enough basic programming features of a website application:

  • Basic Create, Read, Update, Delete
  • Multiple Database tables with Parent-Child relationships
  • Integrating CSS, JavaScript, jQuery, Bootstrap, and Bootstrap tables into the app
  • Full SQL statements, which, from an experienced software developer’s perspective, are a whole lot easier than all the lines of MVC helper functions. In the past, I’ve written (and debugged) true SQL, with several dozen select clauses, and over a dozen joins, all nested in a group… the only way to create and debug those statements is with the raw SQL

My next steps? The app was created on my personal laptop months ago. Now that I have my own VPS, I’ll be working on deploying the app to this server. I’m not really sure when, but, I’m hoping it’s sooner than later.