Blog Post

Solo Founders

Vishnu Mohandas‘ blog post Persisting as a solo founder immediately resonated with me, after discovering his content on the HackerNews front page.

After 2.5ish years of building my own business (to date), I can acutely sympathise with each of his challenges and observations in designing, developing and selling his vision.

Overwhelm is never far away, and given a foothold, can quickly unravel the carefully balanced mindset required to sustain, let alone succeed.

Tracking numerous technical threads across clients and products, practicing rapid decision-making, managing relationships old and new, maintaining a continuous learning mentality, juggling financial and time pressures… All the while remaining productive in your primary creative and technical disciplines… Bringing a product or business to the marketplace is not for the faint of heart.

Once I accepted the loneliness and the lack of a financial cushion I had to figure out a way to keep building without burning myself out.

— Vishnu Mohandas

One of my biggest learnings was to embrace the need to quite deliberately manage myself, as one would expect a dutiful leader to manage his troop.

Some of the lessons can feel so simple, yet hold the most value. My key learnings to date have been:

  • Ask for help when you need it: It’s a fallacy to think you will go far alone, so practice mutually beneficial collaboration frequently
  • Design dedicated downtime: This will never happen by accident, so ensure proper recovery and previous headspace
  • Learn to respectfully say “no”: If you’re ambitious and productive it comes natural to want to take every opportunity. But know that overwhelm can quickly revert good intent to a disservice and ultimately disappointment.

It took me approximately one year to recognise and truly internalise each of these key learnings.

The spark of inspiration fuelled by sincere ambition can ignite a beautiful and compulsive momentum. Though unchecked speed can quickly become unstable and unsustainable.

Remain conscious of your workload, capacity and well-being. Favour patient, sustained growth with timely bursts of effort for meaningful returns. Just because you could do more, doesn’t mean you always should.

Blog Post

Learning to Learn Again

Taking comfort in the familiar can be especially alluring in the fast-paced programming landscape. It took me a long while to recognise how important (crucial, even) a discipline it is to practice continued learning and further technical understanding and practical experience consistently.

I didn’t fully appreciate this until I was 3-4 years into my career as a developer. My comfort in repeatedly delivering WordPress and LAMP solutions to satisfied clients allowed my hunger for learning to stagnate.

Only once I began freelancing in earnest I recognised how rapidly commercial development demands evolve. WordPress, Drupal and Joomla were in decline as the rise in demand for JavaScript frameworks steadily inclined.

I was surprised to see how quickly my chosen niche of frontend development had evolved to embrace React (and later Vue) libraries, while maturing frameworks like Meteor and Angular encouraged new ways to build and scale. It was obvious producing responsive HTML and CSS templates wasn’t going to cut it any more and that it was time to roll up my sleeves again.

In early 2017 I adopted React as my framework of choice, as residual community frustration at the Angular 2 rewrite remained, while Vue hadn’t yet achieved the same maturity. Little did I know just what frontend development had evolved into.

“Learning is not attained by chance. It must be sought for with ardor and attended with diligence.”

Abigail Adams

First, I had to get up to speed with the Node.js ecosystem, and how to use npm for dependency management. Then I had to come to terms that I really didn’t know JavaScript as well as I should, and that I had a whole new standard to catch up with (ECMAScript 2015), overwriting years of jQuery muscle memory.

While I appreciated I was not building atop of the strongest foundations, I had a clear ambition and persisted through the initial growing pains.

At the time of learning, Create React App was considered bloated and excessive. Accepting this, I spent many a frustrated hour struggling to interpret, author and extend webpack config files. Seemingly simple requirements like getting SVG images to load or leveraging Sass syntax cost me hours upon hours.

Basic projects bloated with tens of thousands of dependency files. Every package revealed a new API that required substantial studying (or mindless trial-and-error). React Router v4 stripped legacy StackOverflow questions of any relevance. State management was an alien concept.

At a granular level, simple singular tasks could generate incomprehensible blockages, garbles of new vocabulary and rabbit holes of GitHub issues. Top level foundation assumptions such as separation of concerns were challenged as HTML is written in JS with CSS applied inline.

It even took me an embarrassingly long time to understand that comments needed to be wrapped in curly braces to take effect…

Education is not the filling of a pail, but the lighting of a fire.

W.B. Yeats

Looking back, the challenges were considerable, given my lack of core understanding and naive, unstructured approach to the prospect. Disciplines once familiar became estranged, forcing much unlearning and relearning.

Although under-appreciated at the time, I gained lasting value from that period. I strengthening many core development soft-skills, including interpreting official documentation, tracking community issues, rapidly prototyping prospective solutions and properly managing version control.

Reflecting on this portion of my journey affords me a new appreciate the sum of all those individual challenges, struggles and minor victories.

πάντα χωρεῖ καὶ οὐδὲν μένει


Today I find myself embracing the new and unfamiliar with much proactive enthusiasm. The JS ecosystem continues to evolve rapidly and I try to engage with interesting new tools, paradigms and best practices. A core reason of starting this blog is to document my ongoing learning and capture lessons that would otherwise go unrecorded (or stagnate in an almost-finished state).

Blog Post

Blog (Re)Init

I have always harvested the ambition to build and maintain a blog but found the task forever tumbling down the perpetual ToDo list.

I could rarely justify taking the time to author my own content for publication, as ever-urgent, competing priorities jostle for time and attention. There were always too many other things to do.

The change of pace enforced by the COVID-19 lockdown has afforded me some welcomed additional headroom. It is without doubt a privileged position given the wider challenges and outlook. While I wish circumstances were different, I am thankful to embrace the opportunity to slow down and reflect with greater intent.

Contrasted against my typical frenzy of doing too much just-in-time, the result is I feel a greater sense of control and inner calm that is warmly welcomed and enjoyed with enthusiasm. While obvious trade-offs and new frustrations must be navigated, it’s been a healthy exercise to contemplate my modus operandi.

One leading, recurring reflection that has arose is my desire to write and publish more.

I must credit Tim Casasola for his article Why does writing matter in remote work? for sparking my action. His post neatly reflects on both the functional requirement of writing to fulfil remote obligations. But his contemplation of writing well as an advantage is what really provoked me. Considered writing has the ability to encourage more effective work execution, empower engagements, and open new opportunities.


With this newfound intent to start a blog, I’ve been tracking more conversations, rebuttals, and technologies related to the topic. A fatigue for the distraction and distrust of the dominant social platforms seems to be contributing to a resurgence of new-old technologies in the tech community, such as simplified development stacks, minimal CSS frameworks and calls for the return of Really Simple Syndication.

An ambition to extend my understanding and application of the JAMstack gave me reason to build and manage a personal website for my professional development.

From a personal development perspective, I am already writing frequently. Not only in my day-to-day work, but also in recording my personal thoughts and feelings in a (mostly) daily private blog. Only recently have I considered the additional value in publishing instead of simply recording.

Publishing to a public forum forces a new perspective. The mental exercise of threading interesting narratives, theming experiences and identifying key learnings is not only personally empowering, but may also produce value for others.

Considered reflection promotes forward momentum.