Skip to content

Instantly share code, notes, and snippets.

@soulcutter
Last active January 3, 2016 19:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save soulcutter/a8b191863add794635f9 to your computer and use it in GitHub Desktop.
Save soulcutter/a8b191863add794635f9 to your computer and use it in GitHub Desktop.
Costa Rica

This past December I travelled to San José, Costa Rica for the Global Day of Code Retreat. Wherever you are there's probably a retreat happening near you on that one day every year - December 13th. Part of the reason I went so far to participate in one this year was because Pernix Solutions invited me to be a guest facilitator. On top of that Table XI and Pernix wanted to try out a Developer Exchange, so this was an opportunity to kill two birds with one stone.

What is a developer exchange?

As the name suggests, developers are exchanged between two different companies for a period of time. In theory this could happen at the same time for the same duration, however to get the maximum value around the timing Table XI and Pernix Solutions are sending developers out at times that coincide with other events - for me, the Global Day of Code Retreat, and for them it will be the upcoming RailsConf 2014 in Chicago.

Why do a Developer Exchange?

LEARN ALL THE THINGS

It accelerates your learning. Working with the same people for a while you reach a plateau where you've exchanged most of the tools in your respective toolboxes. After that, you will continue to pick up things through learning on your own, but any infusion of new ideas comes from the outside. In a developer exchange you not only get to learn how other people write code and about the technology they use to solve business problems, but also how they run their own business. It doesn't even have to be a new idea to you, but sometimes getting jarred out of your current pattern of thinking helps to remind you of other approaches you could be taking. Being an exchange, that same benefit exists for both parties, making it a win-win.

What worked well about how we did the exchange?

Integration. The way we had it set up, I paired with one or two people each day that I was there on the regular projects that they were working on. Other than the fact that I switched projects rapidly, I was felt integrated into their team just as any regular developer might be. There's some advantage in that they were able to get some work out of me, but it also helped to make me comfortable and get to know the people in an authentic and uncontrived way.

Openness. I'm grateful to the openness that everyone at Pernix displayed to me, because without that I don't feel I would have gotten as much from the experience. I definitely have to give a shout out to Esteban Hernandez, one of their developers, who not only hosted me in his apartment but also included me in his regular activities such as going to yoga after work. It was my first yoga experience, and my lack of Spanish language skill certainly made it… an adventure. Part of learning is being open to trying new things, after all, and I've actually been to a yoga class on my own since the exchange. In English. Esteban was a great ambassador to Pernix as well as Costa Rica.

What would I do differently?

It was too short. The developer exchange portion of my trip was really only 3 full days, and I would have liked to pair for a longer period of time with each person. By the time I was able to get a handle what the project was, and the task that we were tackling it didn't always feel like there was a lot of time to collaborate on the solution. I suppose it's a perpetual problem in software development that you never have enough time!

Beyond just the time per pair, it would have been nice to experience at least a full week at the company. I learned that at the beginning of each week, employees give their CEO, Carlos, a goal they have for that week, and he circles back with them to talk about whether they achieved that goal, why or why not, was it a good goal, etc. I missed out on participating in that just because of the short time I was there.

What are some things I took back from Costa Rica

  • One exercise I thought could be really valuable to emulate is how they run a weekly presentation by a different employee each week and post it online. They call it Pernix U.
  • As I mentioned above, I'd like to experiment with being more deliberate in setting goals, and being accountable to those goals. My sense is that some really interesting information could arise from that practice.
  • They have a really great apprenticeship program going on, including outreach to their local university. I found this both inspiring and aspirational. I really think they are a leader in this area, and I hope to incorperate some of their program into Table XI's approach to growing talent.
  • I learned some coding tricks and tools they use. One tool that was instantly useful to me on a project of my own was ngrok, which is a tool you can use to securely expose your local development environment to the internet through your firewall in a dirt-simple way.
  • Yoga.
  • Inspiration to experiment with different things to improve at the craft of software development. This developer exchange was an experiment for me, and I wasn't entirely sure what I was going to get out of it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment