Code like a Cyclist

Code like a Cyclist

The 4 AM alarm goes off, and you know to use that short adrenaline burst to get yourself out of bed. It's still mostly dark out as you look out the window, but the clear sky and dusty streets are welcoming. A pre-ride check, tire pressure, spare tube, charged lights, and a snack to keep the motivation up; the ingredients are all in place for a great ride. This article is not so much about bikes as it is about starting a new coding project. Allow me to elaborate.

Over the past six months, I have attended a programming boot camp called Epicodus, aimed at providing the knowledge and know-how to enter the tech industry as a web developer. The fast-paced learning environment requires attendees to develop many skills, fast. Before attending, I rode bikes fast. Each week I averaged 250+ miles on the bike; I am used to having a full-time lifestyle. To frame this better, the time on the bike helped me work through challenges, plan projects, and look for problems down, well, the road.

A big part of programming is problem-solving, and within that is solving problems, you may not know how to address it immediately. Knowing where to find answers and learning from those instances is critical to the development of a developer. The ability to step away from the screen on some problems can, at times, be the best course of action. Countlessly cycling has provided me room to think through complex situations and find clarity. That different mindset often leads to more creative scalable solutions. If you're thinking of becoming a developer or are already one, don't discount the value in switching gears, it can be the boost you need to get back on the productive track. Many workspaces in tech have open areas to take advantage of this, as did my boot camp.

Epicodus emphasizes planning and testing apps while you develop. The preparation begins with behavior-driven development (BDD) and transitions to test-driven development (TDD). BDD is similar to planning a route for a bike ride. You know what places you want to ride, notable landmarks, how much hill climbing you want to do, and how long you want to ride. The route may look perfect on paper, but when you are out on that ride, maybe you run into a downed bridge or private property you cannot ride through. A cyclist finds a way, but it would have been much better to have known that issue would come up. Such are the benefits of TDD--each piece of the app gets tested before called. There are great tools available to developers, such as Jest or Jasmine, that make development go much smoother. TDD is like looking at Google Maps satellite images for your next bike route; you know much better what to expect from what is ahead.

At Epicodus, you pair program, and have individual code reviews, team week projects, and a capstone project. During the class, you start many new projects from scratch aimed at teaching you foundational concepts that challenge you to learn how to learn and collaborate with others over complex concepts and logic. So how does cycling help with any of this? Preparing for a project and preparing for a ride work in the same ways. Figure out where you want to go (with the app), decide how you want to get there (with languages/libraries/frameworks), and set the expectations are all part of planning a great (app | | ride).

About the Author:

I am passionate about cycling and feel there is a huge value in it to our communities and our individual health. Prior to entering tech, I attended business college in northern Ohio; after graduating, I continued working in the industry that started part-time in bike shops. I managed a shop in northern California, where I made great friends and enjoyed the cycling community. I started teaching myself more about the topics of web development when I wasn't riding. The challenges within coding and the environment in which it happens attracted me to the field. The big decision to enter the wild wild west that is the tech industry has been very fulfilling . Feel free to reach out if you have any questions; I am happy to be a resource.

Nice work, Justin! I like the analogy. As a person who is not in the tech industry, it was still easy to follow and an enjoyable read.

回复
Kerriann Walker

Software Engineer at Audacy

5 年

Thanks for posting! I got a lot out of this article.?

回复
Katlin Anderson

Software and Support Engineer

5 年

This is well written and ties two things together I wouldnt normally think could relate. Thanks for posting!

回复

要查看或添加评论,请登录

Justin Kerntz的更多文章

  • Insights on Custom Types

    Insights on Custom Types

    Let’s be clear - A custom type or type system refers to a structured way of organizing and defining data types in a…

  • Find the Bike for You

    Find the Bike for You

    The need for differentiation in markets has created an engineering and marketing option proliferation. Industries more…

  • Applying Sales Techniques to Yourself

    Applying Sales Techniques to Yourself

    Well, days of college have ended, and you have lined up for a smooth transition into the workforce. All the networking…

    1 条评论

社区洞察

其他会员也浏览了