
How I learned to code in my 30s - bradcrispin
https://medium.com/udacity/how-i-learned-to-code-in-my-30s-61ad21180208
======
soneca
I started to learn to code last November at 37yo.

About 30 hours a week for two months I finished the Front End Certificate from
freeCodeCamp (highly recommend the site for starters). Then I decided it was
better to build my own projects with the tech I wanted to learn (mostly React)
using official documentation and tutorials. This is what I accomplished in
around 3 months: www.rodrigo-pontes.glitch.me

Then I started to apply to jobs. After around 4 rejections, last week I
started as Front End Junior Developer (using Ember actually) at a funded
fintech startup with a great learning environment for the tech team.

Very proud of my accomplishment so far, but I know the rough part is only
starting.

~~~
bricestacey
It looks like you've learned a lot, but a lot of people are going to criticize
you based off your design skills. Frankly, it's ugly so you're automatically
not going to be doing any product work. If you could clean up your demos to
look more acceptable to the modern day reviewer, I think you would have better
presented yourself.

~~~
Dolores12
This is constructive and honest opinion. Why downvote?

~~~
NotSammyHagar
Because it's unnecessarily tactless and bordering on hurtful. Learning how to
give honest feedback without being so cutting is a skill the commentor should
learn.

~~~
Dolores12
How do you define degree of tactlessness? It was so nice of him to call that
website 'ugly'. It is totally unacceptable to downvote someone for telling the
truth(no matter how ugly it is).

------
oblio
Somewhat related, perhaps the most spectacular story of a late coder I've ever
heard is that of
[https://en.m.wikipedia.org/wiki/George_Pruteanu](https://en.m.wikipedia.org/wiki/George_Pruteanu)
(somewhat controversial Romanian literary critic and politician).

Basically, despite having a major in Romanian literature and spending a
lifetime as a literary critic, with almost 0 contact with computers, he
decided in his late 40s and early 50s to understand the things behind the
internet.

So he picked up on his own: PC usage, internet browsing, PHP and MySQL coding,
enough to make his own website and a few apps. That, starting from a point
where he could barely use a mouse.

When asked during a TV show how he did it, he replied:

Like I did things for my literary criticism: I read an 1 meter [high stack] of
books about the subject.

Every time I need motivation I think about that quote :)

~~~
flubert
>I read an 1 meter [high stack] of books about the subject.

