I just published a basic CRUD (create, read, update, delete) application for Learn.Co. It’s titled Home Inventory Tracker and is a simple web application connected to a database that allows you to keep track of the rooms and items in your house, whether for personal tracking or for insurance purposes. If anybody is interested in trying it out for themselves, the repository is located here.
…

Intro

This is going to be more of a personal post versus a technical one, but I think it’s important for me to get out there.

Why did I decide to get involved in web development? I am a 30-something with an MBA in Business Analytics and a law degree (yet to be used but maybe one day?) currently making my living as a data analyst. I love data and learning and exploring all the ways it can help advance our society. While my job is a great one, I still feel unsatisfied and have a hard time picturing myself continuing down this path to retirement. So, I have made it a point to keep myself open to other possibilities. This has led to where I am currently – learning web development through an online bootcamp. (Flatiron School’s Learn Verified)
I have always been technically inclined; my favorite part of my classes was building the spreadsheets and running the algorithms. I organize to a fault and am always looking for ways to be more efficient and end careless errors. In my job I started writing Excel macros; after that came the basics of VBA and simple scripting.
There is a term that I’ve heard called flow in which you are so engrossed in what you are doing that time just flies by. You can get into a steady stream of work where you are not easily distracted and are “in the zone.” I always assumed this meant having great concentration skills. That is, until I first experienced it when I was working on an automation script. Suddenly, the work day was over. I was so caught up in finding a solution that I didn’t even notice the time passing. That’s when I knew this type of work was something I wouldn’t get bored with and could see myself doing long-term.
I think I’m drawn to programming because it requires the logic and rules a type A person craves. But it also requires creativity and knowing how to think in the abstract to solve a problem. There can be many different ways to get something done and I find it so gratifying to come up with one of those ways. It’s also fascinating to see how other people might do the same thing. Programming has given me a completely new way to challenge my brain.
In college, I never even considered computer science as a possible career, and business school didn’t venture into anything beyond analysis software. Even though learning web development through Flatiron/Learn has little intersection with what I spent all those years studying, I believe that investing in yourself is one of the most important things you can do. I’m not quitting my day job any time soon but I am open to exploring this potential new career and learning everything I can. Hopefully I will find that position that perfectly balances data analytics and programming. Until then, I can at least see a road in front of me.
…

As part of the Learn.Co Web Development program, I was tasked with building a Ruby command-line gem. The gem I built is called “Tutorial Central” and can be found on RubyGems.org and on my GitHub site. Basically, I took the awesome site www.hackr.io, which curates a bunch of tutorials for all different programming languages, and created a program that allows you to browse the site’s categories and tutorials from your command line. It’s very simple, and I doubt it will be very useful to many people (at least in it’s current state) but you should absolutely check out that website!
As for the whole gem creation process, the best advice I can give to those who might also be thinking about building a gem is to JUST GET STARTED. Like a lot of people out there, I am a perfectionist and want to make sure that I’m doing things ‘the right way’ and am fully prepared before I start any project. This means that basically anytime I am about to try something new – whether it’s a new vacation spot, buying a new product, or here, building a gem – I spend an ungodly amount of time researching the shit out of anything and everything involved. This can end up being a no-man’s-land for me - there will always be one more tutorial or blog post to read. If it’s the same information I’ve read, then I’m just procrastinating, and if the author has a completely new/different opinion, it most likely will only confuse me, not help me.
Programming is one of those fields where you absolutely have to learn by doing - and you will most likely never feel “ready” to take on a completely new concept or project. But the good thing is that (most likely) whatever you do will not cause the world to fall apart or the internet to crash (in fact if you’re like me you won’t even be able to get the damn thing to run at all) so there’s no harm in JUST. STARTING.
Once your have your idea, I would say don’t even think about the ‘gem’ part of your program yet. Build the basic classes and methods of your program first, because you know how to get at least that far. Then, once you already have a basic program, look into how to turn that into a gem. I recommend using bundler, as you’re likely already familiar with it and it makes things very simple. Then all you have to do is transfer your code into the right structure and get it all to talk to one another (although admittedly that’s where I had the most trouble - ‘requires’ and ‘require_relative’s’ just do not click for me sometimes). If you go about creating your gem this way, when you get stuck it will be on a specific problem that you can get help with rather than the overwhelming ‘how to build a ruby gem’ google search. Don’t be afraid to just try something - error codes are not that scary, and they at least mean that something is happening, versus staring at a blank file! Good luck!
…