close
close

Product Manager’s Diary: What I Learned in the Introduction to Web Development Course – Features

A few months ago I wrote in SOURCE about learning how to work with development teams and software vendors as a new information product manager. My next step at this time: taking an introductory web development course to improve my understanding of coding and, in turn, improve my communication and collaboration with these teams.

So after a short break and four weeks of intensive introduction HTML, CSSand also Bootstrap, I came back and I can say that I am now fully fluent in it and can comprehensively create and implement my own websites.

Just kidding. But I went through the entire process of building and implementing a basic site this month, and in doing so, I achieved my goal: I became more proficient in these languages ​​and frameworks.

My knowledge of development up to that point had mostly been learned on the fly through product-focused roles and working with engineers. I hadn’t learned in a structured way around coding before – I could improvise a few lines HTMLfigure out where to put scripts and understand the basic goals of the languages, but in most scenarios I had to rely on guesswork. I didn’t know enough to make many simple website fixes myself, nor did I fully trust my coding decisions. As someone who worked in small offices or teams with few resources, it was important for me to learn this.

Curriculum

My month-long course included asynchronous daily learning and a synchronous weekly session where we worked on group exercises. Each week we focused on a new language, starting with HTMLand then moving on to CSSand then to the Bootstrap framework (which adds JavaScript and interaction to the mix), before bringing it all together in the final week.

Most of my classmates were career changers looking to upgrade their skills or software engineers looking to refresh their knowledge. My instructor, a software engineer himself, joked that I, a product manager, had signed up for the course because I didn’t like writing applications for jobs that were only worth 1 or 2 story points. (In many cases, he was right.)

The first week was about HTMLwhere I felt most comfortable. In previous projects I had figured out bits and pieces HTML to change colors, create simple automations, and add markup to documents. Building greater muscle memory through writing HTML was not daunting and I found that understanding the basics helped me connect pieces of language that I had been exposed to but didn’t know the “why” behind it. For example, I laughed when I learned that the term “anchoring” elements on a page comes from HTML element anchor tags.

Taking the time to understand the formal structure of the language, like learning the difference between div and section elements and what semantics and nonsemantics refer to, was like working with kitchen utensils for the first time after watching professional chefs prepare meals from scratch. The same turned out to be true for CSS week: I learned about classes and identifiers, when to use internal or external style sheets, and the “cascade” of granularity (I played around CSS (Online game “Diner” for entertainment during exercise.)

In the final part of the course, which focused on Bootstrap, I continued to discover how much I already knew about assembling the building blocks of a website—and I continued to be surprised by the complexity I didn’t know about. One of my biggest takeaways was a more detailed understanding of building for different viewports. As a product manager, I’m adept at planning for mobile and desktop screens, but learning about breakpoints and how to navigate viewport sizes in my browser helped me better understand the conversations I had with developers about multi-screen requirements. And going through the Github submission process gave me a greater sense of admiration for those who memorized this delicate process and reduced it to a few quick keystrokes.

My conclusions

It is crucial to know the structure of the language and its interactions with other languages.

My biggest discovery from this course was a better understanding of the use cases for each language and framework. After CSS week, I remembered when I was asked to decide on my preferences for using CSS vs. Javascript for a new feature in one of our news organizations’ products — at the time, I didn’t know enough about the pros and cons of each. If asked now, I could answer, and if I take more advanced coding courses in the future, I would focus on the different applications of these languages ​​and frameworks.

ChatGPT is a game changer, but not a complete game changer.

Some may be skeptical about the usefulness of an introductory coding course in the ChatGPT era. A year ago, when I had little knowledge of web development basics, I tried using ChatGPT to write a few lines of code for a website I was working on, with mixed success. ChatGPT could create elements for me, but I didn’t know how to get it to interact with all the requirements of my project. During the web development basics course, I sometimes used ChatGPT to help me identify missing element names or finish a few lines of code. Now, I feel like I’m a better tooltip engineer for ChatGPT, using it to help me make small changes, find the right name for elements, troubleshoot problems, and finish short lines of code.

Self-confidence really is everything.

I spent part of my four weeks on the web development course reaffirming what I knew and connecting the dots of my knowledge of the code. Previously, I had some knowledge and lacked the confidence to use it; now I see that I won’t question the decisions I make when working with developers.

Conclusions

Between my last song SOURCE and in writing this, I changed roles from working in an organization with established product and engineering teams to a small organization where I am one of five permanent employees. What I learned in this course is useful in both environments. In my previous role, where I worked with multiple internal and external development teams, the added fluency and confidence in coding decisions would have helped me write tickets, organize scrum meetings, and plan projects. In my current role, the ability to write a few lines of code to improve features and processes will make several parts of my job more efficient.

In a recent conversation with a new development team I was onboarding to our organization’s technology stack, I had to describe a set of integration requirements, along with possible programming languages ​​to use. I spent less time in that conversation (if any) questioning my descriptions, and I knew I was communicating accurately about the possible approaches and which ones I thought would be most beneficial for our project.

For beginners or product managers who haven’t had the opportunity to learn coding in a more formal environment, I would recommend a similar low-intensity development course. Expanding or refreshing knowledge in this way can be helpful for product managers working with developers, product managers who may be the only one with that title in the organization, or product managers preparing to take on a large organizational project such as a redesign.