The leaves have almost all fallen off the trees as I look out the windows onto Vancouver Avenue, Thanksgiving is only a couple days away and with it marks the end of my internship here at Planet Argon. I’m sitting here reflecting on the past six months, a time I’ve come to dub the prologue of my programming career, a time that will, without a doubt, shape the course of my life moving forward.
Now, there are a few coding bootcamps in Portland, but the one thing that really makes Epicodus stand out is that they match you with a company to intern at for the final five weeks of the program. It was something I had looked forward to from the start and after falling in love with Ruby and the Rails framework, I knew that Planet Argon was where I wanted to end up for mine. After a week-long process of interviewing with various companies and another few days spent pacing anxiously, we got our pairings.
There it was, Planet Argon, and I couldn’t have been more excited! The following Monday I began and it turned out to be everything I had hoped for. I won’t go into too much detail on the time here, that’s something other interns have written about (you can use the shiny new search bar I built during my five-week internship to check out those stories). I will say though, I was really impressed with how they just let us dive right into projects and made us feel like we were a part of the team. I am forever grateful for the guidance and advice I’ve received while here and it has definitely been the highlight of the Epicodus experience.
So that brings us back here, looking out that window from the office I’ve come to call home for the last five weeks and I find myself asking, now what? I imagine it’s a question most of my peers from class are asking themselves as well. We’ve been released into the wild to apply these skills we’ve learned, but are we ready? Where do we go from here? How do we convince someone to pay us for this newly acquired skill set?
In an attempt to quell some of these anxieties for myself, I sat down with the founder of Planet Argon, Robby Russell, for some advice. What was intended to be a simple Q and A session for this post turned into a wonderful hour and a half conversation, much of which is beyond the scope of this post.
I’ve instead taken his words of wisdom along with advice from the tech community at large and distilled them into some key points that I think will be beneficial to myself, and hopefully, anyone in my shoes moving forward. I've found the best way to solidify your own understanding is by teaching others, which brings us to our first talking point.
A-B-L, Always be learning
It’s no secret that the tech field is constantly evolving, and it’s our job as programmers to keep evolving along with it, or risk being left in the dust. Maybe that’s a little dramatic, but it goes without saying that if you can stay up with what’s going on with the most popular languages and frameworks, your value to current and/or potential employers is going to increase exponentially.
We live in a very fortunate time, where most of the information in the world is sitting in my pocket at this very moment. Youtube, Udemy, Lynda, Reddit, and Stack Overflow are just a few of the amazing resources we have access to as developers to learn and share with each other. Don’t just stop at what will directly benefit the work you are trying to do professionally, maybe you are interested in learning some Python to mess around with some machine learning or perhaps you want to learn some C# or 3D modeling to make a video game.
Any coding is going to make you a better programmer in general so get out there and keep learning, stay engaged, and stay curious.
A big piece of the puzzle that I was looking to put in place from my talk with Robby was in regards to seeking mentorship. Now that I’m done with school and the internship, I wasn’t exactly sure how to go about finding someone to mentor me. Having someone to bounce ideas off of, tell you when your code sucks, or help with understanding more abstract concepts is important as you grow as a developer. In school, we had teachers who are paid to be in that role, and here at Planet Argon it was made clear that our coworkers were there to help.
But what if you end up at a job where that mindset isn’t a part of the culture or end up working remotely or freelance, what then?!
Well hopefully if you are working in an office, as a junior especially, you are made to feel comfortable asking questions and making mistakes. For those not in that position or on their own, it is important to get out there and stay engaged with the community, attend meetups, attend conferences, find people you respect and ask for a coffee date.
If you show an interest in what others are doing, you’re bound to find someone to reciprocate that and take the time to check out what you are doing and helping where they can.
One thing that really stuck with me from this part of my conversation with Robby was when he said that he recommends new developers seek the opportunity to be mentors themselves sooner rather than later. It’s something I hadn’t thought about in that way before, but it makes a lot of sense. Have you heard of the “protégé effect”? It's a psychological phenomenon where teaching others helps a person retain the information better. If you are able to break down a complicated subject and teach someone else about it then that will just solidify your own understanding of the material better.
So get there and help others, you’ll be helping yourself in the process.
Contributing to open source
The one thing that Epicodus didn’t prepare me for was jumping into giant codebases that I had no familiarity with. Sure, I have over a hundred projects in my Github, but I built those from the ground up, and even the largest ones are minuscule compared to the ones I was exposed to in my first few days at Planet Argon.
I felt like a fish out of water and this was by far the biggest hurdle I had to overcome in my time here. One way that I think this transition could be made more fluid is to expose students by way of open source contribution.
Contributing to open source projects was something I heard countless times from various speakers in school, but how to start going about this was not something that was discussed. This was one of the things I made sure to ask Robby about and what I got from his advice on the topic is to just get in and start doing it. It’s okay to start small, your first contribution doesn’t have to, and probably won’t be, some giant app breaking bug.
A simple google search for open source projects will return plenty of results to get you started. I’ve been poking around in this README on Github that has some good projects that are sorted by language, find one that interests you and get started.
First off, clone the project and get it running on your local machine. Was there something missing or out of date in the documentation about that process? Add it to the README and submit a pull request for it and BOOM you’re a contributor to open source! Check out the issues tab for that project, maybe there is something you’ve seen come up before that you can help out with. Some projects even tag issues with things like "beginner-friendly" or "good first issue”.
So what are you waiting for? Get out there and start helping the community and you’ll not only become a better coder but it’s a great talking point on your resume.
So, Now What?
I’m not even sure if I answered the questions that got me started on this post, but I do feel more confident moving forward. I have built a solid foundation and I feel like if I pursue the things I’ve mentioned here, then I’ll continue on a trajectory that’ll make me an asset to any company that I end up at.
Planet Argon lays out the core values of a great developer as one who is proactive, curious, dependable, delightful, and versatile. I think that if nothing else, if you keep those five traits in mind as you continue your journey and strive to be the best developer you can be, then you can make it happen. I can’t wait to see where this next chapter takes me.