Under the Radar 6: How to Become a Programmer
00:00:00
◼
►
welcome to under the radar a show about
00:00:02
◼
►
independent iOS development I'm Marco
00:00:04
◼
►
Arment and I'm David Smith under the
00:00:06
◼
►
radar is never longer than 30 minutes so
00:00:08
◼
►
let's get started so today as a little
00:00:11
◼
►
bit of a tie-in to the hour of code sort
00:00:15
◼
►
of I don't know what you call a
00:00:16
◼
►
organization program that sort of being
00:00:19
◼
►
celebrated this week about trying to get
00:00:20
◼
►
people into programming we thought it
00:00:23
◼
►
would be kind of an interesting episode
00:00:25
◼
►
to talk about our origin stories as
00:00:29
◼
►
developers where we learned how to wear
00:00:31
◼
►
how we learn to program both originally
00:00:34
◼
►
back whenever that was
00:00:35
◼
►
and then probably also more specifically
00:00:37
◼
►
on Apple's platforms on iOS and the like
00:00:41
◼
►
because it's a question that I get more
00:00:44
◼
►
often than I know if so fairly
00:00:46
◼
►
consistently I'll get a question from
00:00:47
◼
►
somebody who says I see that you're a
00:00:50
◼
►
developer I like your work how did you
00:00:52
◼
►
get there how would I you know where
00:00:54
◼
►
should I start and it's you know I get
00:00:57
◼
►
enough of those that I wanted to be
00:00:58
◼
►
interesting place it for us to just to
00:01:00
◼
►
talk about it and hopefully make it a
00:01:02
◼
►
little bit more accessible for you know
00:01:05
◼
►
coding isn't necessarily this big scary
00:01:07
◼
►
thing that you have to get into I've
00:01:09
◼
►
actually been working with my kids who
00:01:11
◼
►
are four and six years old on basic
00:01:14
◼
►
programming concepts and so it doesn't
00:01:16
◼
►
have to be particularly scary and so but
00:01:19
◼
►
it's something that it's you know I
00:01:20
◼
►
think you don't know where to start it
00:01:21
◼
►
can be kind of overwhelming and so if
00:01:23
◼
►
you know we can't tell you where you
00:01:25
◼
►
should start but this is where we
00:01:26
◼
►
started so Marco where did you first
00:01:29
◼
►
learn to program so I was soon as I
00:01:32
◼
►
learned of just the concept of
00:01:34
◼
►
programming and I don't I don't remember
00:01:35
◼
►
that when this was what I was always
00:01:37
◼
►
very into technology and computers even
00:01:40
◼
►
before I had a computer and I didn't get
00:01:43
◼
►
a computer until the sixth grade so I
00:01:45
◼
►
don't know what a excited is maybe
00:01:46
◼
►
they're 12 13 something like that yeah
00:01:49
◼
►
and so before that I I would only have
00:01:53
◼
►
experience with friends computers
00:01:54
◼
►
occasionally Lucchino you get for like
00:01:56
◼
►
two seconds and you want to play a game
00:01:57
◼
►
and you know occasionally computers at
00:02:00
◼
►
school but I went to a pretty poor
00:02:01
◼
►
elementary school that that only had one
00:02:04
◼
►
room that had a computers in it and it
00:02:06
◼
►
was old Apple twos and that had been
00:02:09
◼
►
donated and you could not do much on
00:02:11
◼
►
them except play Oregon Trail
00:02:13
◼
►
so I I knew of programming though and I
00:02:15
◼
►
would get books out of the library of
00:02:17
◼
►
that like that were you know also
00:02:19
◼
►
ancient donated books that were like how
00:02:22
◼
►
to program in basic and I used to like
00:02:25
◼
►
sketch out programs on paper that and
00:02:28
◼
►
you know just like ten lines it didn't
00:02:30
◼
►
do anything but I would like just write
00:02:32
◼
►
down programs like I was trying so hard
00:02:34
◼
►
to program and couldn't do it
00:02:36
◼
►
I didn't have a computer eventually i I
00:02:38
◼
►
got a computer and I didn't even know
00:02:40
◼
►
how to program on the computer because I
00:02:43
◼
►
got like a Windows 3.1 PC and I had it
00:02:46
◼
►
for about a year I think before I ever
00:02:48
◼
►
knew that it came with Q basic in the
00:02:52
◼
►
DOS prompt area I had no idea good I
00:02:54
◼
►
didn't I I wasn't an expert in computers
00:02:56
◼
►
I didn't even know how to find such
00:02:57
◼
►
things and and one day I had back when
00:03:01
◼
►
they used to print source code in
00:03:02
◼
►
children's magazines to be like he typed
00:03:05
◼
►
this into your computer and you can you
00:03:07
◼
►
know play a paper airplane game or
00:03:09
◼
►
something they there was a source code
00:03:12
◼
►
printout in I think it was three to one
00:03:14
◼
►
contact magazine and they would do this
00:03:16
◼
►
every month and won and I would just
00:03:19
◼
►
look at that man someday I hope I can
00:03:20
◼
►
try these but I had no idea how and in
00:03:22
◼
►
one month it said they had like a little
00:03:24
◼
►
like sidebar in that article that said
00:03:26
◼
►
here's how to do this on a Mac do
00:03:28
◼
►
whatever on a PC type in Q basic at the
00:03:31
◼
►
prompt and I tried it and it I'm like oh
00:03:34
◼
►
my god I have basic on my computer I've
00:03:38
◼
►
had it all this time and from that point
00:03:42
◼
►
forward I just I just started program I
00:03:44
◼
►
just taught myself through occasional
00:03:46
◼
►
ancient books in the library and mostly
00:03:49
◼
►
just trying stuff and looking into the Q
00:03:51
◼
►
basic help screens to like look up
00:03:53
◼
►
functions that were available and how to
00:03:55
◼
►
use them and stuff it basically went
00:03:57
◼
►
from there eventually we we had a friend
00:04:00
◼
►
of the family who was a programmer who
00:04:02
◼
►
had like who eventually handed me down
00:04:05
◼
►
what was comparably ancient at the time
00:04:07
◼
►
Visual Basic 1.0 for Windows came on I
00:04:11
◼
►
think to floppies it was two or three
00:04:12
◼
►
floppy and you know he had long this was
00:04:15
◼
►
like at the time when like 3.0 or for
00:04:17
◼
►
print it was actually available so
00:04:19
◼
►
version 1.0 was useless to a working
00:04:21
◼
►
programmer at that point so he just gave
00:04:23
◼
►
to me here to your kid you know try this
00:04:24
◼
►
I installed that on Windows of
00:04:27
◼
►
and learn visual basic and actually
00:04:30
◼
►
those same visual basic 1.0 discs I I
00:04:33
◼
►
took to upstate New York that somewhere
00:04:35
◼
►
where my family went every summer on
00:04:37
◼
►
vacation and I shared those discs with
00:04:40
◼
►
Casey Liz and Casey was this this other
00:04:45
◼
►
like you know young young teenager that
00:04:47
◼
►
I would play with up there and waste
00:04:48
◼
►
time with and his dad had had an IBM
00:04:51
◼
►
ThinkPad and so we would waste time on
00:04:54
◼
►
his dad's thing pad using Visual Basic
00:04:56
◼
►
1.0 and that's how I met Casey Liz there
00:04:59
◼
►
you go and now he's a programmer -
00:05:01
◼
►
exactly so anyway it just kind of built
00:05:05
◼
►
up from there I was really self-taught
00:05:07
◼
►
in the in like you know most concepts
00:05:10
◼
►
most fundamentals you know functions
00:05:12
◼
►
control flow things like that basic GUI
00:05:16
◼
►
construction through visual basic and it
00:05:19
◼
►
wasn't well I didn't experience anything
00:05:21
◼
►
like the low-level languages like C or
00:05:23
◼
►
even web languages like PHP really until
00:05:26
◼
►
college college kind of taught me see
00:05:28
◼
►
like through the Couric through the
00:05:29
◼
►
curriculum and make it a computer
00:05:30
◼
►
science and then I kind of picked up PHP
00:05:33
◼
►
on the side to do like you know kind of
00:05:34
◼
►
fooling around on the web and really
00:05:36
◼
►
just kind of became self-taught from
00:05:38
◼
►
there like I learned I learned more and
00:05:41
◼
►
more see through college and then my
00:05:43
◼
►
first job after school was entirely
00:05:44
◼
►
written in C so so I learned a lot more
00:05:47
◼
►
C there and then I always was kind of
00:05:49
◼
►
self-taught in web stuff and other stuff
00:05:53
◼
►
and eventually got the job at tumblr and
00:05:54
◼
►
became really had to become really good
00:05:55
◼
►
at web stuff but so it's basically like
00:05:58
◼
►
I basically started from scratch kind of
00:06:01
◼
►
just like messing around as a middle
00:06:03
◼
►
schooler I did it because I just kind of
00:06:07
◼
►
had to it's one of those things like
00:06:09
◼
►
like if you ask a writer like how did
00:06:11
◼
►
you learn to write and I think a lot of
00:06:14
◼
►
them would just say you know a I've been
00:06:16
◼
►
writing a lot but be like I just kind of
00:06:18
◼
►
have to write some people just have this
00:06:21
◼
►
inherent drive to do the thing they do
00:06:22
◼
►
and they just kind of have to do it
00:06:25
◼
►
that's how I am with programming I just
00:06:27
◼
►
have an inherent desire to do it because
00:06:30
◼
►
programming and I was I tell people this
00:06:32
◼
►
whenever they ask me like how to get
00:06:33
◼
►
started or what it's like or whatever
00:06:35
◼
►
programming is incredibly boring and
00:06:39
◼
►
frustrating and
00:06:40
◼
►
juice to most people and you have to
00:06:44
◼
►
really love it and I do really love it
00:06:47
◼
►
and when you really love it you see the
00:06:49
◼
►
good side of it which is the incredible
00:06:52
◼
►
feeling of joy and of pride when you
00:06:57
◼
►
build something from scratch like you
00:06:58
◼
►
create something out of nothing
00:07:00
◼
►
using nothing but time and the thing
00:07:04
◼
►
that you want to exist now exists and
00:07:06
◼
►
that's an incredible feeling it's
00:07:09
◼
►
incredibly satisfying it's incredibly
00:07:11
◼
►
intellectually satisfying and I just I
00:07:14
◼
►
cannot get enough of that feeling the
00:07:16
◼
►
problem is that most programming actual
00:07:18
◼
►
you know time spent is not doing things
00:07:21
◼
►
that are that satisfying most of it is
00:07:22
◼
►
like kind of you know grunt work or
00:07:25
◼
►
debugging or you know just kind of
00:07:28
◼
►
moving stuff around making making a
00:07:29
◼
►
boring screen you don't feel like you
00:07:31
◼
►
need to make any more like a login
00:07:32
◼
►
screen code monkey reference but you
00:07:34
◼
►
know it most of it it can be very
00:07:37
◼
►
tedious so you have to love it enough
00:07:40
◼
►
during those good times to get you
00:07:42
◼
►
through the tedious times and the
00:07:43
◼
►
frustrating times like if something's
00:07:45
◼
►
breaking and you can't figure out why
00:07:46
◼
►
and some people just have that internal
00:07:49
◼
►
drive and I definitely do and I bet you
00:07:51
◼
►
do but if you don't have that I can
00:07:54
◼
►
imagine it would be pretty frustrating
00:07:56
◼
►
because and the way you usually learn
00:07:58
◼
►
leap the way I have learned and the way
00:08:01
◼
►
I think most people I know have learned
00:08:02
◼
►
you basically come to a point where you
00:08:04
◼
►
want to achieve some some next thing in
00:08:07
◼
►
your programming experience or
00:08:08
◼
►
experiments you want to achieve
00:08:10
◼
►
something you have no idea how so you
00:08:12
◼
►
just kind of like try or maybe these
00:08:14
◼
►
days you search the internet and you hit
00:08:16
◼
►
a bunch of walls constantly and things
00:08:19
◼
►
don't work things crash things break and
00:08:21
◼
►
you kind of stumble through until you
00:08:23
◼
►
figure out how it actually works and
00:08:25
◼
►
then you do it and then it finally works
00:08:27
◼
►
you know eventually but that the process
00:08:29
◼
►
of stumbling through and figuring it out
00:08:30
◼
►
can be pretty frustrating to a lot of
00:08:32
◼
►
people so you you have to you have to
00:08:35
◼
►
feel that payoff at the end that has to
00:08:37
◼
►
really matter to you that has to really
00:08:39
◼
►
resonate with you if it's if this is
00:08:41
◼
►
gonna be the kind of thing that you do
00:08:42
◼
►
and if that's the case that can usually
00:08:45
◼
►
alone be the driver to push you through
00:08:47
◼
►
the bad times and to really make you
00:08:49
◼
►
keep coming back to this as an activity
00:08:51
◼
►
yeah I think my my back
00:08:54
◼
►
and started I think in in qbasic same as
00:08:57
◼
►
you but I think we had a slightly like I
00:08:59
◼
►
always growing up always had computers
00:09:01
◼
►
around me like that was I I don't
00:09:04
◼
►
exactly know how my dad did it but he
00:09:05
◼
►
was just something that I think he knew
00:09:07
◼
►
like this was going to be important and
00:09:09
◼
►
even perhaps at times that economically
00:09:11
◼
►
that was a pretty big ask it's like as
00:09:13
◼
►
long as I can remember we've always I've
00:09:15
◼
►
always had a computer in my life and
00:09:17
◼
►
it's like old Sinclair spectrums I think
00:09:19
◼
►
it was where you loaded the programs off
00:09:21
◼
►
audio cassette tapes like playing back
00:09:23
◼
►
from a like a tape deck
00:09:24
◼
►
nice and like it was a very different
00:09:27
◼
►
world but it was always something that I
00:09:28
◼
►
was around I think he knew that like
00:09:30
◼
►
that was something that was going to be
00:09:32
◼
►
important and like it said a similar
00:09:34
◼
►
sort of experience where it's like at
00:09:35
◼
►
some point I became aware of qbasic and
00:09:38
◼
►
I remember the thing that like the they
00:09:41
◼
►
have this very like wonder you know when
00:09:43
◼
►
you think back when your youth you'll
00:09:44
◼
►
often only have it like these few little
00:09:45
◼
►
like flashbulb memories and I remember
00:09:48
◼
►
when I first discovered in QBasic one of
00:09:51
◼
►
the liked programs that came with it was
00:09:53
◼
►
an app called gorillas I think it was oh
00:09:56
◼
►
yeah gorillas dot bass yeah and it was
00:09:59
◼
►
then it was just think this really silly
00:10:01
◼
►
sort of apt where you had these two
00:10:03
◼
►
gorillas that would throw bananas at
00:10:05
◼
►
each other and like that was that was
00:10:06
◼
►
the app but I remembered that this very
00:10:09
◼
►
distinct memory of this moment where I
00:10:11
◼
►
realized that this text file in front of
00:10:14
◼
►
me created that app that it would like
00:10:20
◼
►
and all the person who wrote it just sat
00:10:23
◼
►
down in a text editor just like I was at
00:10:25
◼
►
and put in all these commands in this
00:10:28
◼
►
order and like I didn't understand half
00:10:29
◼
►
of what it was going on but conceptually
00:10:32
◼
►
like they just wrote this thing and then
00:10:34
◼
►
this a make this game that I can play
00:10:36
◼
►
and have fun with appeared and I think
00:10:39
◼
►
for me like that was the spark that like
00:10:41
◼
►
this is not like programming isn't this
00:10:45
◼
►
sort of this this thing that is
00:10:47
◼
►
completely in like inscrutable that I've
00:10:50
◼
►
only had before that I had only ever
00:10:52
◼
►
really seen like the outside of it where
00:10:54
◼
►
I'm interacting with the software that
00:10:56
◼
►
other people had made and then it's like
00:10:57
◼
►
wait I can come in here and I can edit
00:10:59
◼
►
it and you know I've like I'd horribly
00:11:00
◼
►
break gorillas the gorillas game and you
00:11:05
◼
►
know it's like at some point all right
00:11:06
◼
►
well best they'd better go back to the
00:11:07
◼
►
original version but
00:11:08
◼
►
I had that feeling of like it's like
00:11:10
◼
►
sort of like when you get a toy and
00:11:11
◼
►
you're it's I think some people's
00:11:13
◼
►
instinct is to want to take it apart and
00:11:16
◼
►
see how it works and I think I
00:11:19
◼
►
eventually got that same kind of
00:11:20
◼
►
instinct around software where I would
00:11:24
◼
►
look at something and I'd start once I
00:11:26
◼
►
had sort of once the sort of the curtain
00:11:28
◼
►
had been pulled back and I was like wait
00:11:29
◼
►
this you know this piece of software is
00:11:31
◼
►
a behind the scenes just a series of
00:11:33
◼
►
text files I wonder what those text
00:11:36
◼
►
files would look like I wonder if I
00:11:37
◼
►
could write a set of text files that
00:11:39
◼
►
would create that same thing and it just
00:11:42
◼
►
sort of grew from there but it's there
00:11:44
◼
►
is definitely I think something to it
00:11:45
◼
►
where like in some ways I think anybody
00:11:48
◼
►
could learn to program you know like I
00:11:50
◼
►
went to a high school where it was
00:11:52
◼
►
mandatory that every student had it
00:11:54
◼
►
takes the computer science and it was
00:11:56
◼
►
like one of the like required courses
00:11:59
◼
►
that everyone had to do a basic computer
00:12:00
◼
►
science course and some people like
00:12:03
◼
►
myself like I mean that was like like
00:12:06
◼
►
one of my favorite courses that year
00:12:08
◼
►
like I took it freshman year I see early
00:12:09
◼
►
as I could so that I could open up all
00:12:12
◼
►
the advanced computer science classes
00:12:13
◼
►
later on in high school but for some
00:12:16
◼
►
kids it was like their dreaded thing
00:12:18
◼
►
that they had that's like well I got to
00:12:20
◼
►
do it or that like Ryan squeeze it in
00:12:22
◼
►
some you knows over the summer or all
00:12:24
◼
►
kinds of other ways to sort of just get
00:12:26
◼
►
through it and for some people though I
00:12:28
◼
►
knew people who would go and do that
00:12:30
◼
►
class and it was like wow this is
00:12:32
◼
►
awesome I love programming I didn't even
00:12:34
◼
►
think like I never thought of myself as
00:12:36
◼
►
a programmer but when I actually got
00:12:38
◼
►
into it like they do some people it was
00:12:40
◼
►
like the complete opposite like they
00:12:41
◼
►
just found it really frustrating and I
00:12:44
◼
►
think there is kind of this thing about
00:12:45
◼
►
programming because in programming you
00:12:48
◼
►
are you have no one to blame but
00:12:51
◼
►
for a lot of things like the the program
00:12:54
◼
►
is other than like OS bugs and things
00:12:56
◼
►
like when you crew what you wrote down
00:12:58
◼
►
is exactly what the app is going to do
00:13:00
◼
►
and the number of times then that you
00:13:03
◼
►
the app does something that you don't
00:13:05
◼
►
want it to do or in an unexpected way
00:13:07
◼
►
and you look at it and you're like huh
00:13:08
◼
►
it's like you know huh I I guess I wrote
00:13:12
◼
►
the wrong thing and it's doing exactly
00:13:14
◼
►
what I told this do but what I'm telling
00:13:15
◼
►
it is wrong and that can be very
00:13:18
◼
►
frustrating for you or it can be very
00:13:19
◼
►
you know encouraging and
00:13:22
◼
►
kind of stimulating to be like can I do
00:13:24
◼
►
this better how could I make this faster
00:13:26
◼
►
how could I do solve this problem in a
00:13:28
◼
►
newer or a better way and if you kind of
00:13:31
◼
►
have a mind that loves that then
00:13:34
◼
►
programming is extraordinarily
00:13:36
◼
►
satisfying because the core things that
00:13:40
◼
►
you need to start programming are
00:13:42
◼
►
especially sort of in the modern world
00:13:45
◼
►
are very bit are very you know
00:13:47
◼
►
straightforward like yeah you can do
00:13:49
◼
►
basic programming on probably any device
00:13:52
◼
►
if you if you wanted you know on your
00:13:54
◼
►
phone on your tablet on your on a
00:13:56
◼
►
computer like there's a ubiquity there
00:13:58
◼
►
that if this is something that works for
00:14:00
◼
►
you you could probably just dive into it
00:14:02
◼
►
and they won't even have to be like you
00:14:03
◼
►
are you know you're I sort of
00:14:04
◼
►
discovering that we accidentally had
00:14:06
◼
►
QBasic lately lurking on our windows you
00:14:10
◼
►
know Windows 3.1 computers back in the
00:14:12
◼
►
day like and whenever I anyone asks me
00:14:15
◼
►
like how they could get into programming
00:14:17
◼
►
I always just say it's like you just
00:14:18
◼
►
need to start you just need to whatever
00:14:21
◼
►
it whatever language whatever platform
00:14:22
◼
►
whatever it is that you would be like is
00:14:24
◼
►
most accessible to you like just just
00:14:26
◼
►
start it and see if Oh see if that works
00:14:28
◼
►
for you like see if you get a thrill out
00:14:31
◼
►
of the first time you ever do you know
00:14:33
◼
►
print line hello world run your program
00:14:35
◼
►
and it says hello world like if that's
00:14:38
◼
►
exciting to you then you're probably
00:14:40
◼
►
going to keep going if you're like huh
00:14:41
◼
►
it's kind of boring maybe it's not for
00:14:43
◼
►
you it doesn't have to be for everybody
00:14:44
◼
►
but it's if there's something kind of
00:14:47
◼
►
thrilling about like you said taking
00:14:49
◼
►
like starting with nothing like when I
00:14:51
◼
►
go to open up Xcode and I say like file
00:14:53
◼
►
new project and then like a few hours
00:14:55
◼
►
later like something functional is
00:14:58
◼
►
appearing in the simulator well for you
00:15:01
◼
►
okay or a few hours a few days whatever
00:15:03
◼
►
you can finish an entire app in like
00:15:05
◼
►
three hours sure I don't know any other
00:15:08
◼
►
developer who works as fast you know we
00:15:11
◼
►
all have we all have we all have our we
00:15:14
◼
►
have our skills but however long it
00:15:16
◼
►
takes to get from foundry project to
00:15:17
◼
►
something working in this emulator that
00:15:20
◼
►
process is really like there's just
00:15:22
◼
►
something really fun about that where it
00:15:24
◼
►
didn't exist and now it does and it's
00:15:25
◼
►
doing this thing that I had in my mind
00:15:28
◼
►
and now exists in the world that I don't
00:15:30
◼
►
think there's that many other careers or
00:15:33
◼
►
you can have a professional desk
00:15:35
◼
►
job that has quite that same sense of
00:15:37
◼
►
creation as they like you know you
00:15:40
◼
►
really you kind of make it from nothing
00:15:41
◼
►
except time on your computer and so you
00:15:44
◼
►
don't even need like special materials
00:15:47
◼
►
any additional equipment that you didn't
00:15:49
◼
►
already have like so many hobbies and
00:15:52
◼
►
creative fields require stuff and and
00:15:55
◼
►
possibly money that you know to be spent
00:15:57
◼
►
on on things like supplies equipment and
00:16:00
◼
►
everything and while programming does
00:16:02
◼
►
require a computer you probably already
00:16:04
◼
►
have one and it doesn't require a great
00:16:07
◼
►
computer it just requires a computer and
00:16:10
◼
►
and you can get and almost all the
00:16:13
◼
►
software tools that are needed for
00:16:14
◼
►
programming almost all of them are free
00:16:16
◼
►
and and if you and in fact if you want
00:16:18
◼
►
to go entirely free stuff you can so
00:16:21
◼
►
it's it's very pure in the sense that
00:16:24
◼
►
like all you all you need is is time and
00:16:27
◼
►
and a will to do it and if you have time
00:16:30
◼
►
and a will to do and you know I've heard
00:16:32
◼
►
a lot of people say people who are not
00:16:34
◼
►
programmers a lot of people have said to
00:16:36
◼
►
me that they don't think they're smart
00:16:38
◼
►
enough to be a programmer and the fact
00:16:41
◼
►
is you don't need to be a genius to do
00:16:43
◼
►
it you need to care that's it like if
00:16:45
◼
►
you care about programming you can be a
00:16:49
◼
►
programmer there are a lot of people
00:16:51
◼
►
working in the field who are not total
00:16:53
◼
►
geniuses and they're fine I'm not even
00:16:57
◼
►
that good of a programmer and you know
00:16:58
◼
►
people who are listening to the show
00:16:59
◼
►
might assume that because you you know
00:17:02
◼
►
one of us and you know our work you
00:17:04
◼
►
might assume that we are great
00:17:06
◼
►
programmers and I'm just a decent
00:17:09
◼
►
programmer I would say I would not say
00:17:10
◼
►
I'm a great programmer I've seen the
00:17:13
◼
►
code of great programmers I've seen what
00:17:15
◼
►
they make I am NOT at that level and
00:17:17
◼
►
it's fine it doesn't really matter for
00:17:20
◼
►
the purposes of what I'm doing the kind
00:17:22
◼
►
of products I shipped and what I do for
00:17:23
◼
►
a living it doesn't really matter that
00:17:25
◼
►
I'm not like the great programmer level
00:17:27
◼
►
you know it's fine so it really is very
00:17:29
◼
►
accessible it's the kind of thing where
00:17:32
◼
►
really all you all you need is a will to
00:17:34
◼
►
do it and the time to do it and those
00:17:36
◼
►
you know those aren't necessarily easy
00:17:38
◼
►
for some people to get but if you have
00:17:39
◼
►
those things you can do it yeah and the
00:17:42
◼
►
nice thing too I'm on that note is that
00:17:44
◼
►
programming I feel
00:17:47
◼
►
you can tailor what you're doing to your
00:17:50
◼
►
personality and your intellect and your
00:17:52
◼
►
aptitude like there are many different
00:17:55
◼
►
types of programming that you can do
00:17:58
◼
►
that may appeal to you in a very
00:17:59
◼
►
different way like I know people made
00:18:02
◼
►
some that I remember going to have when
00:18:03
◼
►
I went to college for computer science
00:18:04
◼
►
like some of the people there were just
00:18:06
◼
►
the ridiculous academic geniuses that
00:18:09
◼
►
like the things that they were they were
00:18:11
◼
►
interested in we're like solving really
00:18:12
◼
►
complicated and nuanced algorithmic
00:18:15
◼
►
problems like how can I do these these
00:18:17
◼
►
really supply crazy sophisticated things
00:18:20
◼
►
in new and novel ways like that never
00:18:24
◼
►
really worked for me the academic side
00:18:25
◼
►
of computer science never really
00:18:26
◼
►
appealed to me like what's a faster way
00:18:28
◼
►
to sort a list like that doesn't really
00:18:29
◼
►
appeal to me and so I just intend I
00:18:31
◼
►
instead I just I focus on pragmatic
00:18:34
◼
►
programming like I just want to make
00:18:37
◼
►
stuff and how can I make it quickly how
00:18:39
◼
►
can I make it simply and that appealed
00:18:42
◼
►
to me and so that's where I went but
00:18:43
◼
►
then it's like it's a very varied field
00:18:46
◼
►
that you can probably find something
00:18:48
◼
►
that fits for you like are you more
00:18:51
◼
►
graphically oriented and like the design
00:18:54
◼
►
and visual side of things or the backend
00:18:56
◼
►
side of things like there's a lot of
00:18:58
◼
►
there's a lot of breadth in the field so
00:19:00
◼
►
you find something that sort of suits
00:19:02
◼
►
you and the key is probably not
00:19:05
◼
►
pretending that you're someone you're
00:19:07
◼
►
you're not thinking oh I the programmers
00:19:09
◼
►
need to be like stuffy and academic and
00:19:11
◼
►
worried about algorithms like no they
00:19:14
◼
►
could do whatever like I don't think
00:19:16
◼
►
about algorithms hardly at all that's
00:19:17
◼
►
not my job my job is making apps and had
00:19:20
◼
►
very only rare only every now and then
00:19:22
◼
►
will involve like inventing some kind of
00:19:24
◼
►
new algorithm to solve a problem yeah I
00:19:27
◼
►
mean and that's a good point too like
00:19:28
◼
►
pointing out that it's it is just such a
00:19:29
◼
►
big field you know that nobody can keep
00:19:33
◼
►
up with all of the programming field
00:19:35
◼
►
because it's just too big and it's
00:19:37
◼
►
bigger than you think is almost
00:19:38
◼
►
everything uses software these days
00:19:40
◼
►
almost every field has software there's
00:19:43
◼
►
all the different levels at which you
00:19:45
◼
►
could work in software I mean it is so
00:19:48
◼
►
large it's such a massive field that if
00:19:51
◼
►
you are at all interested in being in it
00:19:53
◼
►
there is probably a place where you fit
00:19:54
◼
►
very easily anyway this episode of under
00:19:57
◼
►
the radar is brought to you by NS
00:19:58
◼
►
screencast go to NS screen
00:20:00
◼
►
calm slash headphones belie love their
00:20:03
◼
►
URLs and a screencast features short
00:20:06
◼
►
focused screencast on iOS development
00:20:08
◼
►
every week you're going to find a new
00:20:10
◼
►
fantastically produced episode that will
00:20:12
◼
►
help you build and enhance your
00:20:14
◼
►
development skills perfect sponsor for
00:20:15
◼
►
this episode now they have all sorts of
00:20:18
◼
►
videos up there and these are creeks is
00:20:20
◼
►
there really like these like kind of
00:20:21
◼
►
bite-sized videos so it's not like the
00:20:22
◼
►
early you know nine minutes 10 minutes
00:20:24
◼
►
15 minutes like it's not these aren't
00:20:26
◼
►
massive time commitments each time there
00:20:29
◼
►
are small chunks that teach you what you
00:20:31
◼
►
need to know and it can help you keep
00:20:33
◼
►
your skills up daily can help you
00:20:34
◼
►
develop new skills they have their
00:20:36
◼
►
recently doing a series on Apple TV's
00:20:37
◼
►
development now can that you can build
00:20:38
◼
►
for Apple TV they have all they have
00:20:40
◼
►
these three new videos about Apple TV
00:20:42
◼
►
development that I was I was looking at
00:20:43
◼
►
these are great videos really great you
00:20:46
◼
►
can watch these videos on the web you
00:20:48
◼
►
can also watch them on the Apple TV if
00:20:50
◼
►
you have the new Apple TV because they
00:20:51
◼
►
made their own TV iOS app to kind of
00:20:53
◼
►
show off what they could do and of
00:20:55
◼
►
course you know it's you can watch web
00:20:57
◼
►
stuff anywhere so in a screencast costs
00:21:00
◼
►
just 9 dollars a month or a hundred
00:21:02
◼
►
dollars a year with team fans available
00:21:04
◼
►
too and you can get 30% off your first
00:21:05
◼
►
month by signing up using our link and
00:21:07
◼
►
as screencast.com slash headphones these
00:21:10
◼
►
are great videos to learn development
00:21:13
◼
►
within the Apple world I you know iOS
00:21:15
◼
►
back TV this is the great videos for
00:21:17
◼
►
this world and as screencast calm
00:21:20
◼
►
headphones thank you so much to NS
00:21:22
◼
►
screencast for supporting this show and
00:21:23
◼
►
all of real afm so I guess for the last
00:21:26
◼
►
few minutes I want I wonder if maybe we
00:21:28
◼
►
can give specifics of I kind of where
00:21:30
◼
►
new programmers should start it for some
00:21:32
◼
►
reason that listening to the show and
00:21:33
◼
►
they aren't programmers yet where where
00:21:36
◼
►
should they start with like languages
00:21:37
◼
►
tools apps I don't know what do you
00:21:40
◼
►
think yeah so I think the first place
00:21:44
◼
►
start at least in its its it obviously
00:21:48
◼
►
depends a little bit on your age and I
00:21:49
◼
►
got I get a lot of questions too about
00:21:50
◼
►
teaching your kids and so I think I
00:21:52
◼
►
might start talking about a good way to
00:21:54
◼
►
a good accessible place to see if you
00:21:56
◼
►
sort of programming is interesting to
00:21:58
◼
►
you like I've been teaching my kids
00:22:00
◼
►
programming using an app called
00:22:02
◼
►
light-bot which I'm sure we can have a
00:22:04
◼
►
link to in the show notes which is all
00:22:07
◼
►
about cuz programming at its core like
00:22:09
◼
►
the first the first step like that you
00:22:11
◼
►
have to understand is this a bet it's
00:22:14
◼
►
creating a recipe of commands that you
00:22:17
◼
►
then issues that you can then like you
00:22:19
◼
►
say run and then something happens and
00:22:21
◼
►
understanding the disconnect between the
00:22:25
◼
►
creation part and the action part and so
00:22:29
◼
►
like the light light BOTS one of these
00:22:30
◼
►
there's I mean I mean when I was a kid
00:22:32
◼
►
it was logo I think it was was sort of
00:22:35
◼
►
the app like this we had a little turtle
00:22:36
◼
►
that you made move around the screen you
00:22:38
◼
►
like this one there's a little character
00:22:40
◼
►
who runs around and jumped like you have
00:22:41
◼
►
to you know you're solving little
00:22:43
◼
►
programming puzzles which my kids love
00:22:45
◼
►
but like an app like that it's something
00:22:47
◼
►
that will let you just understand that
00:22:49
◼
►
that concept of you create a set of
00:22:51
◼
►
recipes and then you do something and
00:22:53
◼
►
just like programming at its core is
00:22:55
◼
►
about separating like the direct input
00:22:59
◼
►
from the output because you have to
00:23:00
◼
►
write a program compile it and then run
00:23:02
◼
►
it in a way that like the user will
00:23:04
◼
►
input interact with your program but
00:23:06
◼
►
their programming doesn't interact while
00:23:08
◼
►
it's running in the same way that's a
00:23:10
◼
►
great place that I found to start like
00:23:12
◼
►
there's a lot of apps like this things
00:23:13
◼
►
that you're going I think hopscotch is
00:23:15
◼
►
when I've heard about had a lot of
00:23:16
◼
►
people have had success with like
00:23:18
◼
►
something like that is a great place to
00:23:20
◼
►
start for getting your head around that
00:23:22
◼
►
concept and then once you sort of get
00:23:25
◼
►
there you just kind of have to pick a
00:23:28
◼
►
language a platform something that makes
00:23:30
◼
►
sense to you I recently had a friend who
00:23:33
◼
►
wanted to get into programming and she
00:23:35
◼
►
was asking me like what's the right like
00:23:37
◼
►
what's the right place it's like I don't
00:23:38
◼
►
know it just depends on where you want
00:23:39
◼
►
to go I think I ended up pointing her
00:23:41
◼
►
towards Ruby which is a language I have
00:23:43
◼
►
a lot of familiarity with and I think
00:23:44
◼
►
works well it's a fairly accessible
00:23:47
◼
►
language and there's a great book called
00:23:49
◼
►
how to think it's how to program how to
00:23:50
◼
►
code this is a link in the show notes to
00:23:53
◼
►
that I pointed her to it's a really nice
00:23:55
◼
►
like methodical just like this is
00:23:57
◼
►
whatever Wow control flow works like
00:23:59
◼
►
what an if statement is what a for loop
00:24:02
◼
►
is and the thing that you also have to
00:24:05
◼
►
understand when you're first learning
00:24:06
◼
►
out or starting out and learning is the
00:24:08
◼
►
details of that language are only sort
00:24:11
◼
►
of important they're important for where
00:24:14
◼
►
you use a language like you can't write
00:24:17
◼
►
in what you know you can't write apps in
00:24:20
◼
►
for one platform in all languages
00:24:22
◼
►
there's usually some kind of
00:24:23
◼
►
specialization but generally speaking
00:24:25
◼
►
once you understand the context
00:24:27
◼
►
it's that's that's the crew that's
00:24:30
◼
►
like--that's 90% of the battle and then
00:24:32
◼
►
the ten good last 10% is just learning
00:24:34
◼
►
the nuances of each platform that at
00:24:36
◼
►
this point if I you know when one day I
00:24:38
◼
►
eventually learn Swift I don't expect
00:24:41
◼
►
the difficulty b2b understand like Swift
00:24:45
◼
►
conceptually it's just going to be
00:24:46
◼
►
understanding the nuances and the
00:24:49
◼
►
approaches that they it prefers once you
00:24:51
◼
►
get wrap your head around the basics
00:24:53
◼
►
like the basics haven't changed since I
00:24:55
◼
►
was like 11 years old in writing apps
00:24:58
◼
►
and QBasic like at its core programming
00:25:01
◼
►
is just having variables that you put
00:25:03
◼
►
things into and then you have
00:25:06
◼
►
conditional statements to determine
00:25:08
◼
►
which path to go down and then you have
00:25:09
◼
►
some kind of looping mechanism to keep
00:25:11
◼
►
doing things over and over again and
00:25:14
◼
►
once you wrap your head around that like
00:25:15
◼
►
that's programming the rest is just all
00:25:17
◼
►
the details that are actually do you
00:25:20
◼
►
know relevant for your platform yeah and
00:25:22
◼
►
and I will say you know to expand on one
00:25:24
◼
►
thing you said not every language can be
00:25:28
◼
►
used to write every kind of app and I
00:25:29
◼
►
think people always ask you know what
00:25:31
◼
►
language should I start with and the
00:25:33
◼
►
answer is you know because as we talked
00:25:35
◼
►
about earlier because programming is so
00:25:36
◼
►
so dependent on your own motivation and
00:25:40
◼
►
an interest to push through the hard
00:25:42
◼
►
stuff and to get to something that you
00:25:44
◼
►
want I think you have to work backwards
00:25:46
◼
►
and say well what kind of apps do I want
00:25:48
◼
►
to make and so if you or what are on a
00:25:51
◼
►
program so if you want to program
00:25:53
◼
►
something like an iPhone app then what
00:25:56
◼
►
language can you use to make iphone apps
00:25:58
◼
►
well there's all sorts of weird tools
00:25:59
◼
►
you can do so cross-compile different
00:26:01
◼
►
languages but the language you should be
00:26:02
◼
►
using right on iphone app in today is
00:26:04
◼
►
probably Swift so I would say like you
00:26:07
◼
►
know take whatever whatever outcome you
00:26:08
◼
►
want to do you want to have work
00:26:11
◼
►
backwards from that to determine what
00:26:13
◼
►
language would be the most appropriate
00:26:15
◼
►
language for that and you know you might
00:26:17
◼
►
have to ask people like us if you don't
00:26:18
◼
►
know but like for iOS apps it's Swift
00:26:20
◼
►
you know that's that today if you're
00:26:22
◼
►
know if you're gonna learn from scratch
00:26:23
◼
►
today you're learning Swift and so
00:26:26
◼
►
that's how you pick it you don't you
00:26:27
◼
►
know you don't pick a language first and
00:26:29
◼
►
then decide oh I want to actually make
00:26:31
◼
►
an iOS app out of this you know yeah
00:26:33
◼
►
because the easiest way to learn is to
00:26:35
◼
►
have a specific simple and achievable
00:26:39
◼
►
outcome that you want to me
00:26:41
◼
►
like a specific kind of app you want to
00:26:43
◼
►
make let's say oh I want to make a
00:26:45
◼
►
really simple like you know game or like
00:26:47
◼
►
it's something something like that like
00:26:48
◼
►
something specific that you want to
00:26:50
◼
►
construct that is doable for beginner
00:26:53
◼
►
programmer that will keep you motivated
00:26:55
◼
►
to to learn to keep going and so then
00:26:58
◼
►
work backwards and learn whatever
00:26:59
◼
►
language and tools are required to make
00:27:01
◼
►
that happen and in in the the most
00:27:03
◼
►
straightforward way yeah because in my
00:27:05
◼
►
experience the only like the best way to
00:27:07
◼
►
learn is to start making something it
00:27:09
◼
►
doesn't matter what it is my first iOS
00:27:12
◼
►
app was a tip calculator that was awful
00:27:15
◼
►
and it never shipped but that's how I
00:27:17
◼
►
learned and I don't think I would have
00:27:19
◼
►
been able to learn if I didn't have
00:27:21
◼
►
something tangible that I was trying to
00:27:23
◼
►
accomplish when I was trying to be like
00:27:25
◼
►
well how would I display a number onto
00:27:27
◼
►
the screen how would I make a button
00:27:29
◼
►
like if you don't have something that's
00:27:31
◼
►
motivating you to ask those questions
00:27:33
◼
►
you're never going to get over that
00:27:35
◼
►
first hump of actually sitting down like
00:27:38
◼
►
reading a book is great but sitting down
00:27:40
◼
►
in front of a you know in in front in
00:27:42
◼
►
front of a text editor is where
00:27:43
◼
►
programming really starts yeah and that
00:27:45
◼
►
I have every every new technology or new
00:27:48
◼
►
language or new anything I've learned in
00:27:51
◼
►
programming has been because there was
00:27:53
◼
►
something specific I wanted to achieve
00:27:55
◼
►
and that was the way to get it all right
00:27:58
◼
►
well I think that's it for today's show
00:28:00
◼
►
and you know I hope you look if you
00:28:03
◼
►
don't already that's you know you get
00:28:05
◼
►
out and try programming and see if it's
00:28:07
◼
►
for you yeah that would be very
00:28:09
◼
►
satisfying to us if people actually
00:28:11
◼
►
tried it that'd be awesome anyway thanks
00:28:14
◼
►
a lot for listening please recommend us
00:28:16
◼
►
on over cast tell a friend also our our
00:28:19
◼
►
network relay FM just launched
00:28:20
◼
►
memberships where you can if you'd like
00:28:22
◼
►
you couldn't optionally give money
00:28:24
◼
►
directly to the shows that you enjoy or
00:28:25
◼
►
to every show on the network so if you
00:28:27
◼
►
want to do that check it out and yeah
00:28:29
◼
►
thanks a lot for listening and we'll see
00:28:31
◼
►
you next week