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 become a developer, but to acquire a skill-set that would allow 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 thoroughly enjoy 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 help you at each stage to a blank screen as you start work on your idea.
But what happens if you persevere?
Things change for the better.
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, using brute force, just randomly changing stuff in your code or copy-pasting code hoping that something will work. Instead, you rely on your problem solving skills to figure out what’s going on. But the best part is the realisation that you can now actualise your ideas and reach a global audience.
I launched my first web app, 972VC, 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 discover 972VC through a direct link or search engine.
The site is also 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 the search foreign investors Israel, and venture capital Israel is on page 5.
Through 972VC, I learned to code, but the site has also introduced a global audience to the Israeli startup ecosystem as well as helped entrepreneurs find sources of funding for their ventures. It also led me to write an article on how I learned to code which has inspired others to give it a go. And that’s pretty cool if you ask me.
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.
The success of 972VC inspired me 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 – remote work, the growth of the gig economy and rise of the freelancer, health and mismatch diseases, universal basic income, etc. – 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 about those topics. 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.
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. I was pleased with these stats as I had done no outreach or marketing; all traffic was organic and there were even returning visitors.
My sole focus was on curating high quality articles and resources.
On Wednesday, 5th August something happened. Google Analytics was showing what I assumed to be incorrect traffic data for NoDesk. I refreshed the page a few times, and looked at the acquisition section. It was all legitimate referral traffic. NoDesk had been posted on Product Hunt.
Here’s the data following the NoDesk feature on Product Hunt.
- Sessions: 10,036
- Users: 8,254
- Page Views: 32,071
- Pages/Session: 3.20
- Avg. Session Duration: 00:02:40
- Bounce Rate: 29.01%
- % New Sessions: 82.24%
The truth is that posting NoDesk on Product Hunt had not crossed my mind. I did not think the fit was right, that my site was good enough. NoDesk was a project I built for fun during a two-week period. The most I could hope for was that others would find it useful.
But then something else happened which was even more awesome; NoDesk resonated with the Product Hunt community. It was featured in the Daily Top 10 and became #3 Product of the Day.
It's like a better Google for nomadsentrepreneurs – that's awesome! I love how it goes from articles and blogs to chat groups and coworking places.
With the NoDesk feature on Product Hunt, the site was also picked up by global media outlets and bloggers, but more importantly a community began to develop around the project.
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.
I use NoDesk as a go-to resource whenever someone wants to get into remote work. I always send them to NoDesk first.
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, a remote jobs board, and newsletter.
NoDesk is also profitable, and I have had the privilege to work with some great sponsors such as Code School.
Although I shared several lessons learned in my previous article on how I learned to code which still hold true, I want to take this opportunity to highlight a few more things that 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 my consulting work. In fact, after I launched NoDesk, I spent a weekend coding and designing an old blog that I had created on a microblogging platform, just because now I could, and I wanted to make it my own.
Learning to code is hard and isn’t for everyone, which is fine.
“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. Is there a point to putting yourself through all this trouble for an app that you may never end up building?
But if you really want to learn code, and build then there’s no excuse. 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 both examples that you can build apps, and that includes the code, design, content and everything in between, by yourself with no outside help and reach a global audience.
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 you enjoy a theoretical approach to learning, doing lots of tutorials and reading books, that’s great. But if it isn’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.
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 do, but you have no idea how it works. Using a ‘dirty hands’ approach to learning, take 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.
Use tutorials, blogs and other resources when you need to learn how to do something specific. And be sure to check out and learn from open source projects as well.
Launch quickly, keep it simple and add features incrementally
I’ve found that launching quickly and being responsive to user feedback has been the best approach. It would be awesome to create a feature-rich app with pixel perfect design and beautifully written code, but then I would never have anything to show.
Instead, I tend to launch when I have the core functionality working and thereafter I’ll make improvements to the design and code. However, a lesson learned is that design matters, sometimes more than content.
When I launched 972VC it was brushed off by many because of its design 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 now or if you can get away with doing things manually to save time and focus on more important tasks.
And when all else fails, build for fun.