My original motivation for learning how to code wasn’t because developers were in high demand career-wise, or because there was a lot of support for women interested in tech.

My original motivation for learning was because I really, really wanted to create a mini social network for students working on civic engagement and social impact causes in their community, so that different student organizations working on similar non-profit-driven missions could connect and share resources and ultimately become *better* at what they were doing.

Incredibly, I signed up my first 300 users and created my first prototype of that site — a WordPress site with a Buddypress plugin — without knowing an ounce of code. I’d somehow convinced my freshman-year economics professor, Dr. Leachman, to be my advisor for a self-crafted independent study course on social networks and civic engagement, which in my mind validated the 8 hours a day I was spending working on the site. I was literally treating it like a full-time job, which was hilarious because in addition to balancing it with four other econ courses and a part-time job, I was also — again — in the unenviable position of not really knowing how to code.

What I mostly did, instead, was look at my WordPress files and guess at their functions. I’d change up CSS values, and google CSS snippets, but I didn’t know that it would’ve been incredibly helpful to master CSS *selectors*. I’d move around text, and accidentally break PHP, and then hilariously call up my hosting company to ask them to reverse my changes by loading an older version of the database.

Ultimately, I probably spent much more time than I needed working on development features with a hammer instead of a scalpel, but reflecting back, I don’t regret it, because it was so much fun — because:

A) In addition to installing an atrocious number of WordPress and Buddypress plugins, I was scheduling interviews with students, professors, and university staff, and learning about their goals and motivations, and trying to find buy-in where I could, and demo-ing my site.

B) People were truly excited about the potential for the social network to shine a light on student civic initiatives and local non-profits, and had lots of questions about why people would want to visit my site instead of Facebook, and loved the gamification features (which I installed using a Buddypress plugin). I got lots of buy-in from people who weren’t sure where this social network was going, but were interested in getting aboard the ride.

C) I wasn’t always able to figure out how to implement the suggestions people gave me, but I remember that it was thrilling — always — to make some small change and see it come live on the site.

Fast forward: I finally pick up a legit CSS and jQuery and WordPress book, and find it helpful for when I’m thinking up prototypes to A/B test at my job, where I’m having tons of fun trying to increase the rate of action-taking and sharing of meaningful progressive content.

Fast forward: I enroll in a 12-week Mon./Wed. evening front-end development course, have an incredible amount of fun learning with my fellow part-timer classmates, learn *that’s* how HTML/CSS/JS files can work together to *run in one’s localhost*, learn about how *filepaths* in HTML files work for the first time, and start taking the Chrome web console seriously as a debugger tool, and learn about how media queries are used for responsive design.

Fast forward: I pick up Bootstrap and Git (convenient because I end up using both for my job, where I’ve transitioned into doing front-end web development full-time), and discover that I *love* going to hackathons and learning from/working with/teaching other people.

Fast forward: I realize that I suck at javascript. I read Eloquent Javascript for the first time, but read it incorrectly — i.e. glancing at the solutions, skipping over the exercises, and not often fully comprehending the concepts I’m reading about: things like closure and hoisting and the unique treatment of the javascript “this.” I take a class on Javascript, which introduces me to a whole new world of thinking in terms of objects and classes, and I severely regret the fact that I had zero interest in taking an introductory Computer Science course (“I don’t want to have a career where I stare at a computer screen all day!” “I don’t want to follow in my dad’s footsteps!” “I probably won’t be very good at it!”) for the majority of my time in school.

Fast forward: I lose my initial, irrational fear of working with APIs.

Fast forward: I self-study Learn Python the Hard Way and  Introduction to Object-Oriented Programming with Python course on Udacity, which — funnily enough — helps accelerate my understanding of javascript. From going through Django tutorials as well, I suddenly realize how little I know of regular expressions and creating models/databases and — in general — full-stack, back-end web development.

I am lucky enough to have a wonderful significant other and family and friends who support me, though, and who have helped me discover that learning programming together — i.e. reading a tutorial together and pair programming through exercises and projects — can be an incredibly helpful part of the learning process.

Current time: I feel the pressure of learning ALL THE THINGS.

Current time: I feel the pressure of learning ALL THE THINGS, but what I do have to show for it?

Damn.

You know, this post was supposed to be about actionifying the news — i.e. using a website, in some way, to help people digest the terrible things happening in the news, and turn that outrage into positive action that can be tracked — step-by-step — and historically — through time. A timeline of real-time advocacy, if you will. That was my idea.

Somewhere, I think, my motivations got bogged down by the technicalities. And maybe that’s okay. I’ve found that the more I learn, the more I see different languages and technologies tying together, and the more competent I’ll be if I ever want to product manage and build out an incipient fleeting idea.

But I *am* starting to realize that maybe — just maybe — I need to take a deep breath, and not lose sight of the ultimate goal of mastering models-views-controllers or python or a particular javascript framework… the ultimate goal being, of course, the creation itself.

In this current world — where we have the option of choosing between Django vs. Rails and WordPress vs. Drupal and SASS vs. LESS and Twitter Boostrap vs. Zurb Foundation and Flask vs. Sinatra and MySQL vs. Postgres vs. MongoDB and AngularJS vs. NodeJS and Jekyll vs. Tumblr vs. WordPress vs. Blogspot vs. Ghost and etc. vs. etc. — let’s not lose sight of the end users and the ultimate value added of our products.

After all, no one questions that Watsi runs on X technology stack when it raises enough money to cover the medical fees of thousands of people, or that Upworthy runs on Rails when it’s able to shine million of views on formerly unknown inspiring people and projects, or that Nicholas Kristof’s writings (no code!) on his New York Times blog raises thousands of dollars for out-of-sight causes, or that Everytown runs on Y technology stack when it raises enough donations to deliver over 2 million postcards against gun violence to policy decision makers, or that the technologies behind Avaaz, Change, and MoveOn.org for their petition tools and advocacy platforms are Q, R, and S.

What matters is the user experience, the use case, and the outcome. The technology is only a tool.

So without further ado:

Dear Self:

Don’t stress out.

With reflection,

LP

 

blog comments powered by Disqus
  • Hi, I'm Linda! I enjoy going to tech meetups, learning web development, and blogging about the learning path. Follow me @LPnotes

Subscribe to The Coding Diaries