Code Retreat and why you should attend

People sitting at there computer.
What I Imagine a Code Retreat might look like in person.

So over the weekend, I attended my very first code retreat. Now you may be asking yourself, what exactly is a code retreat. Well, saddle up, because I’m going to tell you. Code Retreat is a day-long, practice event. It is held globally in multiple cities. It gives programmers the opportunity to practice skills without having to worry about getting things done, or other pressures that they might find at a job.

People attend a code retreat for varying reasons. Myself, as someone who just finished up at the Flatiron School coding boot camp, I wanted to increase my knowledge base. The main focuses at code retreat are pair programming and TDD or Test Driven Development, two things that I don't have a lot of experience with. The other reason I attended was to network and meet other programmers. Making a career change can be hard, and meeting people in an industry you are trying to join can be intimidating, but everyone I met was super nice and easy to work with.

Code retreat is usually held in person, but couldn't be this year, for obvious reasons(Covid-19). I will get into the technologies that were used that made virtual code retreat possible, but first I want to talk about the format of the day first. So, the day was broken up into two, two-hour sessions, separated by a 1.5-hour break. The break was longer due to the virtual nature of the event, which was welcomed, as being on a zoom call for that long can be intense. The sessions were broken into two sets. You would pair with someone, work for forty-five minutes, and would then rejoin the group and discuss what you did, and then pair with someone new and do it again.

The problem that was worked on is called Conway’s Game of Life, which “ Is a zero-player game, meaning that its evolution is determined by its initial state, requiring no further input.”. In the first session, we just had to write the program, or at least get as far as we could. At the end of each session, and this is important, we had to delete all of the code. Now, this might seem counterintuitive, but I assure you it adds to the learning, and fun of the day.

Two of the four sessions had some sort of constraint to them. The first one we worked on, was what was called ping-pong. This was the thing I was most interested in because it gave me my first glimpse of test-driven devolvement. The purpose is to write a basic test and then write the code to solve that test. So you start with one person writing a test, and the other writing the code to solve it, then you switch. I really enjoyed this part, and I was paired with someone who had experience writing tests, which was great. The second constraint was something called 80/20 or maybe 20/80. This constraint was fun, basically, all named variables, methods, functions, and the like had to be at least 20 characters long. Meanwhile, no line of code could be longer than 80 characters long. This makes for some really fun naming.

Now, I want to talk a little about the technology we used to make this event possible virtually. I want to mention that some other participants had some problems with some of the technology, but I had smooth sailing the entire day. The main tech we used was zoom(obviously), and it worked great. They added break-rooms, which we could join as we wanted, and they could all be closed and we would head back to the main room. I believe this all worked seamlessly, but then again I wasn't in charge of that aspect. The second app we used, and probably my favorite, was VSCode live stream. This is kind of like sharing a zoom screen and allowing remote access to the other person. The difference is that each user has its own cursor, so no fighting over who is in control of the pointer. Again, this worked great for me and the partners I used it with, but I do believe some people had some trouble.

I think the day was handled brilliantly by the creators. Everyone from Pittsburgh Code & Supply and Academy Pittsburgh was great, and fun to interact with. So good, in fact, I think I will become a paying member of Code & Supply. My only gripe about the event was that it didn't have as many people signed up as I would have hoped, but that's no one's fault really. It also possible that it wouldn't have gone as smoothly with a ton more people. Either way, this is definitely something I would do again, hopefully in person. I’ve added some links at the bottom to check out and get some more info.

Full Stack Developer Ruby and Javascript. Recent grad of the Flatiron School.