I never knew I’d work in tech. When I first moved to New York right out of college, I had two suitcases, a fresh business degree, a few thousand dollars, and no job. I’ve never been here before, and I knew exactly zero people. I found a place on Craigslist in Long Island City, a small bedroom in a 3BR ghetto basement apartment that I shared with broke middle-aged musicians. I had a runway of cash that, if it ran dry before I could find a job, I was going to fly back home to Thailand with my tail tucked between my legs.
Lucky for me, I found a job within two months doing customer support for a B2B2C tech startup and, as the months went by, I found myself taking on more and more responsibility there. It’s a whole other story how I transitioned over into product management, but suffice it to say, it was the best thing that ever happened to me (professionally). Diving into data to determine product strategy, working with designers to craft something sexy and intuitive, collaborating with engineers to ship an MVP (minimum viable product) out on schedule, and liaising with stakeholders to manage expectations and keep the business running smooth — it’s the best job in the world.
Fast forward a number of years and a couple of startups later, and I’ve used my nights and weekends to learn how to code. Originally, the impetus was to be totally capable of independently building my own side hustle with the hope of being a solo startup founder and grab some nice passive income. The technical skills gained would obviously help me work with engineers more effectively as a product manager, so committing those nights and weekends to Codecademy and Code School were absolutely worth it. And who would have thought, I actually really enjoyed coding itself!
I’ve definitely failed launching my own business on multiple occasions, but with every faceplant, my coding abilities grew. It was starting to look less like spaghetti code and more like what I saw my coworkers churn out on the desks next to me as I wrote user stories. If I knew I liked coding this much, I probably would have pursued it in college! Don’t take me wrong; I love business — the strategy, the game theory, the thrill of getting to product-market fit. Yet, the tinker in me, the lego-loving, Rube Goldberg-ing, MS-DOS computer geek kid from decades past surfaces time and time again to remind me that who I am deep inside is a multi-faceted individual. Could I somehow further grow into myself by forming a more perfect union between these two sides of me?
In early 2017, I was introduced to the world of blockchain technology. Sure cryptocurrency seemed like the most logical application of the technology, but what really stuck out to me was Ethereum — the decentralized “world computer”, the true incarnation of what the internet was supposed to be. Free (libre, not gratis). Censorship-resistant. Borderless. Immune from the dynamics of late-stage capitalism that inevitably result in oligopolies. This bright, brave ethos spoke to me — I had to be involved. My political identity, my moral driving force, and my profession’s aspirations all aligned with it. I went to Meetups and conferences and events here in NYC, and I spent hours on Reddit and Medium and, yes, even 4chan/biz (the armpit of the internet). As more resources sprouted up in the “crypto Cambrian explosion” of mid-to-late 2017, I gobbled up every resource I could get my hands on. I taught myself Solidity using CryptoZombies, Truffle’s Pet Shop tutorial, and OpenZeppelin’s Ethernaut. I used Remix and Truffle’s Ganache to write, compile, migrate, and test smart contracts. By the time I signed up for ConsenSys Academy’s Ethereum Developer program in summer 2018, I basically knew everything they ended up teaching in the course.
My journey was clear in my mind, yet less clear in reality — I wanted to work in this field, but the path to being involved in this emerging technology sector was completely undefined and unpioneered. Applying as a product manager proved difficult, because most teams were small enough that one of their founders was taking care of that function. The need for talented developers in the space was massive, so I decided that my best way forward was to become a dApp developer.
My hope for the viability of the decision to pursue this path is two-fold. First, that my work and my code will speak for itself — that despite my lacking any professional full-time developer experience, the substance of what I offered was sound and that it qualified me. That the code was easily readable, well-commented, efficient and secure and sound. Secondly, that my experience as a product manager gave me insight and perspective in code-writing that made me more effective than someone who has only been a developer: the ability to recognize the problem and solution holistically, end-to-end, from the blockchain to the front end and everything it entails in both the user experience and in the product/solution fit. Tangibly, this perspective has helped me in intelligently architecting data structures, in writing maximally-secure contracts without sacrificing good user experience, and in ensuring that I’m ultimately building something that will be useful and simple for the end user.
In my heart, I’m entirely thrilled with this decision to pursue dApp development. My brain tells me I’m crazy and that it’s a long shot, but, hey, you’ve got to take some calculated risks in life if you are to live it to the fullest. If your project is looking for a part-time or contract smart contract developer, reach out to me! I offer development and auditing services, as well as product management services for the right project. To see more of my work, check out my article on “Common attacks in Solidity and how to defend against them”.