How a Non-Techie Learned to Code from Scratch — Part 2
A Product Hunt Maker Success Story
This is the second part in a two-part series. You can read the first part here.
A year has now passed since I learned to code.
My goal was never to transition into a developer, but to acquire a skill-set that would enable me to understand code and actualise my ideas. It has been as much a process of demystifying technology — “How does that work? Is it difficult to build something like this? What technology do I need to do that?” — as learning how to learn.
The process of learning to code has been challenging, and at times self-defeating, but it was never a burden or felt like a chore. Instead I have thoroughly enjoyed the logic and problem solving involved. I think this is key, there needs to be something that intrigues you about the learning process and the subject matter to overcome the inevitable challenges you will encounter. In particular, when you transition from online tutorials that are excellent introductions to code that help you at each step, to facing a blank screen as you start working on your idea without any ‘get a hint’ button to guide you. You end up feeling like:
The only certainty is that I was a foundling abandoned in the middle of the ocean. My earliest memory is of being afloat in rough seas, naked and alone in a walnut shell, for at first I was very, very small. — The 13½ Lives of Captain Bluebear by Walter Moers
But what happens if you stick with it and you make it over to the other side? Everything changes. Code becomes fun and things start to make more sense. Documentation becomes more accessible and you begin to understand your limitations so you can set more realistic goals. You develop a keener sense of how to solve a problem and are no longer, at least most of the time, applying brute force, just randomly changing stuff in your code or copy-pasting code hoping that something might work. Instead, you rely on your problem solving abilities to figure out what’s going on. But the best part is the realisation that you can now create and actualise your ideas.
I launched my first web app, 972VC — mapping the Israeli startup funding ecosystem, about a year ago and it is still actively maintained. Since launch, I have redesigned the website, added over 200 companies to the database and improved the search functionality, added a section for Israeli startups that seek funding, and on the back-end, I have rewritten most of the code.
972VC has had 5,000+ unique visitors from 120 countries with an average session duration of 03:46 minutes and a bounce rate of 46%. Since September, 972VC has averaged 580 unique visitors per month. Most visitors visit 972VC through a direct link or search engine.
These are not stats that will make your day, but on a positive note, 972VC is now ranked on the first page of Google for the following searches: accelerators Israel; incubators Israel; coworking Israel; private equity Israel; startup communities Israel; tech for good Israel; angel investor groups Israel; crowdfunding platforms Israel; venture debt Israel; and venture builders Israel. You will also find 972VC on page 3 for searches of foreign investors Israel and venture capital Israel on page 5.
But the bottom line is that 972VC is not profitable, and has not garnered any media attention, any mentions by influencers or been featured on the sites that matter. So is this project a write off? Was it a complete failure and waste of time? The answer is a resounding no. I built 972VC to learn code, which I have, and it has also contributed to showcasing the amazing Israeli startup ecosystem to a global audience as well as helped entrepreneurs in search of funding. It has also led me to write an article on how I learned to code which has inspired others. And that’s pretty fucking cool if you ask me. Right?
Hi Daniel, I love this read. I’ve have been thinking about learning to code for many years but keep putting it off. I too had a tech idea as a non techie and went down the out source path. I had many false starts and wasted $1000’s of dollars. Yes $1000’s. Probably spent $15k-$20K USD before I found the right guys. It was a hard lesson to learn. I would still prefer to be able to code but I finally think I am on the right track. However, your article has inspired me to have another look in to learning to code. — Rod Clarke
972VC also did something else, it made me want to continue creating. And in July, I decided it was time to build another side-project.
As I have become increasingly interested in how life and work are changing — the impact of technology, the growth of the gig economy and rise of the freelancer, health and mismatch diseases — this was something I wanted to look at more closely. I enjoy research and content curation, so my idea was to build a curated collection of resources along those themes. I wanted to keep things simple and create something more lightweight than 972VC, which took 3 months to build so I decided to use Hugo, a static website engine created by Steve Francia.
Two weeks later on Monday, 20 July, NoDesk — a curated collection of resources for digital nomads, freelancers and remote workers, was built and online. The site averaged around 20 visitors a day, nothing spectacular, but it did receive 600+ visitors from Reddit at the end of July after someone posted a link to the site, and this raised the daily average to 50 visitors a day. I was pleased with these stats as I had done no outreach or marketing; all traffic was occurring organically and there were even returning visitors. My sole focus was on curating high quality articles and resources.
Then something happened on Wednesday 5 August. I woke up and saw Google Analytics showing what I assumed to be incorrect traffic data for NoDesk. I refreshed the page a few times and looked at the acquisition data, but it was all legitimate referral traffic. Charlie Irish had hunted NoDesk and posted it on Product Hunt.
Here’s the data following the NoDesk feature on Product Hunt.
The truth is that posting NoDesk on Product Hunt had never crossed my mind. And it is not because I was unaware of the platform, rather I did not think the fit was right, that my site was good enough. NoDesk was something I just built for fun during a two-week period and hoped others might find it useful.
But then something else happened which was even more awesome; NoDesk resonated with the Product Hunt community and was featured in the Daily Top 10.
“It’s like a better Google for nomads entrepreneurs — that’s awesome! I love how it goes from articles and blogs to chat groups and coworking places.” — Rutger Teunissen
And as the day came to a close, Product Hunt offered one last gift.
Since NoDesk has been featured on Product Hunt it has also been picked up by global media outlets and bloggers, and even more importantly a dedicated community has grown around the site.
I don’t know who you are, but thank you for NoDesk! It’s an awesome resource, just what I needed as I’m stepping up as a freelancer in Guatemala. — Daniela M.
Love your curated articles. — Aaron R.
I use NoDesk as a go-to resource whenever someone wants to get into remote work. I always send them to NoDesk first. — Rachel Andrea Go
NoDesk is still going strong. During September to November, there were 17,000+ unique visitors from 138 countries, with an average duration of 02:43 and a bounce rate of 43%.
I actively maintain the site — I usually post 3–5 new articles a day — and I have created several new sections and a newsletter due to interest from visitors. NoDesk is also profitable and I have had the privilege to have worked with some great sponsors such as Code School.
The truth is that Product Hunt has done much more for NoDesk than traffic, it has been a stamp of approval and paved the way for the site to get noticed and picked up by media. An interesting question is, would NoDesk have been as successful without Product Hunt? Probably not. Does this matter? No, as I built NoDesk for fun and to learn. But it goes without saying that being featured on Product Hunt has been a morale booster and validated that I’m building stuff that others also enjoy.
Although I shared several lessons learned in my previous article which still hold true, I want to take this opportunity to highlight a few things that have especially helped me learn code and launch my ideas as well as dispel a few myths.
Don’t learn code if you’re just not into it
I enjoy code and building for the intellectual challenge, but it also provides a creative outlet from all the daily paperwork. In fact, after I launched NoDesk, I spent a weekend coding and designing an old blog, System Two, that I had created on a microblogging platform, just because now I could and I wanted to make it my own. So if you’re just not into code, but still want to actualise your ideas, there are alternatives that do not require you to start from scratch, such as Squarespace, Wix and many others. And remember learning to code is hard and just isn’t for everyone, which is fine. At present, I am certainly not skilled enough to be a full-time developer, but that is not my goal. I’ve just acquired a particular set of skills that let me hack things together and build simple apps.
“I don’t have any friends that can help, a large network to promote my app, I’ve never done it before so there’s no point, it’s too hard…”
Often when you’re starting out, learning to code can feel futile, like there’s no point putting yourself through all that trouble for an app that you may never end up building. But if you really want to learn code then there really are no excuses. And this applies to most things in life. Sometimes you just need to embrace the suck, dig deep and follow through to make things happen. 972VC and NoDesk are perfect examples that you can build an app, and yes that includes the code, design, content and everything in between, by yourself with no outside help and reach a global audience.
Take full advantage of the amazing online (and free) resources that are available.
A ‘dirty hands’ approach to learning
The best way I have found to learn code and new technologies is with a ‘dirty hands’ approach. If doing lots of tutorials and reading books cover to cover, basically a more theoretical approach to learning, works for you, awesome. But if it doesn’t, than it’s time to try something different and use those other resources at a later stage.
…what we would term the ‘dirty hands’ approach to learning, just like you did when you took apart your bicycle when you were a kid, or your dad’s lawnmower or his radio. One of the best ways to learn as an engineer, or in anything, is to take it apart, study it, ask questions. – Tom Williams, director of the NASA Marshall Space Flight Center’s Propulsion Systems Department, on how NASA brought the monstrous F-1 “moon rocket” engine back to life
So what does this all mean? Say you have just copy-pasted some code into your project and it does what it’s supposed to, but you have no idea how it works and why. Using a ‘dirty hands’ approach to learning, start taking the code apart line by line, delete something, see what happens, add something, see what happens and repeat. It’s time well spent to learn how things work, and, hey, if it’s good enough for NASA…
Launch quickly, keep it simple and add features incrementally
I have found that launching quickly, and adding features and making improvements as I go along has been the best approach. It would be awesome to launch a project with pixel perfection and beautifully written code, but the reality is that then 972VC and NoDesk would never have seen the light of day. As long as your app functions well enough it’s good to go. It’s better to get user feedback and be responsive. As an example, this is what 972VC looked like when I first launched.
Perhaps this was too early as it was brushed off immediately by many because of its appearance even though the functionality was similar to the current version. I’ve rewritten most of the code for 972VC on the back-end, which no one has noticed, but the new design has been appreciated. So a lesson learned is that design is king. You can get away with bad code, but not bad design.
Lastly, keep things simple. Figure out if you really need to automate everything or if you can get away with doing things manually to save time and focus on more important issues. 972VC still does not have a content management system; the entire database is handled manually by loading a CSV file.
And when all else fails, build for fun.
If you enjoyed this story, please click the 👏 a few times so other people can see it too.