Written by Mikenzie Ginsberg – iX Coding ’14, University of Michigan
I arrived in Cape Town at the end of May with no prior coding knowledge and no concept of how complicated it was to build a seemingly simple website. Fast forward four weeks and I had learned the foundations of programming and contributed to building a dynamic web application.
I had been exposed to a whole new world of creation through code, but I also realized my limitations.
The coding lessons at iX ended 2 weeks ago, and I was placed into an internship at a tech company, Prodigy Finance, where I was expected to contribute something meaningful to the company with the coding skills I acquired over the past month. How in the world was I qualified to be a “web developer” when I had just started to program?
My first week at the internship was surprisingly underwhelming. We were given the project of redesigning their dashboard so that it was more appealing to users and had greater functionality. Eager to jump right into the code, I was slightly disappointed when the task for the week was simply to create mock-ups of the final product. This seemed too simple and we completed our work pretty quickly. I really didn’t see the point in planning the site when we could just go straight to creating it. To add on to that, everyday we had to have a “stand up” where each member of the development team spoke about what they have to do, what they were currently doing, and what they had done for the week. I appreciated that everyone was communicating and creating definitive tasks, but it kind of seemed like a waste of time to be honest.
As we began programming the next week, I started to realize the purpose of all our prerequisite exercises. The mock-ups provided us with structure for the content and the stand ups allowed us to assess the practicality of our original plans for the week and change them accordingly. However, it wasn’t until we had our first “reflective meeting” that I fully understood that reflection and planning is not just important, but an integral part of being a web developer. For an hour, the head of the development team provided us with an open platform to reflect honestly on our experience working at Prodigy thus far. We discussed what we had enjoyed, learned, and most importantly, what we were frustrated with. This was eye opening for me because until that point, I had not taken a second to ask myself those questions, and when I finally did, I was able to realize what was holding me back last week, and could work with the development team to learn from my previous mistakes and become a better coder in the future.
Contrary to my preconceived notion that computer programming entails sitting behind a computer “plugged in” coding all day, there is actually a lot more to being a programmer than meets the eye. Web development is about learning. During lectures in the iX course, the head instructor, Salman, always asked us “could we make this better?” And the answer was almost always “yes”. At the time, I thought that was only the case because we were novice coders who used verbose language to execute a simple line of code. However, from working with the Prodigy team and watching them continually challenge themselves to improve, I have learned that with programming, you can always do better.
Programming is an endless cycle of planning, reflecting and making changes to improve in the future. That is probably why it is called web development, because you are always in development mode.
Oh, and I climbed a mountain this morning before work – a great start to the day and perfect motivation for my week: