
Ask HN: How many of you non-tech people wanted to learn to code and gave up - sathishmanohar
I&#x27;m wondering what makes people give up on learning to code even when they know the value in it. Why did you give up on learning to code even after you started highly motivated.
======
reitanqild
I didn't give up but I have to admit I felt quite useless after finishing
higher education.

I understand that higher education isn't there to teach you VB or Java but to
teach you the principles... but IMO it certainly wouldn't hurt if there was
some connection to real life.

I came in as someone who had already coded a while. I was best in class in
several subjects IIRC, helped others but felt like I could never have a career
in Java.

The reasons?

We were never taught how to work efficiently. Or rather: teachers actively
restricted access to sane environments.

Code was supposed to be written in an old unsupported text editor.

For many of us this very smart idea teachers has about teaching things "from
ground up" has the nasty side effect of demotivating many of the best students
to the point where you consider doing something else.

I never even dared to apply for a Java job and only started after being picked
up. I remember telling my first boss the truth: yes, I have been coding since
I was a kid and yes I have passed Java in school but I cannot program it.
Luckily he gave it a try and with good colleagues Java soon became my personal
favourite.

------
anysz
I'm a Canadian with no Bachelor's and I started to learn how to code over a
year ago to work in the field.

I learned the fundamentals of Ruby on Rails with Michael Hartl's tutorial and
built an e-commerce application on Heroku from scratch
(html/css/js/jquery/postgresql) It featured an admin panel, inventory
management, user accounts and a reasonable RSpec test suite. It took me about
3 months of plowing 90hours+/week. I used it as a portfolio application to
start looking for jobs. After blasting hundreds of resumes (>600), I got about
20 interviews. None of them worked out except for two unpaid internships which
I financially could not accept.

I gave up Rails, but I didn't give up coding, so I asked the internet what was
more likely than Rails to land me a job? iOS was probably more niche and more
in demand. So I spent a month learning the basics of iOS development with
Swift and released 2 apps on the App Store over the following 6 months (build-
learn-build-learn cycle), both using Parse, Firebase and a panoply of 3rd
party APIs. They were well architected (imo) using fundamental OOP principles,
as well as the classic iOS patterns, singleton, observer etc.

This time I sent over 3 thousand resumes over the course of 5 months, all over
the world: Canada, USA, Mexico, UK, Australia, Netherlands, Germany,
Argentina... you name it.

I got 2 remote pair-programming sessions, which I nailed, I also got about 8
coding assignments, which I completed within hours of receiving the
instructions (4 of which never even had the decency to respond or give
feedback). All in all response was the same. I even got a couple of absolutely
ridiculous contract offers such as building a full fledged real time web and
iOS landlord/tenant management system for 2000$, solo.

Without trying to start a pity party, I am now doing manual labor on a curtain
assembly line, going door to door after my shifts trying to sell Wordpress
websites, which are easiest to setup and sell.

I guess I had to stop coding because I couldn't find a job, because it takes
up time I don't have and even though I am passionate about it, passion doesn't
pay the bills.

~~~
caseymarquis
One year isn't enough time to reach a professional level. I wouldn't even talk
to anyone in your position who didn't have significant experience (years)
working on real world projects with others and delivering results; and I was
in your position at one point, so I'm probably about as biased as you might
encounter in your favor.

If you really want to code, you need to figure out what
libraries/frameworks/tooling/etc are popular in your area, and spend at least
a year or two working on open projects which use them; learning them inside
out.

The good news is that it's possible. I, and others, have gotten jobs without a
degree. The bad news is you need to be damned good to do it.

It's a marathon. Not a sprint. You're looking at 2 to 5 years spending 20
hours a week on this. It will most likely not make you money during this time;
so you need to love doing it.

~~~
anysz
Yeah. I spent in that year on average 10 hours a day coding. And some days I
would just blast way past that.

So if you consider that (1yr)x(70hrs/week)=3640hrs falls right into the
(2-5yrs)x(20hrs/week)=2080-5200hrs bracket, then in theory I have 'paid' my
dues.

Otherwise if you're the kind to factor in the notion that "it takes time for
the concepts to sink in", that's another story.

~~~
caseymarquis
Yep, been there and done that. You're looking at investing that much time
again. On top of what you've done already. But do it! It sounds like you
really care about programming.

