Many of you will have now read my article on how I learned to program. If you missed it, check it out here. In this article I’m going to tell you how I went from being a newbie programmer to starting my own successful startup - a leap I would never have thought possible a few years ago!

How I Learned To Program And Founded My Own Startup

In this post you’ll see that with the right education, support and motivation, you too can learn to program and launch your own business just like I did. With actionable steps, advice, and resources, this post will be your one-stop-shop for everything you need to know to become your own boss and launching your own company, just like I did with CareerFoundry.

At the end of this post you’ll also find a video of me talking about my journey!

So what will I be covering in today’s post?

  • What steps to take after learning to program
  • Web development tools
  • Coding languages - what to learn next
  • Where to further your education
  • The value of work experience
  • The transition from web developer to entrepreneur
  • Finding your co-founder
  • Step by step, how to found your own startup.

What Steps D** o You Take After Learning **To ** Program?**

My first piece of advice to anyone who has learnt to program is to start building. Even before you’re at the end of the learning process, start using your new skills to build something you can be really passionate about.

What Did I Do?

When I was going through the process of learning Ruby on Rails I built a social network. It was a kind of messaging social network app and I worked on it day and night for a month or two, then released it. I tried to get all of my friends to use it but only my nicest friends signed up! I loved building that app, but unfortunately I was the only one who was willing to use it!

What Tools Do You Use?

When I was building my social network I used HTML, CSS and Javascript - which are the core languages of any website. I used Ruby on Rails for the backend. The back end of your website is the part of the website that enables other people to use your service, sign up for it, log in or buy things.

The order I learnt my coding languages in (HTML, CSS, Javascript and then Ruby) is a pretty common order in which to learn how to program. You don’t necessarily have to learn Ruby; PHP or Python are also back end languages, but I was attracted to the community around Ruby. It was friendly, open, and supportive. I also found the structure of the framework (Rails) made it harder for make to mistakes.

Should You Learn Another Language At This Stage?

At this stage, you can build your own functioning website with the four languages we’ve talked about, so it is not crucial to start learning another one. At a later date you may want to add more languages to your coding belt, but with HTML, CSS, Javascript and Ruby (or another back end language) you can do everything you need to do.

What Did I Do?

I didn’t feel the need to learn another language because for my purposes (building a functioning website) I didn’t need to.

Later on you might consider going deeper on the front end, for example using the Javascript library jQuery. You could also consider learning Angular JS which is a Google framework as it makes the frontend of your website more attractive and more functional. But it certainly wasn’t necessary for what I needed.

My general approach to learning new coding languages is: when I need it, I will learn it. This is the great thing about coding; you can learn what fits your particular task as you go along!

Where Can You Learn To Program?

When you’re just starting out as a programmer it’s super important to try out coding before you commit to a longterm or paid course. If you don’t enjoy it then you definitely will not want to launch a career in it!

There are tons of resources online that help beginners to learn the basics of programming before deciding it’s really something for them. If you’re totally new to programming, check out our list of 20 Ways To Learn How To Code.

When I first started out in programming, I used Codecademy. Through their courseware I was able to learn HTML, CSS and Javascript - which was everything I needed for the front end.

For the back end I learned Ruby on Rails , and for that I used Micheal Hartl’s Rails Tutorial. It was through this tutorial that I learned how to build a social network, which is where my own social network messaging app idea came from. The whole tutorial is 100 pages long and I followed it step by step.

However …

Although I found this an incredible resource, I could never quite shake the feeling that I had no idea what I was doing. I was copying and pasting a lot of instructions, and it worked, but I didn’t really know why I was doing certain things, and why certain results came from my actions.

Honestly, I think this is how a lot of people feel when they get into programming - they don’t really understand fully what they’re doing!

It was while I was doing this Rails course that I realised just how important it is to have someone to talk to about these things, essentially a mentor.

It’s no coincidence that it was during this time that I began to have the idea for CareerFoundry: a fully mentored, online web development coursefor complete beginners.

Getting Work Experience As A Beginner

