Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

5 Lessons I Learned From My Ruby on Rails Internship at Planet Argon

DZone's Guide to

5 Lessons I Learned From My Ruby on Rails Internship at Planet Argon

Internships can teach you a lot, but they can also help remind the rest of us of some simple lessons that might need refreshing. Read on for details!

· Web Dev Zone
Free Resource

Should you build your own web experimentation solution? Download this whitepaper by Optimizely to find out.

5 Lessons I Learned from my Ruby on Rails Internship at Planet Argon

Five weeks flew by too quickly! Last Friday, our two interns from Epicodus had their last day with Planet Argon. During their time with our Rails development team, James and Tracie were able to work on real, live Rails applications. Along with building their technical programming skills, this internship allowed them to experience planning meetings, daily stand-ups, agile methodologies, and the tools agencies use to communicate every day. On his last day, James put together a list of five things he learned during his Rails internship with Planet Argon. Check them out!

1. Optimize the Speed of Your Rails App

Before interning at Planet Argon, I wrote apps that simply worked. Were they fast? Nope. To the naked eye they appear to be quick to load but scale it up and the whole thing slows down to a grinding halt. For you Rails programmers out there, use find_each instead of all, don’t ignore small things that might slow your app down (they start to stack up, trust me), and don’t be afraid to utilize your database to store data that would be quicker to retrieve than to re-evaluate, if appropriate.

2. Don’t Disregard Your Test Suite

I know, I know – tests are not the first thing on your mind as a Junior Developer. You just want to implement cool new features to show off and you want to do it now. Resist. Before each commit, make sure your test suite passes any tests that were passing at the beginning of your Sprint. Refactor, write new tests or check in with fellow developers if you need to.

3. Write Legible Code

So you’ve written a method and it works, great. A few months later and you’re back on that section and you (and your coworkers) don't have any idea what it does. Or maybe you’re working on a personal project and you let this slide, thinking, “Oh this is just a pet project for my GitHub, I won’t ever work on this again.” True, but maybe in the future a potential employer will want you to explain the code. Don’t be your own worst enemy.

4. Keep Your Friends Close, Keep Your Customer Data Closer

Protect private data with your life. Always utilize proven tools to protect yourself and customers. Protect your API keys, AWS logins, and keep GitHub repos safe by controlling who is a collaborator. The team I paired with on client work did a great job at doing these essential tasks for their clients – and it’s something I’m glad I learned so early in my programming career.

5. Be Precise

When dealing with clients you want to make sure you’re precise with your ideas and language. When it all makes sense to you, it may cause the next person -- developer or not -- to be completely confused on what you are trying to say. Whether these are your clients or they are clients of the business you are working for, take a step back to analyze the idea you are trying to get across. This will reduce confusion and you won’t waste your client’s dollars trying to implement something they didn’t ask for.

There you have it, the 5 crucial things I picked up from my Ruby on Rails internship with Planet Argon. As a Junior Developer, these lessons will stick with me as I grow and adapt in my programming career.

Implementing an Experimentation Solution: Choosing whether to build or buy?

Topics:
ruby ,github ,test suites ,clean code ,web dev

Published at DZone with permission of Erica Tafavoti, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}