Community = Building Bridges
My first approach to learning code was going to school at the local community college. Truth be told, I am not exactly sure how I should rate that experience. I met some great people. I learned the fundamentals that carry me daily as a developer. But as I finished the core CS classes, I was still completely unprepared to build something for the real world. I didn't know that at the time, but I would eventually come to understand it. I would realize that what I had hoped to get from school was something that I still did not have.
So there I am, done with school. Ready to try some "real-world" programming. After dabbling around with several different flavors of Java MVC, I accidentally ran into JavaScript. It wasn't love at first site, but it might as well have been. JavaScript fit into my head better than the languages that I had learned in school and work. I was able to think in JavaScript, which wasn't something I had managed to do in Java or C#. But, while JavaScript was easier for me to code in, I still wasn't learning how to build anything that someone could use. I needed to find something, some place, some one, that could show me how to build an entire app, from start to finish.
Who can I trick into helping me now?
School was out. I needed to figure out a new way to continue learning how to code. If only there were other people out there, people like me, who were also in need of guidance. If only there were groups of people who met on a monthly basis to talk about cool stuff. If a group like that existed, they could help me. I was sure of it. To my surprise, I was surrounded by user groups that were action-packed full of people from whom I could leech knowledge. "Very cool!" I thought. After a few months going to these groups, I was learning some of the things that actual developers do. I could even deploy my own web page (don't laugh, this was big time for me), with the help of DropBox.
I was now to the point that I could write code and build things, even if only simple things. Thanks to Chrome's browser extension platform, I was able to use some of my skills to modify websites that I was already familiar with. Browser extensions afforded me the privilege of telling parts of the web how to act, rather than experiencing the default user experience. The ads on Facebook no longer existed. My fantasy football site had new stats that weren't there before. In other words, life was good and only getting better. These user groups had taken me to the next level. I was learning again. The only problem was that I needed a user group 24-hours a day. Thanks to my ADD, when something manages to draw my interest, I am able to focus on it so well that I can't even sleep. I was coding during all hours of the night. My wife loved that.
The Nighttime is the Righttime
Everything was not well, however. As I coded, problems took me much longer to solve during the night vs during the day. The reason: I had no one to ask questions to at night. I was now in dire need of a place to go when my stack would overflow. I asketh and the universe giveth. I can't remember who showed me the site, but for a few years, StackOverflow replaced Google atop the list of my most used websites. As I learned about StackOverflow, it didn't quite fit into my head. I felt like it was an unbalanced math equation. "You mean to tell me", I thought, "that there are people in the world just sitting there, ready to answer my questions? And they are there all day and all night long?" The basics I understood. I log in, ask a question, wait five minutes, and I get an answer. Easy money! What I couldn't understand was "Why?". Why would people do this? What did they get in return? Even to this day I have a special place in my heart for StackOverflow.
My own, personal 1-800 support number
So, as it was, I had support during the day AND at night. I had a proven way to learn new things, and I could learn them around the clock. Life was getting good! During the day I could ask a friend, or one of the user group guys. At night, I could ask complete strangers online. And that was when it all changed for me. My life as a programmer changed completely. I didn't have all of the knowledge that I needed. But I did have the tools to get the knowledge that I needed. I was ready to venture on my own. I was ready to become a developer.
The community around JavaScript that I had discovered changed it all for me. And I was amazed that they would so freely give it to me, asking nothing in return.
Bridge Builders, the whole lot of them
A few years later, I read a poem that immediately struck home with me. It is a poem about someone who walks a path, and makes it easier for the next person to walk the path, by building a bridge. This is what the JavaScript community had done for me. They had built me a bridge.
The Bridge Builder, by William Allen Dromgoole
An old man going a lone highway,
Came, at the evening cold and gray,
To a chasm vast and deep and wide.
Through which was flowing a sullen tide
The old man crossed in the twilight dim,
The sullen stream had no fear for him;
But he turned when safe on the other side
And built a bridge to span the tide.
“Old man,” said a fellow pilgrim near,
“You are wasting your strength with building here;
Your journey will end with the ending day,
You never again will pass this way;
You’ve crossed the chasm, deep and wide,
Why build this bridge at evening tide?”
The builder lifted his old gray head;
“Good friend, in the path I have come,” he said,
“There followed after me to-day
A youth whose feet must pass this way.
This chasm that has been as naught to me
To that fair-haired youth may a pitfall be;
He, too, must cross in the twilight dim;
Good friend, I am building this bridge for him!”
There are just so many people who are willing to give so freely of their time, and of their patience. They give, in hopes that they can help the next person cross the same path that they have traveled. Rather than move on with their lives, they give to us. They give back, taking time to ensure that others who travel their same path have an easier time that they did. This is is a great gift that they give back. And who are they giving it to. Us! Strangers.
Case in point, consider the JavaScript client-side framework explosion. I am continually impressed by the many different ideas, approaches, and tools that are built each day, and given away freely to the rest of us. I am thankful that they all exist.
A few years ago, as I began to learn Angular, I got passionate about it. Angular had the answer to so many questions I had around front-end development. It was a step in so many right directions. And I fooled myself, for a while, and told myself that the other framework builders we not good people. Because of how passionate they were about what they were doing, and because they were so passionately opposed to Angular, I took that as a sign that they didn't care, or that they didn't care about building bridges in the same way that the Angular team did. I was wrong. And in fact, the opposite is true. They care about the community, and about building those bridges and helping the next developer. In fact, they build their frameworks for me, even though I don't use them. That's right. Even though I don't use their framework, they built it with the intention that we would all hopefully see it's brilliance and use it one day. They are all bridge builders.
Conclusion
Years after first needing help to cross the bridges of development, I find myself in an awesome position at the greatest company I have ever worked for, with the greatest people I have ever worked with, working for the greatest people I have ever worked for. And I still remember the friends who helped me, the user groups that mentored me, and the sites that were the most effective in helping me get what I have today.
As we wander around the JavaScript community, and around it's many sub-communities, think about what we are. Am I a bridge builder? Or am I bridge user? Am I the person that gives of their time, submitting PRs, writing documentation, providing feedback on projects, and presenting to the community? Or am I the person who is learning, for whom the all of these awesome bridges are intended? Which ever we may be, please realize your role in this community, and feel empowered to magnify that role. Be aggressive in leaving your mark, in building bridges, so that we too can leave lasting and meaningful changes for those around us, and for those who will follow the path after us.
Senior Product Manager at FamilySearch
10 年Excellent application of the universal concept of paying it forward with an attitude of abundance and a desire to innovate through collaboration.
Front End Engineer at Accenture Federal
10 年Inspiring post. I feel the same about our JavaScript community and I think that it doesn't end there. The whole web development and open source ecosystem has built so many bridges and has selflessly given so much. I am grateful to be a part of it and am constantly inspired and motivated to build my own bridges to help the next youth that passes this way. Attitude is contagious and infectious. We are lucky to have such a positive community.