The Entrepreneur Forum | Financial Freedom | Starting a Business | Motivation | Money | Success

Welcome to the only entrepreneur forum dedicated to building life-changing wealth.

Build a Fastlane business. Earn real financial freedom. Join free.

Join over 80,000 entrepreneurs who have rejected the paradigm of mediocrity and said "NO!" to underpaid jobs, ascetic frugality, and suffocating savings rituals— learn how to build a Fastlane business that pays both freedom and lifestyle affluence.

Free registration at the forum removes this block.

Good things happen when you learn how to code

sharky

Contributor
Read Fastlane!
User Power
Value/Post Ratio
49%
Mar 2, 2011
104
51
Philadelphia
It’s been quite a while since I’ve posted anything here, but I wanted to share this with you. I co-founded my current startup over 3 years ago, and one thing that has really come back to haunt us is that we never had a technical co-founder. Neither my partner nor I had ever written a line of code and if you’re a startup online, you need to know how to code if you expect to be successful.

So, as much as I thought that we could outsource our tech work, the cold hard truth was that we had no idea what was under the hood of our site. Sure we had SOMETHING to show, and a site that looked OK, but at the end of the day it was not exactly what we originally envisioned and of course every time we needed to make a change or add a feature we had to pay for it out of our pocket.

Not only that, we didn’t understand how long these changes or features should take to build so they had us over a barrel, and when something broke down or we found a bug, we had to wait until they were ready to fix what was broken, and then we had to reach into our pockets yet again to pay them.

We had no control over how the site performed. It’s totally counter-intuitive for an outsourced dev shop to deliver ahead of schedule and under budget, and its in their best interests to extend their project as long as possible. So unless you have an unlimited supply of cash to throw at them, you will most likely not get what you want.

We were also trying to raise money for our startup from Angels and VC’s, since we didn’t have an endless supply of cash, and couldn’t understand why we were being smile-F*cked, day in and day out, with each investor meeting. We needed the money primarily for the dev side, so that we could continue with our outsourced developers, OR we figured if we got lucky, hire a full time CTO with the money we raised.

Sure, we had a great idea and pitch since both of us had been fairly successful in our previous businesses, and we had high hopes for this one, but the fact remained that we did not have a developer on our team. And, good luck finding a good one who will work for equity. So we came to realize that since we didn’t have a technical co-founder and neither one of us knew how to code and able to be in control of our site, fundraising was a huge waste of time because no one was going to fund us.

That’s when it really smacked me in the face that one of us really needed to learn how to code or just fold up shop…so, why not me? We could not continue to draw down on our savings just to pay the developers who had no ownership in our business. We needed to build it ourselves, strip it down to the bare essentials, take out the clutter and make it very simple to use. Sounded easy enough.

Well, I committed practically 100% of my working time to learning how to code over the next 6 months. I chose Ruby on Rails since it seemed like it made the most sense to me and it’s a very readable language/framework. I never wrote a line of code prior…but first, I started with the basics - HTML and CSS, then once I was comfortable with those I plowed thru online tutorials and classes teaching me both the Ruby language and the Rails framework.

I was at it for a good 6 months and starting to get the hang of this but still relied heavily on the various tutorials I took for reference when building something. I wasn’t to the point where I could start with a blank canvas and just build something, but nevertheless I was able to build some pretty interesting sites for a newbie rails developer. I knew the basics and could find the resources to help me build what I needed to build for the most part.

During this time, I also decided that I needed to get out and start networking with developers to hear what they were saying and doing, how they talked to one another, and even inquire about what challenges they encountered when they were first starting out. In the past I could never hold a conversation with a developer because I was an outsider, the business & finance guy who never wrote a line of code in my life, and I felt this friction that management doesn’t know anything and engineers know it all, type thing. All that started to change.

Then a great thing happened to me as I started to integrate my life into being a developer, I was actually able to hold a conversation with most of these people (well, except for those devs that are, shall we say, “socially challenged”…you know the ones) and not only that, they were supportive and genuinely interested in what I was building or at least trying to build.

I started going to a co-working space that had other Rails developers there and they also had one night a week where we would collaborate on different projects. This was a great opportunity to learn from more senior developers and also have them help me re-build my site.

As things progressed, the top developer in the co-working space was helping me more and more and he seemed to enjoy some of the more challenging aspects of what I was building. Not only is this guy the top developer in this co-working space, but as I came to find out a very sought after developer who also just wrote a book on how to build a ruby ‘gem’.

So, one day as I was sharing my progress with my co-founder, he asked me what it would take to get this guy on board with us as a co-founder. I had no idea what it would take but I figured I’d ask if he’d like to get more involved, so I did and fortunately for us he wanted to come on as a Co-Founder.

Now I am 100% certain that this good fortune would have never come about had I not learned how to code. Him and I (mostly him) totally re-built our site in less than 2 weeks, we re-launched, and are now starting to execute on building our user base and revenue among other things. Another great side effect of having not only 1, but 2 technical co-founders is that we don’t have to go begging for money from Angels and VC’s (and hear things like “We’ll track you”) to pay outsourced developers and can continue to add new features and functionalities on our own.