Specifically focus on working with others. Find an OSS project you like and
contribute to it significantly. Or, better yet, find an OSS project that
companies in your area want experience with and start contributing to that.

If I saw "Active contributor to Angular/D3/Entity
Framework/SignalR/Mono/Whatever" on a resume, I'd definitely be interested in
talking to that person.

~~~
anysz
I really don't have the time to contribute to OSS, and I have no shame in
saying I don't have any interest either. I don't know how people find the time
to. I really think you either have to be <20 years old living at your parent's
house, or lacking your own ideas, or have enough disposable income to have
time on your hands to do it (which is probably the majority). And then you
need to really be interested in doing it. It's for a very, very small subset
of coders.

I went totally broke learning to code. Now I have to donate my time to OSS?
Something is backwards

If I had the time to be writing code, I would be building out a backlist of
ideas I personally have.

Thanks for the input though

~~~
caseymarquis
It's not about OSS,it's about maintaining and understanding other people's
code and revision control.

If you don't have kids at this point, then I'd go with the Pat Rothfuss
method: [http://blog.patrickrothfuss.com/2010/02/fanmail-q-advice-
for...](http://blog.patrickrothfuss.com/2010/02/fanmail-q-advice-for-new-
writers/)

If you do have kids at this point, your situation is significantly harder.

That said, if you don't have kids, are you really working/commuting 90 hours a
week and don't have 20 to spare?

~~~
anysz
Sorry but your advice (that link) is good for an absolute antisocial geek who
strives to live on the cheap in order to fulfill the ultimate goal of
contributing to OSS. This is not advice for someone who wants to find a job
fast.

You're essentially suggesting that I recluse myself even more than I did in
the past year, in a low rent city (which in Canada will definitely have 0 tech
scene) or far away in the burbs where the commute is long enough that I could
code on it. Essentially, to become a full fledged renegade of society.

I prefer the more rational approach that involves being a city, and going to
meetups, conferences and hackathons to meet other engineers that are actually
working in tech.

------
katpas
I started out with Codecademy and gave up lots of times (over about 6 months)
before I decided to commit to learning full time.

My plan was to lock myself in a room for 3 months and teach myself Python, I
ended up doing an in person course in Javascript (one of the rare free ones).
Learning with peers and some support made the whole thing a lot less
gruelling. Before that I would get stuck on very simple things for hours and
hours not knowing what to google to find the way out of it.

I wrote about this in article a little while ago if you're interested in the
full process I went through. Note (I didn't choose the title for this) -
[http://www.gadgette.com/2016/02/19/how-i-learnt-to-code-
in-a...](http://www.gadgette.com/2016/02/19/how-i-learnt-to-code-in-a-scarily-
short-space-of-time/)

~~~
milkytron
I think it takes a certain kind of person to teach themselves something they
have never done before without much in-person interaction. Many times
programmers will have at least a few other people around that can give them a
second perspective and then it becomes a symbiotic relationship where both
people benefit.

Some people can learn everything they need to on their own simply by knowing
what they need to look for, if you don't know what you're looking for, the
search becomes infinitely more difficult.

Edit: When I say a few other people around, I don't mean in person although
that is common. Even just having people who respond quickly to messages or
posts on websites will help tons.

~~~
yomly
While this learning style certainly suits more people than others, it is
definitely a skill that can be improved.

For a lack of a better term, I'd call it researching. Expressed in another
way, it is the ability to state (and constantly restate in new ways) a problem
you are facing. The rest comes from pure grit in refusing to give up.

A few things I noticed from my own journey...

1\. Jargon matters: Learning the "nomenclature" (see, the jargon term for
jargon) makes your life so much easier when researching. I recall reading a
paper which sought to bridge the gap between biology and computer science, the
author's first task was to instruct the reader on the "language of the space"
and it was assumed the reader should otherwise be able to learn the concepts
quite quickly. Being able to phrase your problem in the language of the field
will give you much better leads when looking things up. When you encounter a
new term, try to appreciate that term for what it is, avoid trying to
constantly translate it back into your own terms, though this is definitely
useful for gaining an understanding to begin with. A parallel to learning
languages it to "learn like a baby" and to avoid translating a new term back
to your mother tongue.

2\. All learning is good, no time is wasted. From experience learning and
teaching others, there is a mental trap that time spent "looking for a
solution" is time wasted - you're not learning your solution and you're not
progressing through whatever learning materials you're trying to work through.
This is not a constructive mental feedback loop as it breeds frustration. As
mentioned above, research is a skill and time spent researching is practising
that skill. You could even argue its more useful as its a far more general
than knowing how to solve specific problem X in front of you.

Everyone has been in that stage where you were lost because you had no idea
what a "mutable object" was or you read your first null pointer exception and
had no idea where to start. Or worse, reading the poorly explained and
formatted docs of some unfamiliar software, in an unfamiliar programming
language trying to do something for the first time.

My advice to the people who are still struggling in this phase: stick with it,
don't be disheartened if other people are seemingly picking it up faster or
easier than you, everyone goes at their own pace and as long as you're
learning, you're moving forward. Sometimes finding your way to the answer is
the bigger lesson than knowing the answer itself.

------
bloaf
Engineering grad student here:

1\. Learned to code some C# in an attempt to distribute some of my simulations
to other computers. Had a great time and managed to get something good enough
up and running.

2\. Tried to pick up Haskell because I liked some of the ideas, and had a few
projects I was interested in trying to do in a functional language. Had a bad
time and quit after ~2 weeks. The environment and tools were garbage. I
thought the old by-engineers-for-engineers software I used to build research
models was user-unfriendly, but I guess that was just because I had never
tried to work with the software programmers build for each other.

~~~
mwhite
Haskell is mainly developed and used by academics in the field of programming
language theory, and occasionally such academics who do some work in industry,
so it's not really the whole story to call it "software programmers build for
each other".

~~~
bloaf
I'm talking about things like Emacs and Vim, not just the core Haskell
packages.

~~~
nikdaheratik
Yeah, many programmers don't user them either (though some of the best ones
do). Those tools are not beginner friendly. Actively resist GUI usage
patterns, and are less useful to newcomers than a simple text editor.