Sounds like a good hook for website. Instead of learn X in 21 days:
[http://www.1meterofbooks/programming](http://www.1meterofbooks/programming)

~~~
samstave
That unit of measurement should be dubbed the Pruteanu

As in:

" __ _How many Pruteanus until I 'll be proficient in ML if I have zero
understanding of the subject"_ __

~~~
quakeguy
So shall it be!

1 Pruteanus (1 Prt) is measured as the amount of learning from a 1m high stack
of any books given.

obv /s

~~~
sethrin
You could use some standard figures for page and book size (in Kb) and measure
Pruteanus in megabytes of text. And you joke, but there's nothing in
particular that is required of a unit of measure other than a lot of people
thinking it's a good idea.

~~~
samstave
Should also consider an information density:

 __ _This book may look small, but has about .125 Prt in its pages!_ __

~~~
quakeguy
Golden!

------
brandonmenc
When computers were invented, a lot of the people involved were already adults
- plenty in their 40s and above. Before home computers, you didn't get to use
a computer until your 20s.

Therefore, the first few waves of programmers included a lot of "already
olds."

This is always overlooked as evidence that older people can learn to program.

~~~
ianai
And the computer science field branched out of mathematics. The age thing, I
think, really is just shortsightedness.

~~~
AstralStorm
Actually cheapness. Young employees don't know their value or how to
negotiate.

------
chrisdotcode
I'm sorry, but I can't help but be incredibly cynical and jaded about this,
and from reading the comments, nobody seems to have the same sentiment. If
this was titled "How I learned to play the piano in my 30s", I don't think
anybody would bat an eye: learning an instrument is not like joining some
secret cult, and anybody can develop basic music literacy over a year or two.
I also do not doubt this man's proficiency, but 30 is not old outside of tech
circles. This youth fetishization in tandem with the "everybody's dog should
learn to code" meme I think is very short-sighted.

Tech is wildly lucrative, is in current demand, and is _not_ physical labor.
That reduces the barrier to entry to anybody who has a laptop and an Internet
connection. Honestly how many people would be so eager to learn to code if you
dropped down the average tech salary to 45,000 (matching other professions)? I
think far less: people seem to learn to want to code to ride the high-pay
wave, not for the actual love of code.

Again, let's compare to music. Anybody can go to a guitar store and buy a 200$
keyboard. But if I took a 14-week class and afterwards had the aught to call
myself a "Music Ninja Rockstar" or some other such nonsense, and start
applying to orchestras and bands, I would be called crazy.

Software has eaten the world, and it's here to stay. Increasing the general
software literacy is no more different than saying we should teach everybody
how to read (and a good thing). However, throwing each person in a bootcamp
telling them "coding is wonderful! _you_ can master it in 5 seconds and make
200k a year!" is no different than holding a similar bootcamp for any other
vocation and then wondering why the average plumber can't actually fix your
house, but can only use a plunger. I sincerely hope this trend stops. This
mindset is broken, and the paradigm is highly unsustainable. Where will we be
in 20 years?

~~~
bradcrispin
> However, throwing each person in a bootcamp telling them "coding is
> wonderful! you can master it in 5 seconds

I am not sure if you read the article? The point is that age isn't a barrier
but that becoming a software engineer is a lot harder than just going to a
bootcamp and expecting a job to appear. This is about spending a year trying
to find a job.

I have zero problem being compared to a plumber with a plunger! If something
breaks in the middle of the night, I get paged, grab my mop and my tools, and
fix it.

Why does it matter if the average plumber "can't fix your house"?

The pay is good because of supply and demand but I really do not know
programmers who decided to get into it for money.

~~~
lordCarbonFiber
I'd go so far as to say most programmers working today are in it for the
money. Despite the constant pressure to maintain the illusion otherwise, no
one is passionate about making shitty CRUD apps enabling today's questionable
business fad, and that takes up a large chunk of available work.

------
oweiler
I've started learning to code when I was 26 and people told me I was too old
and should stay with my shitty job.

Fast forward ten years and I'm a senior software engineer which gives
trainings on Spring Boot and Microservices and helps companies implementing
Continuous Delivery and Microservice architectures.

You may think I'm gifted but I'm actually not. I'm a very slow learner and bad
at Math. I mostly program from 9 - 5 and only work on side projects when I'm
feeling to (which sometimes means not doing any commits for months).

But I like what I'm doing and work hard to improve.

~~~
richardknop
26 is still young! I would understand if people would tell this somebody who
is 56 (9 years from retirement), there might not be enough upside to changing
career at such late point. But even then I'd say it might be worth it.

But 26 is still a blank canvas you can learn anything easily. I think there
might be a bias as many hackers started learning programming when they were 15
years or younger so they assume it has to be like that for everybody.

~~~
NotSammyHagar
Yeah, that's bull shit, 26 is not too old. I'm 50+, just quit my last job
where I was a principal software engineer, did 4 interviews, got 4 offers,
took the one that made me director of a project (I have previous management
experience too). If you keep coding and don't become just a manager, the world
is open to you in software.

I have many years of experience and built up expertise, but I was in grad
school until I was almost 30!

------
projectramo
This is generally a decent article about the balancing non-technical skills,
and exerting effort in learning.

I found it noteworthy that the "hook" in the title is that the person started
in (gasp) their 30s. Why should that be noteworthy? Why wouldn't someone start
coding in their 30s, 40s or 50s?

Now it is true that starting a new profession late in life may not always make
sense because, presumably, you have to little time left you might as well
"ride it out" contributing what you know.

So, yes, it is unusual for a doctor to start learning mathematics in their 40s
(though not unheard of:
[https://en.wikipedia.org/wiki/Endre_Szemer%C3%A9di](https://en.wikipedia.org/wiki/Endre_Szemer%C3%A9di)),
but it isn't less strange to make such a change in computer science than any
other field.

~~~
buckbova
> Why should that be noteworthy?

Because there's perceived ageism in this industry, so saying you're just
getting started in your 30's is interesting.

~~~
projectramo
Isn't the same ageism -- true or perceived -- in all industries?

Would you be feel comfortable starting med-school in your 30s? A PhD? Training
to be a plumber or an architect?

If anything, because programming takes a shorter time to become productive
(say 2 years), I would think it would attract older job switchers.

(edit: Before people give me counter-examples, note:I know these things do
happen)

~~~
csa
> Isn't the same ageism -- true or perceived -- in all industries?

Hmmmm... in a handful of industries I might say yes, but in many others I
would say no.

I see an abundance of discrimination against younger in many industries.
Either they are looked at as lacking knowledge, experience, or both. Often
times this perception is justified, but often it is not. Of course, there is
no legal recourse since age discrimination in the US is mostly (always?) for
people 40 and older.

That said, the ageism in technology in the Bay Area and a few other areas is
peculiar and does not seem to be particularly widespread outside of these
regions (at least in the US). This ageism seems to follow a few patterns:

1\. People in the capital class working young people hard for low pay...
because they can. Most older folks won't put up with it for justifiable
reasons. These are often terrible places to work and are often terrible
businesses as well.

2\. Really smart and creative young people who want to work with similarly-
minded people without having to manage a potential or real generation gap.
This is probably closer to being justifiable when at a very small scale, but
it's still potentially illegal, especially as scale increases. This is the
sort of headline discrimination that is seen in the Bay Area -- a 20-something
superstar typically doesn't have the "soft skills" necessary to manage someone
a decade or two older. Few people at that age do, but this is especially true
for folks who spent their younger years developing their non-managerial
specialist knowledge.

3\. "Culture fit". Some (many?) younger folks in the Bay Area seem to want to
extend their college partying years. This means that older and potentially
more conservative or parent-like figures are not particularly welcome. I think
that this is not uncommon at any favored destination of recent high-achieving
college graduates (as well as wannabe high achievers).

If someone in their 30s or 40s wants a job in tech, one easy way is just to
get away from the areas that are flooded with high-achieving recent college
grads. The areas that are flooded with these types have very real ageism
problems. The areas that have few of these folks (most areas) largely don't
have ageism problems -- if anything, younger applicants are more likely to be
perceived negatively. Admittedly, the latter places are often less cool (i.e.,
not Bay Area, not NYC, not Austin, etc.), but these places have jobs.

~~~
truthseeker1024
I am a mature worker looking in the Washington dc area. There seems to be a
lot of competition. Do you think I would have better luck in Atlanta?

~~~
csa
I honestly don't know what the job market is in Atlanta.

That said, the US government and contractors thereof desperately need
programmers and programmers who can do other stuff (e.g., manage a contract,
project management, etc.). I would try to meet some people who do this type of
work and have a coffee with them. Many of these folks live in the D.C. area.

It's not sexy at all, and you won't get rich via a startup, but there are very
solid middle class jobs in that category.

~~~
truthseeker1024
thank you for the reply and advise

~~~
ckib16
Lots of contractors are hiring in DC. Check out places like Excella
consulting. Good luck.

------
bradcrispin
I once said that "I realize nothing I do in engineering will ever end up on
the front page of Hacker News." Feels like a once-in-a-lifetime moment. Thank
you

~~~
ronilan
Been there at the top once upon a time.

 _" We create our own demons."_

~~~
bradcrispin
I couldn't agree more. I had a few paragraphs on impostor syndrome that I
edited down to "doubt" but I hope it was implied, you must ignore impostor
syndrome. There are always going to be people doing Mount Olympus code and
that is great! These are the people we can learn from. I get to build things
people use and I love it.

------
cryptica
I've been programming for 13 years. I started when I was 14 years old and
studied software engineering at university. These days, when I take on well-
paid contract work, sometimes I find myself working alongside people who only
started learning to code at around 25 and never went to university.

It's upsetting for me to think of all the fun I missed out on in my early life
because I was learning programming and pushing myself through university and
it turns out that it doesn't even get me a higher pay check in the end.

These days, nobody cares that I'm proficient in all of ActionScript 2 ,
ActionScript 3, C/C++, C#, Java, Python, AVR studio (microcontroller
programming), MySQL, Postgres, MongoDB, RethinkDB, PHP, Zend, Kohana, CakePHP,
HTML, CSS, Docker, Kubernetes, AWS, JavaScript, Node.js, Backbone, CanJS,
Angular 1, Angular 2, Polymer, React, Artificial Neural Networks, decision
trees, evolutionary computation, times/space complexity, ADTs, 3D shaders
programming with OpenGL, 3D transformations with matrices, image processing...
I can't even list them all. I could wipe out 95% of these skills from my
memory and get paid the same.

It only gives me extra flexibility... Which it turns out I don't need because
I only really need two of these languages (C/C++ and JavaScript) and a couple
of databases.

~~~
tvelichkov
So you did learn programming, because you wanted a great paycheck 13 years
later? Lol, that's just stupid. I advised everyone from my circle to stay away
from programming unless they fell in love with it. It's pointless to be a
programmer if you don't have it in your heart.

However, if you did enjoy, then there is nothing to be upset about, I mean you
are doing what you love right? If its all about your paycheck you could try
finding another employer, but not everything in this life should go around
money, there are more important things, find people who could appreciate you
and your values, be happy what you do and maybe the money will come later.

~~~
UncleMeat
Really? If I didn't have to work I wouldn't write another line of code in my
life. But its a great career that hits all of the notes I wanted for a job.
What's wrong with that?

~~~
tvelichkov
> I wouldn't write another line of code in my life.

I personally see this as a problem, having to do something I don't like.. for
years... probably for life?

------
analog31
When I was a kid, my mom was teaching high school, and thought that she might
get laid off due to declining school enrollment in the rust belt. She took a
year of programming courses at a community college. The next year, they asked
her to teach the course, which she did.

Most of her students were 30+, many were working in the auto industry,
including assembly line workers. At the time, there were a lot of bright
people working the lines because it had always been possible to skip college
and land a decent middle class job at the car plants. But that was coming to
an end.

Her students were taking one year of CS and getting hired into reasonably
decent programming jobs.

In fact, I was also interested in programming, and learned it in school. When
I went to college, my mom discouraged me from majoring in CS because she
literally thought programming was too easy to justify 4 years of classroom
training, and she thought that the job market for programmers would quickly
saturate.

Let's just say we guessed wrong. ;-)

But at the time, college level CS was still maturing as a discipline. Many of
the 4 year colleges didn't have full blown CS major programs. I'm betting it's
harder now, but I honestly don't know if programming _per se_ has
fundamentally gotten any harder.

Edit: Noting some of the comments, I certainly don't want to disparage the CS
degree. After all, I majored in math and physics -- hardly a turn towards a
practical training. I think these are fields where you have to be interested
enough in the subject matter, to study it as an end unto itself. Being able to
do actual practical work in a so called real world setting is always its own
beast, no matter what you study.

~~~
owebmaster
> Let's just say we guessed wrong. ;-)

Not that wrong, imho.

> my mom discouraged me from majoring in CS because she literally thought
> programming was too easy to justify 4 years of classroom training, and she
> thought that the job market for programmers would quickly saturate.

This part is real wisdom. The best developers I know (and I myself, which I
consider an above average programmer) learned how to program by themselves
(before, during or after high school time). And it is not uncommon to find
people with CS degree unemployed or with difficult to reallocate with the
current state of tech, at least here in Brazil.

~~~
koolba
That's the distinction of coding vs CS.

Building CRUD apps using existing frameworks is coding.

Building said frameworks and the rest of the software that powers those CRUD
apps takes more.

I don't mean to rag on simple projects or coding either. It's just as noble as
any other profession. But to say that a random Rails or Node developer could
write something like Postgres is laughable.

It's not the degree that makes that possible either. There's plenty of idiots
who've graduated. It's the difference between studying how to do something and
studying abstract concepts. People who have done CS degrees are more likely to
have been exposed to the latter.

~~~
bitcrusher
I don't mean to belittle you either, but this is hogwash. Of course a Rails or
Node developer wouldn't be able to write Postgres without ramp-up time...

Maybe what you're saying is that the ramp-up time would be LONGER for someone
starting from Rails or Node only knowledge to being an infrastructure
developer?

Any highly sophisticated application ( Postgres, LLVM, etc ) requires some
advanced levels of domain knowledge but they aren't impenetrable fortresses of
skill that no mere mortals can access.

I think, somewhere along the way, a lot of developers started believing this
fantasy that they were the keepers of secret knowledge that only a few select
individuals knew... GOOG and MSFT perpetuated that with esoteric interviewing
processes and cult-of-personality style branding. The truth is... the
fundamentals of CS aren't terribly difficult nor are they even terribly
exciting. You can absolutely learn them on your own or even as you go.

~~~
anarazel
> Any highly sophisticated application ( Postgres, LLVM, etc ) requires some
> advanced levels of domain knowledge but they aren't impenetrable fortresses
> of skill that no mere mortals can access.

Indeed. I think too many problems in our industry are seen as unapproachable.
There's a lot of people working on postgres, me included, who did not have any
sort of deep background in databases before. You start working on smaller
things (I started making int -> text conversion faster), review other people's
patches, start to develop new features, ... Gradually that gives you a more
and more knowledge in database architecture. And you read a few good papers
here and there.

Obviously that approach doesn't really lend itself to writing something like
postgres from scratch - but realistically that's not something you're going to
do on your own _anyway_. And if you do start a new project you don't set out
to do something absolutely complete, but build it iteratively. With more
domain knowledge, you're more likely to get the architecture halfway right
initially, but in either case you're going to have to redesign and redesign
and redesign.

------
jarsin
What i always tell people if you find yourself naturally drawn to it then you
will eventually find some level of success. If your in for just the money then
you will not stick with it and it probably won't happen.

Same is true for just about most things in life.

This guy found he was naturally drawn to it. End of story.

~~~
ice109
people say this a lot but it's pretty hollow. if you're smart enough you can
do it even if you don't like it. anecdotally I'm a fairly good dev (full
stack, know several languages, several projects under my belt) and I hate it.
the day I move from technical to management will be the greatest day of my
life.

~~~
jarsin
I honestly have never worked with anyone in software like that. I think you
are a lot more rare than you know at least when it comes to software dev. But
I do know other industries are filled with smart people that hate it and
somehow stuck with it only for the money. For example attorneys...

~~~
Trundle
I don't think you'd know if you'd worked with someone who is just in it for
the money. If they're coding just for the money then it stands to reason that
they'd also be willing to pretend to like coding just for the money as well.

------
teekert
I also learned to code after 30. At some point Excel and Origin weren't
dealing well with ever increasing data sizes in my field (biology). I did an
intro course on Python (2) of 3 days (basic Python and some Numpy). Back on
the job I immediatly switched to Python 3, learned about Jupyter and was lucky
enough to have a job where I could take time to learn (although it doesn't
take much time to get back up to Excel/Origin level data analysis skills with
Pandas/Seaborn/Jupyter!).

That combination is still gold for me although bioinformatics is forcing me
into VSCode/Bash/Git territory more and more. I can recommend anyone wanting
to do data analysis to start with the Jupyter/Python/Pandas/Seaborn combo, the
notebook just makes it very easy to write small code snippets at a time, test
them and move on. Writing markdown instructions and introductions/conclusions
in the document itself help you to make highly readable reports that make it
easy to reproduce what you did years ago.

~~~
Osiris30
Would you know, or can recommend, any good datasets (or practice exercises)
using "Jupyter/Python/NumPy/Pandas/Seaborn" for someone with a similar Excel
background (and basic understanding of Jupyter/Python/Pandas)?

~~~
teekert
Seaborn has a standard data set (now that I searched it, it is part of scikit
I think) [0], however, I think what made learning fast is that I used the same
type of data as I did before and had a clear goal. Excel sheets are easily
loaded into pandas:

    
    
        import pandas as pd
        file = pd.read_xlsx('some_excel_file.xlsx')
        file # Just typing this will display the file as a table in jupyter, after ctrl-enter to execute the code block
    

To plot:

    
    
        import seaborn as sns
        %matplotlib inline # This makes the plot appear in the notebook instead of in a separate window
        sns.violinplot(file)
    

Boom, that is it (assuming the Excel file is a number of columns with labels
as the top row).

[0] [http://scikit-
learn.org/stable/auto_examples/datasets/plot_i...](http://scikit-
learn.org/stable/auto_examples/datasets/plot_iris_dataset.html)

~~~
Osiris30
Thanks! I also just did a quick google and found the below resources if anyone
else is interested

[http://www.dataschool.io/best-python-pandas-
resources/](http://www.dataschool.io/best-python-pandas-resources/)

[https://www.quora.com/How-do-I-learn-data-analysis-with-
Pyth...](https://www.quora.com/How-do-I-learn-data-analysis-with-Python-via-
projects/answer/Karlijn-Willems-1)

[https://www.quora.com/What-is-the-best-way-to-learn-
algorith...](https://www.quora.com/What-is-the-best-way-to-learn-algorithmic-
trading-in-Python-and-test-out-models)

~~~
teekert
Such resources are nice, certainly, they give a feel for what can be done. But
in my experience you learn when you get your data loaded and start putting
together code based on stackoverflow (or other) answers. Not by "dry-reading"
someone else's work. There is no moment where you say: "I'll learn X now",
there is a moment when X is the best solution to your problem en you start
using it... and become an expert before you realize it. Imho.

Maybe it's different for you of course. And, I may have been in a nice
position where I had a job that started to required X at some point. I realize
that. But then maybe you can find a problem of your own (maybe you want to
plot the data from your fitness tracker?) I once spend a lot of time plotting
the details of my mortgage (cumulative paid, rent, decreasing dept as function
of monthly payments), such data is just the result of some input and you make
a table out of it yourself (in Excel if you want, in Pandas if you feel
comfortable enough).

------
colmvp
> Immersion means 100% focus. If possible, no friends, no drinking, no TV,
> just reading and writing code. If you take five minutes off to read the
> news, be aware you are breaking the mental state of immersion. Stay focused,
> be patient, your mind will adapt. Eliminate all distractions, of which you
> may find doubt to be the loudest. Immersion is the difference between
> success and failure.

Certainly, I think Deep Work require full concentration. So when in the mode
of learning, I find keeping focus instead of going to a website to read news,
or checking e-mail/messages to be incredibly important in maximizing the
incremental process of grasping concepts.

That being said, whereas the author seems to prefer taking a few months to go
deep into it, I prefer to immerse myself over a long period of time by
learning and practicing a few hours per day (just like an instrument), letting
my mind stew in the knowledge during diffuse thinking periods, and then come
back to it the next day.

~~~
bradcrispin
I agree that for rapid learning, focus and repetition are essential. I don't
think you have to quit your job in order to change careers into coding, but
for me it took a very full year of effort.

~~~
x2f10
Hi, Brad. I'm now embarking on a non-programming learning crusade. I agree
with your comments on immersion, but I find it quite difficult to become
immersed. I am often distracted or don't have the "energy" to do the serious
work I need to to learn.

Do you have any tips I can steal from you?

Great article BTW!

------
AndyNemmity
I'm 36 and learning how to be a real programmer. Was a Linux Admin, and an
architect for my career. Did presales, and became an expert at a lot of
different roles within the field.

Never was truly a developer, and decided I wanted to accept a job as one. I've
programmed in the past, how hard can it be?

Wow, it's been enlightening. Really hard. I thought it would be straight
forward since I've used scripted quite a bit in perl in my past, but being a
developer is much more than writing a few scripts to automate a task.

I'm a few months in now, and I am still slower than all my colleagues by quite
a bit, and the main language I'm working in has changed already, moved from
Python to Go.

Even right now, I'm stuck on an issue around pointers and data structures that
feels like it should be easy, and I'm just not getting it.

All you can do is keep confidence up, and keep at it. Immersing in it, and
knowing that irrational levels of effort will lead to results.

I thought it would be easier though :)

~~~
bradcrispin
Soon you will love pointers and structs and everything Go. Keep going (pun
intended). Your colleagues are worried about their own work and your manager
has made a long-term investment in you, not about the first few months. :)

I couldn't agree more that it is tough going when you realize a challenge is
more than you expected. That plus impostor syndrome is what caused me to quit
on my first try.

We are moving a lot of things from Python to Go at the moment and it has been
great.

~~~
AndyNemmity
Appreciate the positive feedback. I certainly feel the management are making a
long term investment, but feel my actual team is... concerned about the lack
of deliverables.

Which I think is fair from their perspective, I think they expected a
developer by trade to have assumed the role, and in actuality it's someone who
has done a tremendous number of jobs around development. I'd be a bit
concerned as well.

The great thing is, I'm learning a ton of cool technologies, and already see
the major progress on a lot of fronts.

~~~
mianos
Actually knowing where you are at puts you way ahead of the curve. Many
developers don't even know they are not that good. If you love it and seem to
have excelled already in a similar area you just need time. Even just knowing
that good development is not just writing a quick perl script or copying and
pasting the tutorial code or stack overflow answer is a good sign and would
probably set you apart from most I know.

------
makmanalp
Every time I see stuff like this I think of Grandma Moses, an accomplished
artist who started painting at 78:
[https://en.wikipedia.org/wiki/Grandma_Moses](https://en.wikipedia.org/wiki/Grandma_Moses)

------
alexee
My father is 59 and started to learn programming half a year ago. So far I was
giving him algorithmic tasks to learn basic language constructs, he is now
comfortable with basic Java and is able to solve most of easy problems from
programming contests. And idea where to go from here? I don't think solving
more difficult problems (like that involving algorithms or creative thinking)
would make sense at this point. I tried to give him simple GUI project (tick-
tac-toe in Swing), this kind of worked with lots of my help, but of course it
was badly designed with model-view mixed, and he is unable to understand
design pattern concepts at this point.

~~~
politician
I guarantee you that if your father is 59, that at some point in his life he's
found a way to be more efficient at whatever his workload was at the time than
a raw beginner. Design patterns are exactly that: patterns of efficiency.

The terribad thing about them is that they don't often explain why they are
more efficient than the the naive path.

I'd recommend that you pose a series of tasks to your dad, and work with him
to build them out, rebuilding them several times if necessary, to start that
deep understanding of the art. Adopt a posture that this work is critical, and
that you are working together. You'll both learn why as you do it.

------
paul7986
At 31 I took my savings for my house, quit my robotic customer service job and
started a startup. I worked on my 1st startup for three years and along the
way taught myself front end development and design. Which I now do for a
living.

I say startup and if it fails like 80 to 90% due you gained an in-demand skill
that you can use to make a nice living.

~~~
martijn_himself
Would you have any advice especially on how to master design skills and how to
deal with pressures around personal finance when starting out on your own? I'm
about to quit my job in 'enterprise' software development because I am bored
to death.

~~~
paul7986
Save up a lot of money, ask family & friends to invest and apply to incubators
that provide seed capital. Also move back in with family if that's an option.

This is what I did and it allowed a three year runway to try and make it
happen.

It didn't happen in terms of a financial success but it was a lot of fun! Way
more then working for the man in any field!

------
partycoder
"Learning to code" is somewhat vague.

The "Sorites paradox" is something like: how many grains of sand form a heap?
if you remove or add one, is it still a heap?

So, exactly what exactly makes you a programmer? that varies a lot depending
on who you ask. Someone said a programmer should be able to detect and report
a bug to a hardware manufacturer. Some others say that "learning" (partially,
because most programmers don't know every single aspect of a programming
language) a general purpose or Turing-complete language makes you a
programmer.

I define an "X programmer" where X is backend, frontend, data, whatever... as
someone who can not only implement a feature, but do it through understanding
rather than through a heuristic of trial and error or reusing code. Also, a
person that is able to troubleshoot what is going on if some of the underlying
systems is not working as expected.

~~~
Bakary
I would argue that the most relevant definition would have to address a
programmer's role in society rather than their level of actual skill. In this
sense anyone having learned enough material to have an actionable skill that
regularly comes into play in their lives can credibly be said to have learned
to code.

------
sonabinu
I started in my 30s after an earlier stint in high school. It was a real
struggle. I work in a SE engineering role now with a focus on data science. My
stats and math skills have given me an advantage but I still feel like I'm a
rookie in many ways. It is important for more of us who transition to SW
careers to speak about our struggles and techniques to hang in there. It will
render confidence to those who feel alone as they try to find their footing.

------
dzink
You need more stories like this to show people who wouldn't normally consider
CS as a viable, lucrative path to a second career. Areas with high
unemployment and people in dwindling old industries may get a second wind in
life if they tried his approach. A big change like this also requires multiple
exposures to the currently much easier to reach CS education as a possible
solution, so I hope more people produce accessible content like this.

~~~
dschulz
I'm 36 and already feel "old" and unfit to continue pursuing a career as a
software developer, which I consider(ed?) my dream job. I began programming at
~20 yo but had to work in another barely related field (still in IT) because
where I live it's more profitable as a lone ranger. It's difficult to find
peers in my area.

I work as an independent consultant wearing many hats, doing all kind of weird
network related jobs for small cable operators and small/medium businesses in
a shitty country in south america. This includes devops tasks, planning data
networks with structured cabling, fiber optics, setting up and maintaining
servers, routers, switches and a bunch of appliances that I didn't even know
they existed a few years ago (all that ugly shit in HFC networks). I hate my
job and feel _very_ unhappy and depressed. I'm on meds, many visits to
psychiatrist lately.

All these years I kept learning all I can. I'm an avid *nix user, can program
in a few languages and have read more about programming languages, libraries,
frameworks, etc. that any other subject that I can think of. I dropped out of
university only a few years from getting a degree but continued spending my
free time learning about software development just because I like it. I
enjoyed many detours with many technologies, loved learning Java, C++/Qt,
Python, Go, Perl, etc. I spent too much time and money in books, online
courses, software licenses, etc that I feel failed and guilty.

~~~
pacomerh
This mentality makes no sense to me. I don't understand why young people feel
old in this area so much. It would make sense if you where pursuing Tennis
(the sport), but software? Software is a lot of solving riddles and
recognizing patterns. Seriously, Silicon Valley is poisoning peoples minds.

~~~
sngz
age discrimination in the industry is real, especially for those who don't go
the management route.

------
ptr_void
As student trying to make sense of job space and prospects, there's just too
many statements that gets posted on the internet that seems to contradict each
other.

------
hamersmith
Going from not working in the industry to leading a team of developers in just
a few years is extremely impressive. I have over a decade of experience as
developer and have not made it yet to that kind of lead position. Is this
because your technical skills were superior to your peers or because you
possessed additional soft skills, if so, what advice would you give for moving
into Lead Developer/Engineering Manager roles?

------
jordache
Is a full stack person still realistic with today's web technologies?

I mean to build up expert level skillset, you'd have to really dedicate your
self into learning the particularities of not just languages but also their
runtime environments.

Unless you have no life, and only sleep, eat, code, or super intelligent,
being able to absorb and stay current with everything.....

Other than that, I just don't see the full stack mentality working

~~~
jamestimmins
The value of being a full stack dev is not to be an expert in everything, as
you're right that isn't really feasible. The value comes from being able to do
a good job at each piece, so that you can take an entire project from concept
to completion. Most full stack folks naturally develop areas of strength and
focus within that, either frontend or backend, but still benefit from the
fullstack context and mindset. That has been my experience anyways.

~~~
jordache
as an org, what is the value of hiring full stack vs specialized individuals
for each part of the stack? I guess one reason is if money is of concern. I
can't think of any other reason for doing so.

~~~
jamestimmins
Money is always of concern. But additionally a full stack can take lead on an
entire project. There's also an increased organizational/communication
overhead for every additional person you put on a project. It simplifies
things a lot if there's a small number of people working on it, even if more
devs are available.

------
cr0sh
A possibly similar tale is the one being done by some former Kentucky coal
miners:

[http://spectrum.ieee.org/energywise/energy/fossil-
fuels/the-...](http://spectrum.ieee.org/energywise/energy/fossil-fuels/the-
kentucky-startup-that-is-teaching-coal-miners-to-code)

~~~
Barrin92
Here's a longer great Wired article about (I think) the same group of coders

[https://www.wired.com/2015/11/can-you-teach-a-coal-miner-
to-...](https://www.wired.com/2015/11/can-you-teach-a-coal-miner-to-code/)

~~~
phlakaton
Another similar group I've been following with great interest, in part since I
remember the founders from Strange Loop and Overtone hackery:

[http://www.minedminds.org](http://www.minedminds.org)

------
cafard
I learned to code at 18. I did not fall in love with programming: this owed at
least in part to Fortran IV, punch cards, and a Burroughs mainframe that was
often under maintenance. But I coded a craps game simulation, and passed.

I relearned to code at 31 or so. There was data over here that I needed in a
different format over there, and didn't care to retype. I taught myself some
minicomputer assembler from the instruction set reference. At that same job, I
learned to write macros in the OS's command-line interpreter. I found that I
enjoyed programming. And I went back to school.

That was a while ago, long enough that the second or third language that I
learned on my own was Perl 4. I would never have called myself a ninja or a
rockstar. Yet I have over the years written some very useful code.

------
kulu2002
I learnt C, C++, Shell scripting gnu makefile creation directly on project.
When I did my degree I only knew C just for sake of passing. I was directly
exposed to writing device driver for I2C and SPI the very first day and
someone just dumped a 1GB of technical junk on my PC which include some APIs
of RTOS I was supposed to work on! But I would say that that was really a
steeeep learning curve... I am amazed and surprised today when I look back
from where I started 13 years back :)

------
digi_owl
I have found that the problem i have with learning programming is not the
logic of it, but of memorizing and internalizing all the functionality
provided by the standard lib etc.

------
logingone
What I found recently of someone who switched from another career to
programming is not that they struggled with programming so much but that they
struggled with the environment. I had the misfortune of working with an ex-
lawyer, two years of programming experience. Hell. He also lacked the ability
to have any sort of interesting conversation about programming as he had no
background to reference.

------
chirau
So do bootcamps teach data structures and algorithms?

~~~
bdcravens
Generally no. Most jobs building Rails or React apps don't require those
skills either.

------
skocznymroczny
I read this as "How I learned to code in 30s" and I thought it'd be a parody
of "Learn X in Y" tutorials.

------
maggotbrain
Reading that makes me glad to be a network engineer. Ethernet, BGP, and OSPF
don't change all that much. I am all for learning the latest Python, NetMiko,
NAPALM stuff for network automation. This article reads like masochism.

~~~
torbjorn
mother earth is pregnant for the third time...

------
sAbakumoff
2017 : codecamps produce an army of amateurs that make interent of shit.

~~~
onion2k
I've been making websites for over twenty years, and I can assure you that
there have always been bad web developers. Some are self-taught and some
learned at university. Just as there are good ones who have learned in those
ways too. Codecamps are no different - there'll be bad developers and good
developers who learned through attending them. There's nothing inherently or
automatically worse about codecamp graduates. It's all about the individual.

~~~
sAbakumoff
Ok, I have been working in IT for 15 years and have seen some shit too..and I
would never hire a person who attended codecamp, to me it does not seem to be
reliable way to grow a developer. It's more like a trick that only takes the
money from people who want to live the software developer life in the Bay
Area.

~~~
RedPandaPounce
Wow that's extremely shortsighted given that there are definitely world class
engineers at Google, MS, etc who never had formal training.

~~~
sAbakumoff
definitely? Do you have any solid base behind this claim?

------
thinkMOAR
The title implies as if you are ever 'finished' with learning to code, anybody
thinking about starting, this is a lie, it's a never ending road :)

------
mattfrommars
I'm facing problem of finding a mentor and space I want to succeed is being
able to do anything with power of Python!

------
CognacBastard
This is great advice for someone learning to break into the coding world.

------
lhuser123
Good inspiring story

------
minademian
contains a lot of real advice. the sharing of experiences and insight into his
process makes this piece really great.

------
kodepareek
I started learning to code when I was 31. Though I did have an engineering
degree, but I learnt basically nothing after getting into engg school. Spent
most of the 4.5 years worrying whether I was smart enough for this to do this
and setting myself up for very dismal results.

Became an advertising copywriter after college and spent 7 years in the copy
mines. It was truly a profoundly uninspiring industry (though I continued to
doubt myself and never really got to where I wanted to and should have)

Founded a startup with a friend hoping for a fresh start. Took forever to find
a developer so in some strange moment of overconfidence (sanity?) I decided I
would take a shot at it and started learning Python. Found myself hypnotized
by the codeacademy course and knocked it off in 3 days or less.

Some a few started programs then a developer friend came on board as an
advisor and told me to pick up Django. In a few months (with him and another
good friend doing all the heavy lifting) I got enough into the thing to be
able to scrape data, make API calls and develop the admin interface.

With everything I learnt I found a block of that constant self doubt melting
away. I had never felt so capable and in control in my entire life.

Startup wound up though and I had to take a job at a design agency. Though I
picked up the basics of HTML and CSS there most of my work was managing
clients (aarghh) Left in a few months as a writer at this startup working part
time.

But within a month of me joining the CTO quit and the company was in massive
flux. I just stepped forward and said I would code. The other developers
happily took the help and I got my first job as programmer. The next 1.2 years
were just full days of writing scripts to automate our workflow and figuring
out this danged JS, Node thingy (which I really love now btw)

When this place wound up too and I studied React, now have a big 6 month
project at this company helping them automate their workflow with an admin
app. Am writing the fullstack code, all by myself. Which is so exciting and
empowering.

Programming is awesome. It's my one advice to anyone who asks me for advice
these days. It changed my life completely. From being a constantly depressed
and volatile guy I am now fairly confident and really rare to anger.

Surprise bonus, I have become far more creatively productive after leaving the
creative industry and have written a bunch of songs (that I don't hate) and
also started learning to play the Piano, something I always wanted to do.

Next up is Algos and Data Structures the next time I have enough saved for a 3
month immersion. I really do think they are super important. Plus picking up a
new language. Suggestions welcome.

------
LordHumungous
It's not that hard jeez