Thanks for reading and I can say that it is NEVER too late to learn how to code, I’m 45 years old, spent 12 years as a business owner and then became a wantrepreneur in 3 different startups over the past 6 years. Now I believe I have the makings of truly becoming a successful entrepreneur, especially now that I have such a great developer to learn from.
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.

Jakko

Contributor
User Power
Value/Post Ratio
53%
Sep 2, 2007
66
35
Yea, I feel that if you are working on an online tech startup, the design choices and decisions that you make are temporary so unless you have a technical person on the team, you risk the chance of being taken advantage of by outsourced companies, not being able to move forward quick enough or able to iterate/pivot efficiently. That's why most tech accelerators require someone who can code on the team before they fund the company. Kudos for you on taking control and moving forward!
 

HappyFighter

Bronze Contributor
User Power
Value/Post Ratio
110%
Dec 29, 2013
113
124
Philippines
Congratulations on learning how to code. Since you're actually working on the trenches using RoR (Ruby on Rails) I got a question that's somewhat technical. Do you actually implement/practice TDD (Test Driven Development)?

What I didn't like on some of the RoR tutorials/guides out there was their dogmatic obsession on writing tests, because of that I have to jump from one tutorial to another. Fortunately I found a good course at infiniteskills.com.

Sure testing is important, but I would rather write code than tests. In the end of the day the customers doesn't care about whether you written tests or not; what's important is that your app adds value to their lives.

But feel free to refute/correct me if I'm wrong since I haven't really written a production quality RoR app yet :)
 

OdorcicD

Contributor
Speedway Pass
User Power
Value/Post Ratio
141%
Feb 2, 2014
32
45
Sure testing is important, but I would rather write code than tests. In the end of the day the customers doesn't care about whether you written tests or not; what's important is that your app adds value to their lives.

They don't care if you have tests, but they do care when features become broken. When you write tests, you have more trust in your code, and your customers will have trust in your app when everything is working. As soon as you break something, which could've been prevented by writing tests, you lose some of that customer trust. Losing trust = losing money.
 

RogueInnovation

Gold Contributor
Speedway Pass
User Power
Value/Post Ratio
170%
Jul 28, 2013
1,278
2,177
Ah cool, that is a fresh perspective (that it allows you to intermingle and flow)
It is certainly one thing to consider. But I really do think foundations regarding sales and traffic is much more crucial, because without your own ability to scale a client base, you have to rely on other guys.

I find design guys quite humble to talk to usually, and I find that so long as you show an interest and are interested in finding better programmers, you can do that.
Glad it worked out like it did for you man.
 

sharky

Contributor
Read Fastlane!
User Power
Value/Post Ratio
49%
Mar 2, 2011
104
51
Philadelphia
Yep, well said OdorcicD in regards to tests. I wasn't too thrilled about learning TDD at first as it adds a whole other layer of complexity to your learning, however what I've found out is that the more complex and robust your application becomes, tests are critical and a real time saver in finding bugs and as you mention it allows you to code with confidence knowing that it won't break.
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.

Felix II

Contributor
User Power
Value/Post Ratio
68%
Jul 6, 2010
114
77
40
Congratulations on learning how to code. Since you're actually working on the trenches using RoR (Ruby on Rails) I got a question that's somewhat technical. Do you actually implement/practice TDD (Test Driven Development)?

What I didn't like on some of the RoR tutorials/guides out there was their dogmatic obsession on writing tests, because of that I have to jump from one tutorial to another. Fortunately I found a good course at infiniteskills.com.

Sure testing is important, but I would rather write code than tests. In the end of the day the customers doesn't care about whether you written tests or not; what's important is that your app adds value to their lives.

But feel free to refute/correct me if I'm wrong since I haven't really written a production quality RoR app yet :)

Unit tests are extremely important.

For one, creating testable code means you are creating good code. It is impossible (or very hard) to test code that is not modular, independent, and doesn't use some sort of dependency injection.

For two, it SAVES much time. 6 months from now when you add or change a feature, if you don't have tests then you have to understand EVERY single thing the code you are changing is doing and replicate every single manual test that has been done before. Undoubtedly you will miss a few cases. When you have unit tests, you can just run your tests and be done. You think it is faster to not write tests, but it will cost you LOTS of time down the road.

For three, if you aren't testing, how do you know your code works?
 

HappyFighter

Bronze Contributor
User Power
Value/Post Ratio
110%
Dec 29, 2013
113
124
Philippines
Thank you guys for enlightening me about the importance of writing tests. Coming from a company that has an entire department of testers I haven't really experienced the importance of writing your own tests yet. Before that, my past experience in coding was the anything-goes-deliver-it-as-quickly-as-possible style.

That being said, I think I ought to really learn about RSpec this time around :)
 

OdorcicD

Contributor
Speedway Pass
User Power
Value/Post Ratio
141%
Feb 2, 2014
32
45
If you want your codebase to be sustainable, yes, I think testing is very important.

