Rails is magic. There. I said it. And I’m learning how to use it. I had a bit of a breakthrough this week. As I may have mentioned previously, Rails is smart. It knows stuff that it really seems to have no right to know. But it’s also surprisingly intuitive. If you know what you want to do, all you have to do is type it out. In semi-plain English. Once you work out the normal syntax quirks (underscores and colons and the like), everything falls into place. Want to put a link somewhere? link_to. Where should the link go? The new user page? Easy enough. link_to “New User”, new_user_path. Done. Need to create a form to create a new user? form_for @user. Honestly, it’s that easy.
That’s not to say that Rails is “easy” to learn, because it’s totally not. But I’m amazed that with only two weeks of really using the framework, I’ve got two functional web apps online. Photogur is a completely un-styled clone of Imgur. It allows you to add photos by URL to a database, view the photos others have added (currently, mostly filler images of Bill Murray and Nicholas Cage, added by yours truly), and maybe in the future, leave comments on the photos. The next (somewhat more impressive, I might add) is called Rainforest, a simple online “shop.” Users can log in, look at products posted by other users, post, edit, look at, and delete their own products (these four actions, Create Read Update Delete, known colloquially as CRUD), look at (but not edit or delete) products posted by others users, and view their own user profile. Go ahead and create a profile on Rainforest and add some stuff, or leave comments on the stuff I put there as tests. (No, I’m not keeping track of any information, it doesn’t need a real email address or anything, I don’t send you anything.) (Also don’t mind the weird page URLs. I know damp-cliffs and immense-peak are bizarre. They’re automatically generated by Heroku.)
Our current project, codenamed SeatYourself (a clone of OpenTable), is an interesting one. It’s the first project where we’re required to work in groups of 3 or 4. It’s tricky to get all the collaboration coordinated, but made much easier through git, which I’ve mentioned before. Git tracks the changes each person makes to the documents, and painlessly merges them all into the master “branch” of the repository. Like a Microsoft Office “Track Changes” feature, but it’s actually user-friendly and powerful, not kinda archaic and computer-freezing. It’s powerful, though a bit quirky. It’s also an industry standard. As in, good-luck-getting-a-job-if-you-can’t-use-it standard, so it’s an important thing to master. (Or achieve a working knowledge of. Because it’s crazy complicated if you wanna know everything about it.) This kind of group work is pretty normal in the software development world, so it’s good to get a lot of practice with it before they set us budding developers loose on the wild world of job-hunting.
Just a few other things of note this week. We had a session on Tuesday about how to network, which was interesting. I’ve never networked before, but apparently it’s important. You may have noticed that I’ve been writing a blog, tweeting from time-to-time, and updating my LinkedIn profile, which are all part of this “networking.” In person though, as far as I can tell, it means “do exactly what I didn’t do at the event on Tuesday night.” Don’t sit with your friends. Don’t be staring at your phone the whole time. Do go talk to people you’ve never met before. Yeah, I didn’t do so great at the whole networking thing. But there’ll be plenty of opportunities, I’m sure. The event itself was interesting though. It was a series of short talks (10–15 minutes) given by people in the tech community (coincidentally, all 4 of the speakers were connected to Bitmaker in some way or another. Two were from current instructors in the program, and two were from recent graduates) about current topic in the tech world, specifically as they relate to Ruby.
Then Wednesday at lunch we had a guy come and talk to us (the third speaker from the Tuesday night event) about his process of getting through a rather rigorous interview process before finally getting hired at 500px, a photo-sharing community for serious photographers. He did the program at Bitmaker in the summer, and was hired about two months afterwards. But he seems like he’s landed himself a pretty sweet gig, especially for a Junior Developer with essentially the same background as me (BA in Philosophy! All is not lost!) He had lots of tips for us, and it’s alway cool to hear more success stories, especially since he and I have similar backgrounds.
Anyways, you’ve probably got better things to do on a Friday evening than read any more of a blog post (and I’ve got better things to do than write one. Like recover from the giant cheese-filled quesadilla I ate for lunch), so I’ll end things there. As always, thanks to the brave souls who click the link, and even more thanks to the braver souls who at least scroll to the bottom so that medium tells me you’ve read it. On to the weekend!