They also include alot of cool timesaving features and are very customizable.

------
scandox
I think the reason that many smart people don't stick with programming is
because a fundamental part of the job is struggling with intellectually
trivial incantations specific to some configuration/OS/Language/Tooling.

I am a programmer and I have a lot of patience for that stuff. But I don't why
I do, because objectively speaking it's crazy to spend hours ingesting this
kind of ultra-specific, non-reuseable information.

~~~
open-source-ux
_"...incantations specific to some configuration/OS/Language/Tooling"_

This is one of the things that I struggle with, much more than actually
learning the programming language. I'm embarrassed to admit it because it's
part of the DNA of programming environments, and it feels like no-one will
take you seriously if you don't love or master the command line to perform
tasks in your environment.

But I'll say it, I (mostly) hate the command line for the endless, excessive
configuration/installation/tooling/updating tasks that are such an intrinsic
(and unfriendly) part of "modern" programming setups. It also feels like there
is zero interest in ever changing these things.

Anyone else want to admit they struggle or dislike this state of affairs? Or
am I the only one?

~~~
nikdaheratik
I'm possibly the only one in my office who is comfortable on the command line.
Most of this may be that we're in a Windows environment, but they all seem to
use an IDE more than anything else. I feel like for web stuff at least, the
command line is _easier_ because you know exactly WTF it's doing instead of
having it hidden behind layers of useless and arbitrary UI.

But if the IDE or other tools is good enough for what you need to do, then I
don't believe it makes a difference.

------
salemh
I used to work in spreadsheets all day, or at least, 70% of the time, I'd have
to collate 50x spreadsheets information into a singular summary page, etc.

I worked through ~20% of "Learn Python the Hard Way", then later, the intro CS
101 of Udacity which has a Python intro, as I wanted to be able to do more
then vlookups and complex workarounds for Excel sheets.

My new career is in marketing automation, so I did some tutorials online, and
bought a SQL book to pull PL/SQL queries for data segmentation. I also picked
up HTML/CSS, but don't have any reason to really use Jscript. I can read it,
and trouble shoot in some landing page uses, but I don't need it.

Learning to code was always a supplemental goal for career growth, and I find
it fun. I was that IRC guy who loved scripting simple tasks like a music
player/displayer, k/b wars, etc.

However, when I'm actually diving into learning actual code, I don't enjoy it.
I don't think I'm built for it, just as I don't grok statistics, yet my
sibling is a actuarial scientist, but he gets confused about things that come
naturally to me.

