Friday, October 07, 2016

How to Teach Yourself Code

we're going to start a little bit early because fuck it why not
we get ok so this is how to teach yourself to code before we get started
the slides are up at Teach Yourself code com
so don't know worry about getting everything down notes and all of the
resources that i talked about all of the sites and all the different things are
also up there
there's a tiny little cheat sheet so you can really just sit back and take it in
my name is matan grateful and i am the founder and CEO of a company called the
front labs and were i like to call it a growth hacking agency it's it's it's a
both technical and marketing but these days marketing at startups is very
technical and this talk is adapted from a series of blog posts that I did on the
General Assembly what I'm going to cover is three things first
stop waiting for the perfect technical co-founder and start actually learning
how to code
why you should do that if it's not already obvious second how you go about
choosing a programming language based on what you're trying to build and third is
how i taught myself rails in a month and so I'll walk you through the path of
what I did and teach you guys some of the lessons I wish I knew along the way
but first before we began a little bit about me
I came upon this topic because I had an idea like a lot of you guys I imagine
and I was sort of tired of waiting to find someone to help me build that idea
and I had a conversation with a friend of mine who told me about you know he
had been in a similar situation and i'll talk about him a bit later but he really
just encourage me to teach myself and he showed me a few of the resources and I
went to San Francisco for a month then I just like it was like my Walden and I
separated myself and I you know taught myself had a code
over the course of that month and actually by the end of it it could build
out my own web app with the features that i wanted to build and there's a lot
that is not very intuitive
I mean some of this stuff is literally written in code right so I'm so there's
there's a lot that I wish I knew before i started that I'm hopefully looking
back on my experience now can convey to you guys but I wanted to build by the
way was a dynamic pricing system so that people could price the the products that
that they were selling online for dynamically based on demand and i was
able to finish that
so going right into it the first part why you should stop waiting for the
perfect technical co-founder and start actually learning how to code
so why learn how to code in the first place right
a lot of you guys I imagine have an idea that you're here with
and if you're expecting to find the perfect technical co-founder it's just
not gonna happen sorry I mean especially if you just want to be giving them
equity and you're not compensating them a lot
think about it anyone with any programming talent right now is getting
literally dozens of offers from facebook google dozens of other startups right
now and you know if they haven't already taken one of those offers it's probably
because they're working on their own project in demand for developers right
now as i'm sure you guys know has literally skyrocketed
so you know why should a programmer choose your idea over any other idea and
put it another way I mean this is what i hear a lot
why should they give you fifty percent of a product that won't build unless
that won't exist unless they build it right i mean from a programmers
perspective having someone who's non-technical is sort of a liability
right not really benefit so if they're the ones that's building the product
they want a hundred percent over ownership of it which is fair and that's
another reason to build your own product because you end up owning it right
so a lot of times i hear a wall what if I just pay somebody to build it for me
three things three complaints and three problems here you will pay too much you
will be unhappy with the process
and you're going to get something back that you didn't want and why is that
well software is notoriously difficult to estimate going in because of
questions like this
should this feature take 15 hours to build or am I getting ripped off
how do you know right do you know what to ask for
do you know what you're getting back how do you actually objectively look at the
code and decide what the guy is making for you and whether it's any good
I'm if you're an entrepreneur waiting for someone to execute your idea for you
you're not an entrepreneur sorry entrepreneurs don't wait for people to
come along and execute ideas for them they make it happen
despite being under equipped and that leads me to this quote that i really
like from Dennis Crowley which was pretty dodge ball which was his company
that he built and sold before four square
he went around for three or four years looking for that magical engineer who
write would build all the stuff he was thinking about sound familiar
so he never met that person and so instead he taught himself and SP ms
access which is horrible
by the way really bad stuff out of a book and he just started hacking stuff
he admits he's still a really shitty programmer but he knows enough to hack
together a prototype which is an important point
learning how to code is not equal to how to be a software engineer right and the
skills that you need in both are different and you approach them both
differently right the point of this talk is to teach you or to help you figure
out the way to learn enough to build a prototype of a product AKA minimum
viable product which you guys probably heard the term of lately
so what is minimum viable product so you have your minimum which are your crappy
products that no one wants to use and then you have viable which our products
built by companies better financed than you right and then right in between
that's the sweet spot that's the good products for startups to build MVPs
basically just quick and dirty
that's one way of looking at it here's another definition
it's the product with the fewest number of features that you need to achieve a
specific object
if right I'm that's all you need to build and then eventually you get
someone to take over from there
as a side note build products that are valuable despite being ugly because if
you want to build a product that's super polished you probably have version 1,000
in your head you need to build version . 01 of that right and it's probably not
going to look very good in fact it should look very good when you first
release it because it probably means you spend too much time focusing on what it
looks like
does anyone recognize that that's Twitter's first page
I just dug that up right your product should probably look something like that
when you first release that I'm notice the missing are ye rather and which
brings me to the next point which is eventually you will need to find a lead
developer right it's not about becoming the lead developer it's about building a
prototype and then finding someone to take over once you're able to bring on a
team raise money
do whatever you need to do and learning how to code actually helps you find
pitch and manage those guys because you know the talk right you know what you're
asking people to do you know you're asking people to build as opposed to
just talking about feature sets right you know where to find them you know how
to pitch them how to excite them because developers are excited not always by the
idea itself but a lot of times by the the complexities that go into like the
technical problem that's going on right and so you could sell them on that if
you actually know what's happening and that teaching myself to code was sort of
an eye-opener for me because every time people would tell me I can't figure out
where to find like a technical co-founder it was so obvious to me
because they're all these events that i'll tell you about where you can go in
there are literally dozens of them that there's nobody knows about right
I mean it's pretty easy and then finally when I think most importantly more and
more everything that we interact with in the world around us qualifies as
technology right
for example eighty-three percent of people sleep next to their cell phones
35% use it a nap before getting out of bed
this is gross forty percent of people use their phones in the bathroom right
and fifty percent of Americans prefer communicating digitally
right this is what internet usage used to look like throughout the day before
smartphones like little chunks of time now looks like this and because every
second you're pulling out your phone you have an iPad you're interacting with
something that's technological and here's a little joke i like there are 10
kinds of people in the world those who understand binary and those who don't
right but if you didn't get that you don't understand binary
but seriously society is actually quickly dividing into two groups of
the first is those that know how to code and they can manipulate the very
structure of the world around them because more of its technology than ever
before and those that don't
and their lives are actually being designed and directed by those that do
if you want to read more about that there's a great book called program or
be programmed by a brilliant guy named Doug rushkoff i'm a big fan of but I
think that's as that's significant of a reason as any to actually learn code and
learn the underlying structure and language of all these tools that are
interacting with on a daily basis
I'm so moving on part two actually learning and choosing a programming
language to start with
I get it right it's scary to jump in and there was a while where I didn't know
where to go I i kept thinking I'm going to do this but you keep hearing that C
and Java and C++ and PHP and where the hell do you start right and there's at
the same time this fear that if you start with one of these you'll end up
starting in the wrong place
right i mean i know that's a big reason why I never actually got started for a
the the truth of the matter is that you can do almost the exact same thing with
all these languages and there are pros and cons to both
but it doesn't matter for you I'm like at the end of the day you don't realize
this pros and cons until much later and it's pretty and significance but to
figure like to get a little bit of a better understanding let's break down a
web application a little bit so web applications are the applications that
are accessed over the Internet
most of the things you interact with on the internet like Facebook and Twitter
these are web applications they're like cloud-based versions of applications on
your computer
the front end of the web application you guys are probably a little bit familiar
with these languages are the languages here are HTML CSS and JavaScript and
this is the the web pages that you are actually seeing I'm web application
pages are mostly generated dynamically that right as opposed to in a static web
environment people are actually hand coding a page for you like imagine the
new york times
now there are thousands of pages being served up at any given second and so you
know everything on this page is dynamic and has to be changing and so what's
happening behind the scenes is at the back end and that's what you don't see
so you have your web pages which are generated based on information in your
database the database stores all the stuff all the information relating to
your app you have your users you have all of your users information and the
database languages are primarily sequel
that's sort of the language for structuring that information and then
you have the the system of rules which are taking things from the database and
creating web pages out of it and understanding right the actual user
actions like when the user clicks the home button what are they going to see
their those rules are are coated in programming languages like PHP Ruby java
python c++ all these other languages these mystical things that you've heard
of but don't know what they do
so that's the back end and that's what you probably need to know I mean
so a lot of people start with code Academy for example and code Academy is
JavaScript but that's all front and stuff so you're not going to be building
out your application in JavaScript you can do it but its way two roundabouts
and then there are web application frameworks web application frameworks
sort of encompass all of this stuff
these have been developed over the last few years and they really help you build
your app very fast and these are for example ruby on rails
django which is a framework for python rail ruby on rails is for Ruby and then
send is a framework for PHP so what is a web application framework
well you know alleviates overhead associated with web development
libraries blah blah it helps you build web apps really fast is what you need to
know at the end of the day if your goal is to build a prototype start with ruby
on rails and there or rails there's a few reasons for this is ruby on rails is
a web application framework for Ruby which means it's built on top of Ruby
it's the easiest to dive into right now it got a ton of resources out there and
the community is literally gigantic it's bigger than any of the other communities
it hides all the stuff you really don't need to know right well what does that
mean it's just at the end of the day series of short cuts like this right you
right rails new application and it generates all these files for you
automatically that there's a term called Auto magically which is in rails it's
built so that you don't even need to know necessarily what's going on
it just works so for example you don't need to know a lot of the backend sequel
stuff if you learn rails right that's all abstract away even a lot of the
front and stuff is you can do in rails as a result you can do stuff like this
there's a famous video of the founder of rails building out a blog system a blog
app in 15 minutes
like super super fast there's a temptation for programmers if you ask
any of them to say start with PHP or java or something old school like that
they say it because it's it's sort of mirrors the way we learn things in
school and it's how they learned it especially if they've been coding for
write more than like a few years they must have learned one of these other
it's wrong that I mean it's a really bad idea so with all those languages you
spend months learning how to do the very very basic so you can do stuff like this
like build a yellow square
I'm not kidding i had a friend who had a Java class and this was his midterm
so with rails fast and simple as the name of the game
the friend who convinced me to learn rails initially
here's how we started so he was at a working at a parking garage with a
friend of his one summer and they had this idea to build a site where people
could upload their four loko stories like four loco crazy nights right
and so he thought all right fuck it i'm at a parking garage what am I going to
do this summer I'll figure out how to code and rails and he built this site in
you know like two months
it looks really bad right I mean but all of a sudden in the over the over a
matter of weeks thousands of people are using the site
I mean it's still being used and this is about two years later and all he did was
through a few ads up there and he still gets about you know a few hundred
dollars every month he hasn't touched this thing in years but the point here
is that the ability to get quick and positive feedback on your projects is
really crucial
I mean if you if you have to learn to six months or a year's worth of a
language you probably won't do it but to be able to build something like that
even looks really bad and to see that people actually appreciate it and you're
valuing it and are using it is really really nice and it's pretty important I
think in in helping make coding become a little bit more mainstream
so finally part 3 all right how I taught myself to cold rails in a month
I happen to find traditional learning to be extremely tedious and that's like the
notecard version where your you write something down and no car and you look
at it and you can look at it again until you actually memorized what's on that
note card and then you flip to the next one
it's just so boring right and so do you guys otherwise you would have learned to
code by now right
I mean books suck right so what I did was I over the last few years I
developed my own method called brute force learning
what I call brute force learning it comes from college I used to I guess I
stumbled upon this is to download classes
the podcast of classes i was taking at school I went to NYU and so I studied
finance and philosophy and so if i was taking intro to ancient philosophy at
school I would download the introduction to philosophy podcast at Berkeley and
you know i would just basically listen to it while i was on the subway or
walking around the city very passively taking the stuff in but what happened
was it ended up eliminating hundreds of hours of studying i would have had to do
more active learning stuff and the teachers love like the unique
perspectives that you can bring in right but they didn't cover in class but
they're like really smart insights but what's a why does this work
well have you ever been confused by something when it's explain one way but
then when it's explained a different way just sort of clicks right or put it a
different way
if you're in a room full of smart people would you ask the same person to explain
the same thing over and over again or what you ask a lot of the people by the
way to see what i did there
the the end result is that learning is too less tedious and I think more
importantly the stress of feeling like you have to learn something the first
time actually disappears and that helps you learn it faster
it's really ok it's not understand something the first time right
isn't that actually sort of the point right
there's no way that you can know it the first time you learn it so the way i
look at it is that the first time you learn something your mind is creating
sort of a a mental map like a fuzzy map of what's going on and and you don't
exactly remember that the little pieces but you sort of remember how it all
works and then you go
I don't know why that happened
it's restarting sorry
yes save two minutes
right so then when you go back you really are specifics and it actually
starts to make a little bit more sense
you have these little these concepts that sort of their hooks and then you
can hang more ideas on that
so what I what I did and what i recommend that you guys to do is just
speed through as many introductory tutorial as you can
and there are a lot out there the rails has literally dozens of these
so here's the path that I took I like they have video tutorials of a
lot of these different like photoshop or languages or things like that
I did the ruby on rails three essential training by Kevin Scotland and I did
that in a week and so technically you have to pay for Linda but they give you
a seven day free trial which is just enough time to learn this thing and then
bail which worked well for me
you it's it's 12 hours of material and you can really just power through it
I mean that's what I did it's watching videos is so much better than reading
this stuff and if you just copy what the guys doing and then you may run into a
few bumps every once in a while to figure that out
you can power through this stuff really fast and you're not going to know how to
build a web app after this thing that's not really the point right
but you're gonna have a pretty good understanding what goes into it and
you'll remember you know deployments and you'll remember what they at what app
framework is so that the next time you see the concepts that actually starts to
make more sense
so after that week what I did was I went through the ruby on rails tutorial by
Michael horrible and i took about two weeks because this is it's like it's
kind of dense stuff
the book for this is available for free online so just search rails tutorial and
the the whole thing is online for free
he has screencasts like also videos that you can pay ninety five dollars for and
I haven't taken them but I've heard they're really good
and this is basically like this one is longer but it's sort of the you know one
of the best resources out there right now for learning rails but really the
benefit with starting with the videos is that by the time you you get to this one
it actually it's all really familiar
and you remember most of it and then the second time you're like oh yeah okay I
got this
by the time you're done with this you can build a basic web app and you end up
building one that looks like Twitter which I think there's a slide of later
but then what i did was i I did this web applications class by a guy named Jonah
mr. out he's been really awesome guy at Stanford University and Stanford like
podcast most of their classes online if you
I guess for some reason want to build an iOS app for example they have a whole
iOS class for free online with one of the best professors out there a lot of
times people tell me that they want to build a mobile app and I really have to
ask them why they want to build a mobile app because most of the time the product
you want to build you don't actually doesn't have to be a native app you
could build a web app for that
so that actually avoid the whole Apple App Store process and and having to
learn Objective C which is actually as of recently the only way you can code
iOS apps now you can do it using Ruby because someone really something called
Ruby motion and so actually learning ruby on rails is going to sort of help
you along that process to but this is a really great class because he covers a
lot of the more click computer science ii aspects of the theory behind what's
going on and so by the time you have actually gotten through the first two
this makes a lot more sense and it's pretty interesting because you get a
sense of where rails fits into the overall landscape
so at this point you can build your own basic web app right this is actually
what you're going to have at the end of the second tutorial
does this look familiar to anyone I it's basically Twitter and it looks better I
think than the first person twitter which we saw but there are going to be
specific features still that you don't know how to
implement rails casts is a really really great resource for that specifically
they're just he uploads videos like seven to ten minute long video is about
how you implement really specific features from you know like your user
login system or stripe payment processing or the KISSmetrics or
whatever so probably anything you could want to build
he has a video for already and its really great stuff at some point along
the way you may feel the temptation to stop and learn ruby or HTML or CSS
I've heard people tell me this all the time don't do that
I it it's so round about like I know a guy who started with these tutorials and
then he said well I felt like I didn't really have an understanding of Ruby and
so I i did this Ruby course and it took him six months and he now understands
Ruby better but now he has to start at the exact same place and now he's six
months behind
right ruby is really huge that's Ruby and that's rails and that's you only
need to know how a really small amount of it right and the same is true for
HTML and CSS and JavaScript you end up learning that stuff along the way so
it's ok if you don't know it because most of the good introductory tutorials
will I mean it's part is included because rails is an application
framework so you have to learn how to do the front and stuff and a little bit of
the back end stuff so don't go out of your way to try to learn that stuff but
you know after you finished if you're interested you can check out some of the
more fun basic resources that teach you basic Ruby like Ruby moncur Ruby warrior
or becomes learn Ruby the hard way
these are basically like Codecademy but for Ruby and they're fun
I mean you're not going to learn how to build a web app because it's two totally
different skill sets
but you learn about strings and arrays and and variables and constants and
things like that that may be useful for troubleshooting along the way right
it's literally I mean even from installation of Ruby
it sucks installing rails really sucks so don't give up
at that point I mean it could take you a day to take you two days
email me if you have a question my emails at the end here
but don't give up at that point because that'd be really sad but you're going to
run into a few bumps because for some reason every every computer is different
so you may have problems at a step where I didn't and so I'll see an error and
it'll go too smoothly for you right you'll read the tutorial then you do
this and it'll be fine but your computer is like no
so what do you do most of the time you can literally just copy a bit of the
error and paste it into google and you will see the answer
I mean it's like it's like the your world answers for everything
someone has bumped into this problem before and just copying a bit of the
code and paste it into google will find your answer a lot of times you'll end up
on a site called stack overflow which is like a bit ly credit but for like
computer science like you in days and people will post this question that they
have here is an error or hear something I want to do how do i do it
and then there are lots of answers and then one gets up voted the most and that
becomes like the verified answer
so you'll know that's one of the advantages of using rails which is that
it's such a big community that most likely any problem someone's already
encountered before
right whereas in some of the other languages that may not be the case
a lot of times you know what features you want to build but you don't know
what it's called
I'm i studied philosophy and this is actually called me knows paradox right
how the hell do you know what you know how to look for something if you don't
know what it is
for example a cron job lets you schedule tasks in a nap
ok how would you know it's called a cron job right even you end up searching the
web for hours before you figure that out
ask someone it's the easiest way to do this and you guys I think are all based
in New York City and so you have a ton of resources who trouble at your
disposal right
brillz happens to be very very popular right now and it there is a very big
community for support and the best way to learn is to go to a rails meetup and
ask someone who knows more than you
so here are a few meetups that I learned about along the way there's NYC . r be
there is NYC on Rails New York ruby meetup Ruby new be there are tons out
there right there meet ups for any other thing that you could want to learn
I actually can write that down but it's all online - oh I at Teach Yourself code
calm and then i really suggest you go attend some hackathons and find teams to
work with because there's no better way to really cement the knowledge that
you've learned and actually putting it into practice that I think the whole
reason that hackathons even exist nowadays is because of web frameworks
like rails and Django they let you build an application so fast because there are
so many shortcuts that you can right over the course of three days build a
fully functioning thing which is not something that was possible before using
some of the old school languages so to hear about hackathons sign up for the
following mailing lists
there are tons of General Assembly which is you know where i teach out of and
they do hackathons probably every other weekend this week in New York City
it's a great newsletter list by charlie o'donnell startup digest startup weekend
these are all different organizations that do hackathons and there's also an
unlimited list of resources i can't attest to but that I've heard a really
good right
so there's whoa things are really falling apart
there's rails for zombies which I've heard great things about Pete code rails
cast is great at your web development with rails
ruby-on-rails guides happy hack team treehouse codecademy code school
I'm literally hearing about a new thing every day and so I mean go try some of
them out i cant that say that the way I learned it is is how you should be doing
it but i do think it makes a lot of sense to go through like a lot of these
things very fast and so I wanted to end before you open it up to Q&A
on the story of startup weekend which was the first hackathon that I went to
after teaching myself to code because it's a minute
i think it's it's interesting and it should like alleviate some of the
concerns you guys have so I went to the startup weekend hackathon and this was
right after i finish this month and i built my own web application but i
wasn't really like very sure that I knew had a code very well right
that would be really valuable as part of a team but i figured i would go for it
and the way that it works is people pitch ideas and then you separate into
two teams and then you code on that idea for two days and then you present the
idea at the end of those two days to a panel of judges and one of the team wins
or they give out various awards so i ended up as part of a really big team
was like 10 people and most of them were really really experienced coders they
were like working at the Department of Defense and Pentagon stuff and I'm not
top secret databases or whatever and so I thought all right i'm not going to be
super valuable here
right me and my like a rail skills they also decided by the way to coated in the
language called cold fusion which is like very old school and and so I didn't
know cold fusion and I just sort of set back and I thought well it'll be an
experience to just watch and see how they end up building this and to really
watch you know a team of people who have been doing this for a while I thought I
would learn something and so we spent a long time building out the database like
actually drawing again drawing it out on a white board
these are the inputs and and this is how we build it properly with all the
relationships so that it can really scale right we don't want to have any of
the problems of like an on scaling app and so time went on and I started to
realize like we're spending a lot of time on this baby database stuff and on
the really fundamental stuff of how this app is is functioning and and over the
course like there were there are technical problems along the way and
they couldn't figure out how to set stuff up and connecting the database
with the the like the system to the front end
all the separate moving pieces and because I didn't know how to know I
wasn't coding there
I I volunteer to present and it was sunday night approaching the time where
we have to present what did we have
we had the front page it was a it was by the way it was and like a digital gallup
polling system so not a very complicated at all
it was literally a system where you went there and it was like
click here to answer some questions to you know you're so your voice can be
heard things like New York City related like do you think the MTA should be
increasing the you know the cost of of subway cards
no probably not so basically just a polling system right
so as sunday at 6pm approaches its dawning on me that we don't have
anything ready we have the front page which was an image right but somebody
put up there and then we coded a little button on top of it and I'm up there
presenting it and I click the button to show them what it looks like and it
breaks right
we don't we three days and 10 developers and we can't build something that goes
past the first page right which is extremely frustrating for me we built
this database that I'm sure could have scaled to 10 billion people write like
Facebook would've been fine on this database but it didn't work right
three days later and that was frustrating for me because of the
realization only in hindsight that i had actually after learning rails for a
month had the skills that I needed to build out this thing probably on my own
definitely with a team of two to three other rails developers and we would have
had something to show for it and it would have been fully functioning
whereas these guys who had been doing this their whole lifetime's couldn't
actually build anything beyond that first page right and that's it's sort of
the the light bulb went off when I realized that things are really changing
it's no longer all that valuable to you have coded for 10-plus years because the
new languages in the new frameworks and the new systems that some of the old
school guys are a little bit reluctant to learn are so much faster
they're just leaps and bounds above what have existed for so long
that you can you can learn the stuff that fast and you can actually build
something and be valuable that fast and i guarantee you that if you take you
know an extra month on this stuff if you if you're learning rails for maybe two
months or three months
you can go join a start-up and you can be a valuable part of that startup and
you can actually contribute and people ask me that all the time and I say if
you've gone through these three classes there's something valuable there right
so that's what i want to end that on and i want to say thank you guys for being
an awesome audience
that's a picture of me that's my name that's my email so feel free to shoot me
an email with any questions
that's my Twitter handle and I'd love to open it up for Q&A I or questions if you
guys haven't it i guess i have to pass this around which will be fun
maybe you guys want to come like the front of the operation I want to start I
want to kind of produced like the next generation of like a
a a search engine would i use Ruby or use one of like the old school like
yes so you can build just about anything in any language
it's really not like you can only do stuff in one language right like if
you're building a search thing it's best to do one kind of thing you can build
just about anything in any language
so don't be like afraid that if you're learning rails you're not gonna be able
to do something
that being said I think the only exception there was mobile up until
recently like android is all java for mobile apps and iOS has been all
objective c and java script and now Ruby but don't try building a mobile app
initially it was really hard and yeah I'll repeat the question so that people
so you any of this stuff any languages are fine
don't need to use PHP Java C++ you can do everything in in Ruby which is like
the underlying basics of ruby on rails that you can do in PHP and java
there are different protocols that you have to use to do chat but that applies
to any language you're learning right
as far as Lycans
so I mean so I did this whole thing on my mac so I don't have first-hand
experience coding and rails
that being said it's actually easier to install rails on a windows machine that
on a Mac surprisingly because there's there's a website if you go to the the
rails tutorial and there's a whole one of the first section is how you install
rails and i really recommend reading that because there's like if you have a
windows machine just go to this site and download this thing and double click it
and it's all there
if you have mcintosh there like a few different steps that you have to take
that being said you know I haven't encountered
I haven't heard anyone that had like particular difficulties with one vs.
Taylor if that hole's yeah i'll start here is code Academy a waste of time if
you want to build your own web app is a waste of time
like if you are I think code Academy is great for the javascript stuff which is
by the way all like the little flair it's the polish on top of your web
application that helps you build stuff that moves and that sort of thing which
is totally unnecessary to building a web app like you probably don't need it at
I'm so if you want to build an app it's a waste of time if you want to get
proficiency in JavaScript or if you're doing just the front and stuff like if
you're a designer for example and you want to learn a little bit about coding
but not build out your own web apps if you want to just do like the web pages
itself and code Academy is fine
that being said code can be started with javascript because it's like one of the
easier things to teach in the format that they built out but they're actually
moving into now Ruby and Python and rails and that sort of thing so i think
very soon they'll have these resources for learning rails I don't think they
have a right now so yeah and I know the founders and they're great guys and I
think it's a great start up but it's not what you're looking for
oh yeah ok so what are some examples of websites created on Rails Twitter was
built on Rails initially i'm there a lot
and there are thousands out there I can't not off the top of my head
Oh dropbox - I think you're like the 37signals guys actually developed rails
because they use it within their application
it's um a lot of a lot of the hackathon startups that you see are built on Rails
you hear some complaints about scalability and like if you talk to a
they'll say like Oh rails doesn't scale look whatever that actually means for
you guys
it's very little I mean twitter was able to scale using rails until they have
like probably tens or hundreds of millions of users and rails can handle
that kind of scale
you know at that point you're already like passing it over to someone anyway
like you're probably going to have to scrap your old prototype anyway when you
hire a team of developers so don't worry about the scale issues and I know that
Twitter happened to just have transitioned over from rails onto
something called scala but these companies are dealing with such huge
numbers of people sort of that no other company has ever seen before like
Facebook for example and Twitter that almost no language skills to that point
like you're probably going to break your appt at some point that has nothing to
do with the actual programming language you used before you hit the max of the
yeah so I hope that answers the question yes
no I'm not
so I I work on a lot of like fun projects on the side and I talk to
developers and knowing sort of like where they are and who to connect who is
definitely helpful
a lot of what I do at my company the growth hacking stuff is technical like
there are
how do you build out your app in such a way that it promotes itself right and
how do you do the a/b testing and building the social functionality and
and sort of
re imagining how you designed this thing and I think that marketing is moving in
that direction anyway
it used to be a people business and now it's more of a technical business but
it's the actual skills themselves have been invaluable
right because if i have to do something I can code something together really
I did the a mobile website app for a friend of mine recently that he just had
been waiting forever to actually build out and so I just sort of like built it
for him really fast
same thing software engineers love to call themselves engineers which I've
never gotten because there's also electrical engineering and mechanical
engineering and they just like no engineering is like what I do but its
software engineering developer programmer like technical lead developer
all sort of the same thing
although i'm sure they have preferences as to what you call them
yeah it looks similar I mean in the back and it's all just text right so it's
like it's it's a lot like a language like a foreign language that you're
learning right where you need to understand the verbs and and you know
the nouns and what you're talking about and so there is a memorization involved
essentially having knowledge of HTML and CSS
I'd say helps right you're not going to feel as confused because you'll
understand a lot of the basics of this but it is a totally different thing at
the end of the day
yeah ok any questions
one more question
oh it's called Ruby motion and it's very experimental
she's asking about I said you can use Ruby to code a native like iOS app
instead of objective c so this was released a few days ago but it actually
changes everything because there are just not that many objective-c
developers out there and there are a lot of Ruby developers out there and up
until a few days ago the Ruby developers couldn't build native iOS apps
I'm so I think it's huge and you're going to see a lot more mobile apps
being built
it's called Ruby motion if I haven't said that already yeah it's interesting
it's worth checking out
one of the problems with it is that there are a lot of like like plugins
that you could put into your app in Ruby and using rails that exists for web
applications like you can build in payment processing functionality really
easily because someone's already built that for you
that stuff doesn't necessarily exist for mobile yet
so you have to do a lot more stuff from scratch but ruby is just so much more
easy to learn the objective say yeah
any final questions now yes yes
so a little while probably during that month
I was actively working for maybe four hours a day right
and so I'm not saying that it's going to take you only a month to go through this
stuff especially if you have like a if you're working and doing this on the
it may take you two months it may take you four months or six months but the
point is if you have an idea then not knowing this stuff shouldn't be your
barrier right that should be what's stopping - because if you have an idea
you could quit your job and you could learn how to code this stuff in under a
month and then actually build it right so i mean it's it's fairly
time-intensive and it does take a while
it's not super magical super easy but you can do it in a matter of a few
months now as opposed to for years
okay good
thanks i'll be up here if you have any more questions that are