A great way to build up your experience and strengthen your newly-learned skills as a beginner in programming is to get some work experience under your belt as a web developer. It might not be paid work, but having projects with deadlines for other people can be a great way to learn about managing expectations as well as learning what you are able to get done in a certain time-frame.

  • Ask a local cafe or restaurant if they need a new homepage
  • Approach a local school about building their website from scratch
  • Offer your services to a charity
  • Apply for small jobs on Craiglist or Gumtree
  • Help out a member of the family with a portfolio site for their project or business

Although these small jobs won’t earn you much (or any) money, they will get you the experience that is crucial to you at this stage as a developer.

What Did I Do?

At this stage I was desperate to get more experience in programming and to build something again without having to follow a tutorial step by step. I needed to learn how to Google things without constantly having to look it up. I knew that if I could get through and build something on my own without having to go through a tutorial step by step, and be confident in what I was doing, then I would be ready to take on real web developer positions, or start thinking seriously about my own product.

I also needed experience of working in a team - a crucial skill for all developers. Even though my abilities were good, my confidence was still relatively low because I lacked real-life experience. So I:

  • Volunteered my services to a family friend and offered to build his website
  • Worked on a small joint project with my mentor
  • To further increase my confidence and experience I then got to work on my next project which was the CareerFoundry homepage.

But the most significant thing I did was I left my corporate job with Nokia to work for a startup.

Although my intention was never to work at a startup, I did want to know what running a startup would be like. So I quit my steady job at Nokia (where I had been for 5 years) and got a job at a startup in Berlin. This was a conscious decision to break away from my corporate environment and see what startup life was like and if, eventually, I would be suited to working as a founder. Although I was not working as a web developer, I was able to absorb the environment and learn how a startup is run.

It was a dangerous move. I went from a very stable, well-paid job to a job with a newly founded startup where my job was not secure, the employee benefits were not as good and the future of the company was uncertain. When the company failed I suddenly had all this time on my hands to learn how to program.

It turned out to be the right choice for me in the end, because if I hadn’t started there, and the company hadn’t failed, I would never have founded CareerFoundry. It was also valuable experience of startup life, knowledge I have been able to put to good use as founder of my own startup.

How I Went From Web Developer To Entrepreneur

Becoming an entrepreneur is different for everybody, and there are no hard and fast rules. We all know that you don’t have to be a web developer to found a startup, and you don’t have to want to be an entrepreneur to be interested in a career in web development. However for me, like many people, the two went hand in hand.

Starting my own business is something I had thought about for many years. My father and sister are both entrepreneurs so perhaps it runs in the family! Years went by without me doing anything, but I talked about it all the time. It was probably ten years from when I had the idea to start my own company before I did anything about it.

Why Didn’t I Get Started Sooner?

The main problem for me was finding someone who was equally as engaged in the idea as I was. Over the years I had talked with my friends about my ideas for startups , but I felt like I was always the most engaged and they were not ready to take the next step, like quit their jobs and really invest in the project. I began to feel disheartened and wondered if this was ever going to happen! I was in my mid-30s by this point, and I was wondering if it was getting too late to start!

Going alone was not an option for me; I needed to find a co-founder.

Starting a company completely by myself was not something I even once considered. I wasn’t sure if my ideas were good enough, I needed somebody to say “This is great! Let’s do it!”.

When I was introduced to Raffaela through mutual friends and she was talking about doing something, it was the perfect moment for me: I was free (not working at that time after the startup I was working for closing down) and I was at a stage where I was confident in my programming skills so I could build our product. It was a no-brainer to try it out.

How To Meet Your Co-Founder

Raffaela and I had a mutual acquaintance who introduced us. But there are a number of ways to find potential co-founders.

  • **You Could Advertise: ** Placing an advert describing the sort of person you are looking for and the area of interest can be a great way to find your co-founder. Check out sites like Berlin Startup Jobs, Craigslist, Gumtree, CofoundersLab, Founder2Be, techcofounder, FounderDating, and FoundersNation.

  • **Attend Tech Meetups: ** Take a look at meetup.com and see what’s happening in your area. You may find specific meetups and networking events for people who want to be co-founders too.

  • **Utilize Your Online Network: ** Take a look at your LinkedIn contacts and see if there is anyone working in the field you’re interested in. They might not become your co-founder, but they might know someone who will.