Being in Marketing Automation, its more relevant for me to do "continued"
(outside of work) education not in coding, but in platform research (Eloqua,
HubSpot, Marketo), more SQL/data management (I am reading "Object Technology:
a Manager Guide), and certifications in these platforms.

~~~
antisthenes
Your experience rings true to me.

I don't particularly enjoy coding other than figuring out a way to automate
some boring task for myself or someone else.

I also don't entertain the idea of having to spend most of my free time
learning how to comprehend some particular peculiarities of a language syntax
and generally keeping track of technology updates.

Also, browsing the internet I realized that with the advent of
sourceforge/github/stackoverflow, no matter how hard I try to write some piece
of code, it has _always_ been the case that it's already been written and,
with minor modifications will solve my problem, whether in the form of a code
snippet or a full desktop application.

------
DrNuke
Coding for coding is irrelevant for non-techies and rightly so: outsourcing is
so cheap nowadays. Coding in order to do something relevant within their
particular field of knowledge is their main point and may be worth the fuss.

~~~
sathishmanohar
I totally agree with you there. I feel like coding for the sake of coding is
like poetry for the sake of poetry. That being said coding is not just about
doing a programming job. In my opinion the biggest benefit of learning how to
code is it develops the discipline of structured objective thinking.

~~~
prmph
Which is an inferior way of thinking, in certain situations.

There are many situations where structured thinking, of the sort that makes
for good programming, seems a liability. Ever wondered why many programmers
are poor at social interaction and big-picture decision-making?

~~~
disgruntledphd2
Because they don't practice it.

Seriously, people devote so much time to becoming good at "structured
thinking" that they spend less time talking to others, or doing big-picture
decision making (the last one is easy - just start making decisions and facing
the consequences of your terrible decisions, you'll get better).

Literally everything in the world can be solved through practice. (That's
clearly an exaggeration, but its true enough).

I definitely don't think that "programmers" (whatever they are) are any worse
at other things by virtue of their talents. They are less good at other things
because they have not practiced those things.

------
pappyo
I had two problems while teaching myself how to code; I'm not that passionate
about it, and learning technical disciplines on line is not how I learn.

I viewed coding as a means to an end. Learn to code-->start a business-->get
investors-->pay someone else to code. I didn't care much about what I was
learning, only that what I was learning could potentially fulfill other goals.
That, in and of itself, wouldn't necessarily deter someone from learning how
to code, only...

I struggled learning through on-line tutorials (Code Academy et al). It's not
how I learn. That was unfortunate, seeing that coding community spearheads
this type of learning. I realized that if I wanted to make it work, I'd have
to register for a class. Then I became scared that maybe the struggles
wouldn't persist past on-line and I'd be financially committed to it. I wasn't
willing to take that risk.

~~~
sathishmanohar
I'm working on a video course myself but it takes a different take on things.
Could you elaborate on the problems you face with current online tutorials?
Why didn't it work out for you?

You mention you decided registering for a class is the only way to go, I would
like to know if an online video tutorial teaches you to get the basics in a
day and offers 100% money back if you aren't happy would you try it and how
much would you like to pay for it?

~~~
pappyo
There is something to be said for in person peer to peer learning.

My biggest problem was, I'd get hung up on a problem in some bizarre way.
Often times when I'm learning in teacher to student only environment (or
machine teacher and student), the teacher will notice the mistake, but have a
hard time identifying the train of thought that got me there in the first
place. Students have an easier time identifying mistaken amateur thought
processes and fixing them. A typical (or automated) teacher is so far removed
from amateur thought processes, they have a hard time empathizing.

Where online learning systems fall short is the peer to peer. Yes, there are
usually forums where students can communicate with each other. But it is
lacking. The biggest problem students have with each other is
misunderstanding. In a classroom, sitting next to another student, that
misunderstanding usually only takes a few minutes, tops, to resolve. In an
online forum, that misunderstanding could take days, frustrating students and
forcing them to drop the class.

I'm not sure if a video would help for someone like me. The problem is you're
trying to streamline a process in how people learn. But people learn in all
different ways. Accounting for all the different ways is hard. While I'm sure
your video would work for some, chances are it won't work for most.

