About the past. Foreword.
About the past. Foreword.
The world used to be a really big place. Communications were facilited within the boundaries of a person’s ability to travel. Then came fire, beacons, and smoke signals. The invention of formal postal systems expedited communications and for the first time in human history we had the capacity to converse over great distances. With the invention of electricity we were suddenly given the power to instantly communicate via the telegraph and as time went on we had radios and telephones. History proves that we will continue to innovate and push the boundaries of communication.
Through the tube
Working remotely is securely hinged on this idea of instant communication. It certainly has its pros and cons. Alex Turnbull wrote a good blog post on the subject dealing with software development teams. Speaking of software develpment teams, over the last few months I’ve had the pleasure of working remotely with a great group of people at Continuity. I want to take a second to reflect on that time and how it has personally made myself a better programmer. This is a brief post about my remote internship experience.
In the foreword I chose to write a little bit about the history of remote communications. I did so because I think it is necessary to just eliminate the elephant in the room. Currently, technology has its issues. Internet connectivity seems to be a daily issue. I think it is easy to get caught up in this one issue that you forget all of the good things that it brings. Yes, there are problems. It isn’t a perfect medium yet but given time the technology will mature. Plus, it’s nice to take a break sometimes even if it is forced. :D
So how has working remotely made me a better programmer? Well, it has forced me to use certain technologies to do my work. Shelling into an Amazon EC2 instance just feels natural with what we are doing. Not only does it provide access to my workspace from anywhere in the world but it is teaching me fundamentals of Amazon Web Services and other web technologies web development uses. The first time I heard of Vim I easily dismissed it in favor of GUI based text editors. I didn’t see the benefit of Vim over the console. Oh, and I thought I knew enough about Git before but my understanding of version control has grown leaps and bounds. Generally, my linux prowess has also increased. I realize that had I been in New Haven I probably would have this same experience but in reality we all work remotely in some sense so I felt compelled to talk about this.
Pairing is really what this is all about. Thousands of miles away from the core team can be a pain sometimes. It has really taught me to be more vocal about my thoughts and keep it courteous (I tend to curse like a sailor). I remember my first few days…months where I would try to describe where to go on the shared screen and it would just be me saying “go up” or “go down”. It seems so stupid but it took me a minute to understand that this is not a practical way to communicate to someone how to move. Hell, it isn’t a good way to communicate with someone you’re right next to. Take into account that we have to talk about some pretty abstract ideas and you can see how communication is essential to being a good programmer.
The work culture can take a pretty big hit when seperated from the company. I’m so happy that I get the chance to work with such a light hearted group. I think Dan had made a point of mentioning in one of my first retrospective experiences with the team that we should joke more. I agree. I laugh at everything. Sometimes it isn’t healthy. It is good to know that the people I work with on the other line aren’t uptight and think we are wasting our time. I think it would get really lonely if it was just all work and no fun. That is why I think humor is essential to working remote.
I could go on for days but I wanted to keep this short and now it is time to get to the real point. I want to thank everyone at Continuity for taking a chance on me. I know it probably took a few discussions. This summer has been great. I’m glad I got the chance to go out and meet the team in person. I’ve grown immensely. I think I achieved everything I wanted and more. I’ll never be happy with what I know and I am constantly ready to learn more. I just hope in the future that it is with a group of people like the Continuity Engineering Team. To any future interns that read this, you’re making the right choice.