At the end of my second week in a web developer bootcamp, it feels simultaneously like I’ve learned a vast amount and I haven’t learned nearly enough. In the span of ten days of class, our cohort has worked through a wide range of topics, from the conceptual (metacognition, what a programming language is, how browsers interact with code, etc) to the practical (conventional ways to write code, basics of design, how to make the programming process increasingly more efficient, etc). We’ve learned quite a bit about things like git, HTML, CSS, Bootstrap, Sass, NPM, and Javascript.
Importantly, the bootcamp has also presented ample opportunities to explore hands-on applications of these things, both in and out of the classroom environment. It is through these projects that I’ve been able to really solidify what I’ve learned and exercise my own creativity, but this process has also presented a set of frustrations and challenges. Using something like HTML to create the basic layout of a webpage is easy enough, but what about when the goal is to combine that with CSS and Javascript? What about when you want to utilize something like Bootstrap to increase the efficiency of both your work and your product, but doing so conflicts with some of the unique design ideas you want to implement?
The layers of complexity involved are incredibly rewarding to dive into, but can also be equally frustrating and intimidating when they present an obstacle. It’s difficult to go from feeling like you’ve just mastered a technique to feeling like you’ve coded yourself into a corner, all in the span of five minutes.
In a very short time, I’ve learned that web development is a field with great depth AND breadth. There are a lot of languages and technical topics to learn about over the course of the program, and each of these has its own subset of topics so deep that it’s hard to imagine ever becoming completely fluent or knowledgeable in any one area.
Learning and accepting this has been an important step for me. Instead of viewing the class as a linear progression in which we exhaustively cover an idea before moving on, I now see it as a path meant to introduce us to topics so that we might begin to build our own understanding and working knowledge.
Accepting that learning is an ongoing process and a part of the work central to web development has made running into challenges less frustrating and more rewarding.