How Did It Work For Me?

When I met Raffaela, she had the idea about starting something in education and careers, and I had just gone through this experience of learning how to code. She wanted to start doing web development courses and to disrupt tech education.

Raffaela had already ran a meetup for doing an offline course and she asked me if I could be the mentor for that course. It was an exciting time - despite only just learning to code myself, I became a teacher for other beginners!

Despite being a relative beginner myself, the offline courses worked out really well as I was able to completely empathise with the problems of people who are just starting out - they were still clear in my mind from when I learned. The 2 or 3 months of learning that I had behind me was enough for me to help our students with their mistakes and their fears.

It went so well in fact that Raffaela asked me to do a mentoring session again! After awhile we talked about getting in someone else and we started calling them mentors, and that is how the idea for CareerFoundry - online courses with expert mentors - came about.

Finding The Right Person

Finding the right co-founder is crucial to the success of your startup: you’ve got to get along personally as well as professionally. Raffaela was not the only potential co-founder I met, for awhile I was also considering partnering with someone else. However the fit just wasn’t there and I soon realised that if this was going to work long term I had to be able to feel like I could really communicate with my co-founder.

In the end this is why I decided to work with Raffaela; we had similar working styles and excellent communication from the start. We wanted to achieve the same things and we had similar ideas about how we were going to make them happen.

Make sure you like the other person personally, share the same ideals and work ethic and get on as people, not just as co-founders. If these things don’t work the working relationship will suffer too as you will be spending ALOT of time with this person and you will need to be able to trust them, rely on them and communicate with them about everything.

How To Define Your Roles

Defining your roles as co-founders is pretty crucial to building your startup. You need to play to your strengths and think carefully about what you actually enjoy doing. With Raffaela and I, it was fairly obvious where our strengths lay.

My Background

I was a product guy. I have always worked in product. I was also technically-orientated, having studied Computer Science at university and then later having learned to program and build my own app. It was clear that of the two of us, it would make natural sense for me to become our CTO. I love creating products, tweaking, improving and strategizing what comes next for our product.

Raffaela’s Background

Raffaela’s background is very much business-focused. Having set up startups on behalf of Rocket Internet and with a solid background in finance, I knew that our startup was in safe hands with Raffaela at the helm as CEO. Raffaela loves meeting investors, networking and thinking up the big ideas that drive us forward as a company. Her enthusiasm, determination and drive is also incredibly infectious!

How To Start Your Own Startup

  1. Be passionate about something or have an idea. In my case it was helping others, like me, learn to code.
  2. Find a co-founder. Someone with whom you can get along with both personally and professionally, who is willing to make the same sacrifices you are.
  3. Be willing to work full-time on researching your idea.
  4. Test, test, test, and test some more. Test as much as humanly possible before building or launching anything. You won’t regret it.
  5. Study your competition. Befriend them. Find out what they don’t have that you do.
  6. Have a financial safety net.
  7. Surround yourself with good people who are as passionate as you about getting your idea off the ground.
  8. Be brave and trust in your idea, the results of your research, and your team.

[Do you know somebody who is looking to found their own startup? Share this guide with them using the sidebar on your left!]

Next Steps

So now that you’ve read how I made the transition from web developer to founder of my own startup, let’s take a look at what you can do to make that transition for yourself.

  1. Watch the video below of me talking about my journey into coding and entrepreneurship.
  2. Download our free PDF of 6 Next Steps To Becoming A Web Developer by popping your email address in the box below this post.
  3. Get in touch! Write to me at martin@careerfoundry.com with your questions.
  4. Leave a comment! Share your experiences with other readers at the end of this post.

Here’s that video!