------
MrJagil
Classes in Javascript were really hard for me for some reason, and I've never
really passed that point. Also, the fact that programming is not solving
anything by itself, you need to know the entire stack. After wrestling with
classes for a while it's really demotivating to realise you have to know DNS,
server-side languages, http_S_ and all sorts of things before you can actually
create your app/website. It was just a bit too much for me.

Codecademy did a good job though and
[http://www.theodinproject.com/](http://www.theodinproject.com/) too.

EDIT: Also, the job prospects did not look too good because of the fierce
competition. What motivated me was doing my _own_ apps/sites (lego for grown-
ups), or at least work on a startup, but the required resumes were really
daunting. Sysadmin just didn't have the rockstar flavour to it (I think it's a
fine job, just trying to convey the fact that a certain air of adventure
needed to be present to lure me to stick with it- i.e. the same reason 13 year
olds learn the electric guitar).

~~~
jbob2000
I got downvoted for this in a simallar thread, but it's my belief that you
need to work backwards to start coding.

Use tools, apps, generators, scripts, whatever, to do as much of the work for
you as possible. Use a yeoman.io fullstack generator to literally make you an
entire webapp with login and security, and then figure out how to fill in the
blanks.

Doing it this way, you won't get bogged down in all the technical bullshit to
"make something appear on the screen". Let's be honest, you're not writing
code for the space shuttle, you can take lots of shortcuts, and then correct
your mistakes on a later project.

~~~
kbenson
I think there's two approaches, and depending on what you are trying to
accomplish as your motivator to program, the best approach may be different.

If you are looking to present something to others as an interface, using tools
and frameworks can help tremendously. Your success is likely somewhat based on
the perceptions of others, and this requires mixing a few disciplines (design
and engineering), so getting what help you can to achieve that minimal level
required for people to not reject it outright is important.

If you are looking to transform or create something for yourself, just
learning the tool is often better. You want to spider some sites and present
some stats on what you've found? Learn Python, Perl or Ruby and that will take
you most of where you want to go. You want to write a small roguelike game?
Learn whatever language you want and get to it. In many of these cases,
learning the intricacies of a full stack and then how you have to tweak it to
make it work for your needs mught be counterproductive, unless it's aimed
specifically at your need.

------
touchofevil
I've made a couple of attempts and I'm about to make another attempt to learn
to code. I think the problem I run into the most is that a lot of the online
learning is not project based, or takes too long to get started on a project.
For example, I started the TeamTreehouse Flask Track and it takes a while
before their tutorials challenge you to actually start building a site with
Flask. I signed up for onemonth.com and I liked their approach much better,
where you just dive in and start building something from the beginning.
However, the OneMonth Python/Django course that I was taking shutdown right in
the middle of the course I was taking, due to problems with the course
material. It's also been very difficult to choose a language/framework, but I
think I've settled on Python/Django. I'm thinking that I will resume my Flask
course at TeamTreehouse and also give Code4Startup.com's new Django course a
try.

~~~
code_star
The place to start really depends on what you are interested in. If you
already know you want to do a bunch of web programming just start out with
javascript.

If you think you might go on to do lots of types of programming then learning
python is a great place to start

Check out reddit.com/r/dailyprogrammer if you want interesting things to work
on them. A lot of those tasks are not so simple that they can be done in a
couple of hours, but not so long as to be crazy hard.

I was a big fan or this one

