Computer science professors often warn of the inevitable doom of rushing into new projects by writing code, but it’s often an addiction too sweet to fix.
It’s too much fluff, isn’t it? Let’s be real, if you’re good at building software and you’re comfortable with it, why not play to your strengths? Just continue to spew code at every problem faced and iteratively improve as needed.
“Flush out what you’re building and why, then build it.”
I can’t help it. It’s too tempting. It’s almost instinctual to tackle a novel endeavor by whipping out the text editor. How else does a developer build value?
“Stop it.”
John — a friend, mentor, and JP Morgan executive — offered the same warning.
“Who are you coding for? Are you creating something valuable or are you just coding for yourself?”
I didn’t see that response coming.
We were discussing my intent to launch a blog. I had created a number of blog template designs and article drafts, but had yet to publish anything. The bridge I couldn’t cross was that between writing a blog and launching one. It was the same bridge that separated the quality of writing from presentation of the content.
Having been knee-deep in web development and design at the time, I was resolute to dismiss the separation entirely. I had grown too accustomed to populating the Wiess College Website with content and simultaneously decorating it with accents of goldenrod and wanted to make use of my new comfort with HTML and CSS.
It seemed reasonable to write a blog and design it concurrently.
The result of course was a split attention and poor quality on both ends. It was as if I was sketching the blueprints of a house and laying the foundational bricks as I went.
I was writing the blog articles in pure HTML; interweaving paragraphs and citations with <p>
and <blockquote>
tags. The worst part was that I was entirely oblivious of how absurd the endeavor was until I tried to describe the project out loud.
One of my earliest blog draft posts in Markdown.
It is often emphasized how critical the separation of the front-end user interface and back-end application logic is in computer science, but less emphasis is placed on the separation of front-end design and front-end content.
I was stuck. I had built entire blog template designs on top of various static site generators and content management systems, as well as authored a plethora of potential blog articles in plain text, but I wasn’t happy with either and hadn’t put any of the two together for a presentable blog.
I sat there with entire directories of immaculate designs and verbose texts before me; and yet, I had published nothing, announced nothing, and launched nothing. I had produced an enormous quantity of work that added up to exactly zero value.
“You’re moving in 18 directions at once and have nothing to show for it.”
The best solution I had come up with at the time was to build my own content management system(CMS) that would automate the application of one of my designs to one of my articles.
“Why reinvent the wheel? Have you tried Drupal or Joomla? They have been building quality CMS for a decade. To build one for a single project would not only be impossible, it would be dumb, too.”
John was not impressed. His advice was concise yet prolific, and exactly what I needed.
“Focus on your writing.”
Just writing, no code.
Those of you who know me well are aware of the extent to which I tend to obsess over my work and code. You also know how eager I am to share my thoughts on technology, startups, innovation, politics, and education; so I’m sure you can imagine what’s to come.
I’ll have more for you all very soon, cheers!
One to Raymond Cano for inspiring me to get my writing out there. One to Ashwin Varma for always having insights to share about tech.