Community and sharing is everywhere in the web industry. From the act of asking a colleague for help on a beginner issue to the open source software that powers most of the Internet, the relationships between people drive how we learn and how we work.
When I started learning to code I didn’t know this. I opted to sit back and listen, to be taught. Though I thought I was a good student I wasn’t seeking out those relationships and learning from others. I tried to teach myself within a bubble: just me, a computer, and a book. This almost became my downfall.
It was around the time of computer science final exams and I should have been revising. Despite my calm appearance, I was panicking. Adding to that, I was at a loss over what I was going to do as a career. I felt that software development wasn’t the path for me. Whilst I felt like I understood the concepts I could not get along with Java, the language used throughout the majority of the course.
To distract myself I got back to rebuilding the website for my band.
What Went Wrong?
Away from the computer I tried to reason with myself. Was it that I just wasn’t captivated by computer science theory? Perhaps I didn’t understand things as much I as I thought I did. Or maybe public static void main just got in the way of what I was actually trying to learn.
I eventually put it down to the lack of real world application in class. Hindsight has certainly made me aware of the differences between computer science and software engineering, but my frustration at the time lead me to believe anything that sounded plausible.
On reflection, I realise that there was more to it than just that. I didn’t find it tough because I didn’t work hard at my course, but I could have done more. I didn’t involve myself beyond the level of coding. Outside of lectures and tutorials I didn’t hang around with other computer science students. I had friends in many departments, but rarely someone with which to discuss the latest topic from lectures or share ideas.
What went right?
Building a website instead of revising sounds like I was replacing work with a different kind of work, but to me messing about with HTML and CSS didn’t seem like work, it was fun! And there were plenty of other things I could have busied myself with.
In reality, I was standing on the edge of a new community. I had plenty to learn, but this time I was doing so with other people, albeit virtually. The availability of tutorials, use cases, open explorations and comment threads on almost any subject allowed me to relive each discovery as if I was a part of it.
This gave me the confidence to press on with my own learning. Once I’d finished with my finals, I got right back into the web. I started to blog my own experiences and join the conversation within the community.
Community is King
My name is Phil Nash and I am the latest recruit to the Twilio developer evangelism team. It is now eight years since I graduated and for seven of them I have been a professional developer. Those moments spent playing with HTML and CSS, avoiding the revision I was supposed to be doing, lead me to a community that has been the backbone of my career.
It has become obvious to me how much I owe to the countless individuals who have shared their knowledge, and still do, as part of that community. My new role at Twilio is one in which serving developers and their communities is at the forefront. I am excited to join a team whose mission is to empower developers and see what they create.
The most important thing that I’ve learned over those years is that the more you put into a community the more you get out. I have tried to give back via blogging (somewhat sporadically, but getting better), open source, attending meetups, and speaking. Now, as a new developer evangelist, I have the opportunity to do so even more. I couldn’t ask for a better platform to return the favour.
Oh, and that band website? It lives on. Publicly it’s a record of our music, but privately a testament to the best bit of revision avoidance I have ever done.