[https://www.reddit.com/r/dailyprogrammer/comments/3fva66/201...](https://www.reddit.com/r/dailyprogrammer/comments/3fva66/20150805_challenge_226_intermediate_connect_four/)

~~~
touchofevil
Thanks for the info. I considered focusing on Javascript and node exclusively,
but I'm really only looking to build CRUD web apps quickly, and Rails or
Django seemed more beginner friendly for those purposes than node. Of course,
I'd still need Javascript for the front-end of these CRUD web apps. I'm still
kind of on the fence though between RoR vs Python/Django. I'd like to be be
able to create MVPs quickly, so RoR is tempting even though I'd prefer to
learn Python rather than Ruby.

------
caseymarquis
I've given up at many points over the last 9 years. I now program
"professionally". I work on full stack web applications, networked desktop
applications, and recently embedded applications.

The primary reason I gave up was that I wasn't willing to accept the amount of
effort which needed to be put in to get the level of results that I wanted. I
just couldn't comprehend that the skills I wanted to have required years of
commitment.

The advice that I'd give would be to understand that this is a huge task. You
won't learn everything quickly; even if you're very bright; even if you spend
14 hours a day on it. Those things will help, but they aren't the key.

If you want to be a good programmer you need to love learning. It's not about
being clever, it's about being persistent. You constantly need to learn new
tools and frameworks, and occasionally new languages. You need to understand
the technologies you're interacting with and how they work. And you need to
take all those tools, frameworks, languages, and technologies and use them
daily.

But mostly you need to invest the time.

Don't give up if you let a big project go because it's too difficult, or don't
understand something, or spend two weeks on something you thought would take
an hour. Be disappointed, sure. But don't quit.

Keep going. Keep learning. Keep on picking up just a small amount of knowledge
or skill each day.

In a year things that now seem complex will be obvious. And that will happen
again and again every year that you continue learning. Eventually, your failed
projects will turn into completed projects, but it could take years for this
to start happening depending on how ambitious the projects were. You can't let
that stop you. You just have to keep going despite it.

So keep going. But realize it's a long, slow, life-time commitment to constant
learning. It's not easy. Even if you've been good at everything else in life,
there's no exception for you. Mastery and skill will only come with
significant time and effort. But they will come.

Also learn vim. That sh*t is awesome.

------
fierycatnet
I was messing with programming for years now but I can't manage build anything
worthwhile, even for my own amusement. I was CS major but I got burned out on
high level math and I switched majors.

Through out these years it's always been a struggle to learn to code and
finish something. I've done some basic problems, some Project Euler, etc. I
did countless tutorials, it just doesn't stick for me. I've been through so
many languages that I can't even remember them all, name it and there's good
chance that I've read a book on it.

It also seems like there is so many tools and programming today is so
convoluted and over engineered that I just get overwhelmed. I also don't have
anyone to talk about programming, I am just spinning wheels solo and get
frustrated when I get stuck.

Right now I am giving my last chance of learning to code. I found out Lisp and
eventually Clojure. It seems more straightforward and simple, there are no
'design patterns' to remember and break my head with. I feel like I can slowly
build something from bottom up. I have high hopes for Arachne upcoming
framework. I hope it will be accessible and I'll be able to make SPAs sites.

But yeah, I feel like I've burned out on this. I just get frustrated with code
most of the time when I can't come up with a simple solution.

~~~
milkytron
Have you ever worked with a team of experienced programmers?

I ask because I flew solo throughout college simply because it was difficult
finding competent programmers at such a small commuter school. I spent some
time learning my own things and trying to teach myself. But once I was placed
on a solid team at a software company, my rate of learning increased at least
by double.

What I'm saying is maybe try surrounding yourself with some folks who have
more experience in what you'd like to learn. There are user groups pretty much
everywhere for major languages, and meetup.com is a great way to make
connections.

~~~
fierycatnet
My friend got hired at the start up like that and now he is doing fine. The
truth is that I am very honest and critical of myself, I just don't have the
confidence in my abilities. He also had several years of experience, I don't.
I might start hanging out at local meetups again but the tech scene is small.

------
exolymph
I've dabbled a bit with various online courses, and concluded that coding just
doesn't spark my intellectual interest enough for me to get into it fully.
Wrote about this, actually: [http://sonyaellenmann.com/2015/12/its-okay-to-
not-learn-how-...](http://sonyaellenmann.com/2015/12/its-okay-to-not-learn-
how-to-code.html)

~~~
officialchicken
Thank you for that perspective... from a graying beard. Unfortunately the
social potential of the _idea_ of software and APIs is so much greater than
its IRL application and usage. But congratulations nonetheless, it seems you
have adopted the hacker ethic (re: OSS-as-duct-tape) and that's a great first
step even if it's your only one!

------
votingprawn
Years ago I started coding qbasic with a photocopy of a book given to me by a
friend of the family.

I progressed from there to medicore competency in PHP, rails, and c++. Then I
went to university to study comp Sci...but almost immediately switched to
aerospace engineering, and my coding skills plateaued.

By that I mean I can write basic stuff in all sorts of languages, but I'm
miles away from writing a compete program or anything user friendly. Most of
my code these days revolves around automating various things in the most
sensible language. Where sensible often means something the next non-coding
engineer to come along can understand.

I guess I stopped because I knew enough to do what I currently need to do. I'm
content that, given time, I could learn to be a better coder. But at the same
time I avoid jobs in my industry that are suited to decent coders because I
know there are more suitable people for the role.

Every so often try to pick up some "hobby coding" but find that I don't really
enjoy it like I did as a teenager.

------
Santosh83
I'm an artist and since I've always been fairly interested in science in
general too, I decided to teach myself HTML and CSS to code up my own site
from scratch, for hosting my art (and miscellaneous other things). Am
currently going to start learning CSS Flexbox that everyone's talking about,
so that all parts of my site can be rendered form-factor independently. My
plan is also to teach myself Javascript after CSS although I've no current
need for any JS on my simple site. I did teach myself C years before and
successfully worked my way through K&R2, but since professionally I was headed
in a different direction I saw no reason to go further. Can't say I've given
up on coding except for a short attempt at Java (again ~10 years back) which I
gave up quickly since coming from the simplicity of C it seemed rather
bewildering to me (at that time).

------
pythonscheme
I am having some problems with magic methods in Python. They are defined
inside a class using built-in functions and are not directly callable. What
are some helpful resources with this topic? Thanks.

~~~
ams6110
Word to the wise: avoid anything "magic" when writing code.

~~~
thrownaway1984
Word to the wise. Better to stay silent and for people to think you stupid
than to open your mouth and have them know for sure.

Python magic methods are not "magic" but are a very standard part of the
language and are well documented.

~~~
ZanyProgrammer
And you wonder why some people never catch onto programming.

------
fmilne
The only online curriculum I have had success with was:
[http://www.javascriptissexy.com/how-to-learn-javascript-
prop...](http://www.javascriptissexy.com/how-to-learn-javascript-properly/)

The reason it clicked was because at the time, a colleague offered to mentor
me. This helped since he would assign me cases related to my skill level, show
me how to ask better questions, and explain how things worked in context to
our tech stack.

------
elbear
First time I stopped, because I got stuck. I didn't have Internet at home, so
I had nobody to ask for help. Second time I stopped, because of university
exams. I was studying something completely different at the university and
when exams came, I dropped the programming and didn't pick it up after. Third
time was the lucky one. I made programming my most important priority and I
didn't stop. Also, I had Internet, so I could ask for help.

------
giarc
Because it was free.

I tried many of the free options out there but whenever I hit a roadblock I
just quit because I had nothing to lose. I paid $30 or so for a swift course
and never stopped because I had paid money. It's a tiny amount of money but I
felt like I had to see it through since I paid money. I now have 2 apps in the
app store, with another on the way this week likely.

~~~
sathishmanohar
Wow! Thanks. I'm working on a 3 hour video series which I'm planning to price
at $99. My thought process is exactly the same. people doesn't tend to value
free stuff or stuff they got for free. Its counter intuitive but it works.

Obviously people ridicule the idea of charging for basic programming
tutorials.

------
ftwynn
I've started and stopped a number of times. Mostly I don't have an itch to
scratch that pushes me to make anything interesting.

I find myself particularly struggling when language walkthroughs get to
libraries and code organization. Follow all the paths and dependencies is
really tough for me.

~~~
monk_e_boy
I'm a coder. But I often do little side projects for things that I just wonder
about.

Today I'm wondering how code is made into binary and how that flows through
the processor and how the logic moves data to and from memory. I'm not sure
how I'm going to code anything to represent that, but that's half the fun.

Last month I was a bit obsessed with organic tentacles and how to make them
move using muscles. I coded this in javascript using canvas. Pretty fun. They
make lots of interesting patterns.

Before that it was games like cookie clicker and candy box.

Before that it was neurons and AI - again I just coded little fish in
javascript, hooked up a neural net, they gained score depending on how close
and how much time they spent near food. Then breed them and repeat. Do this
for half a day and they get really smart. It's cool how a few arrays and
sigmoid functions turn out to be smart. Even though I coded it all, it still
amazes me.

I think the thing is to find something that interests you. Maybe code your own
blog. Or online text adventure. Or multiplayer pong clone.

Part of your problem is that you are trying to do too much. Libraries, code
organisation, etc are all fixes to problems. You need the problem first (while
you are learning) so write spaghetti code and it's not until you go 'OMG this
is hard to understand' then you need to look up code organisation and only
then use the minimum that is needed to improve your situation.

------
conductr
I learned. Then realized the value of having good ideas for what to work on.