For prototyping, or getting a quick MVP so you can begin selling as quick as possible, I'm perfectly okay with being very light on tests. Unless the MVP is massive (probably doing something wrong), busting one out to get customers that you know you can go back and rewrite. In that case, the feature set is likely very small as well, so it can be much more easily tested by hand.

One of the things I love about working on a hackathon is being able to finish something in 2 days that's presentable and pretty awesome. I've done a number of them, and they usually contain a small amount (or no) tests. You need to work fast with the time constraint you have on you, and you know that whatever you build won't be going into production long-term.
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.

theag

Legendary Contributor
FASTLANE INSIDER
EPIC CONTRIBUTOR
Read Fastlane!
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
297%
Jan 19, 2012
3,903
11,580
Good stuff.

I'm not a coder by any means but I know enough to know what to search for and be able to hack together stuff from various sources like stackoverflow answers and other resources. Lots of frustrated nights were spent on this, you wouldn't believe it..

This allowed me to build several very little, but very powerful scripts that allow me to set up an automated money printing website.

I would never trust anybody with creating those scripts because its some very unique and detailed twist that makes them so powerful.

So: if I didn't have this fundamental understanding of how code works, I wouldn't have this opportunity. Thats why I recommend this all the time vs the two hardcore fraction of learning how to code and outsourcing everything.
 
Last edited:

HappyFighter

Bronze Contributor
User Power
Value/Post Ratio
110%
Dec 29, 2013
113
124
Philippines
For those wanting to learn how to code, the following link is a nice read:

http://benton.io/tech/2014/03/28/learn-to-build.html

He writes about building stuff (result), but gives nice tips (and links) on learning how to code (process) along the way.

But the recommendation to simply “learn to code” feels slightly off to me, because it doesn’t really encompass what programming and writing software is all about: actually building stuff.
 

Andy Black

Help people. Get paid. Help more people.
Staff member
FASTLANE INSIDER
EPIC CONTRIBUTOR
Read Fastlane!
Speedway Pass
User Power
Value/Post Ratio
370%
May 20, 2014
18,566
68,699
Ireland
Great thread.

For me, creating and iterating landing pages quickly is essential. Waiting for someone else to do them slows the process down to a standstill. I was advised not to learn html, css, php in the past. I think it's worth me doing it now.

Thanks for the great story and different perspective.
 
Dislike ads? Remove them and support the forum: Subscribe to Fastlane Insiders.

loop101

Platinum Contributor
Read Fastlane!
Read Unscripted!
Speedway Pass
User Power
Value/Post Ratio
161%
Mar 3, 2013
1,557
2,506
I've been writing software since the 80s, and the people pushing TDD now, are like the people pushing flowcharts back then. They guy that created Rails said this about TDD:

"Enough. No more. My name is David, and I do not write software test-first. I refuse to apologize for that any more, much less hide it. I'm grateful for what TDD did to open my eyes to automated regression testing, but I've long since moved on from the design dogma."

http://david.heinemeierhansson.com/2014/tdd-is-dead-long-live-testing.html
 

Andy Black

Help people. Get paid. Help more people.
Staff member
FASTLANE INSIDER
EPIC CONTRIBUTOR
Read Fastlane!
Speedway Pass
User Power
Value/Post Ratio
370%
May 20, 2014
18,566
68,699
Ireland
I've been writing software since the 80s, and the people pushing TDD now, are like the people pushing flowcharts back then. They guy that created Rails said this about TDD:

"Enough. No more. My name is David, and I do not write software test-first. I refuse to apologize for that any more, much less hide it. I'm grateful for what TDD did to open my eyes to automated regression testing, but I've long since moved on from the design dogma."

http://david.heinemeierhansson.com/2014/tdd-is-dead-long-live-testing.html
Lol. Nice.

It's like that with everything. There's thought-leaders, then it becomes a buzz word, and the next wave just spout it without knowing why the thought leader did it in the first place.

Personally, I don't "split-test". I don't get precious about "tracking". So flame me.

The "startup" world is getting a bit wierd like that too. Let's "pivot". Let's "fail fast". Failure is goooood. Errr... don't forget why you're doing that. It's so that you actually help people with their actual needs, and not the needs you think they have.

"When the shoe-shine boy tells me to invest in stocks, I know it's time to get out."
I guess it's not just economics that applies too? ... or am I being old and cynical?


EDIT: I love the simplicity of that page btw: http://david.heinemeierhansson.com/2014/tdd-is-dead-long-live-testing.html

Interesting how the main call to action is an invitation to "Continue down the rabbit hole with" and a link to the next post. I like that. Gonna change my blog that way soon. Strip it all out and go back to basics.
 
Last edited:

Post New Topic

Please SEARCH before posting.
Please select the BEST category.

Post new topic

Guest post submissions offered HERE.

Latest Posts

New Topics

Fastlane Insiders

View the forum AD FREE.
Private, unindexed content
Detailed process/execution threads
Ideas needing execution, more!

Join Fastlane Insiders.

Top