Author Topic: Feasibility of teaching self to code part time  (Read 943 times)

Aigeus

  • 5 O'Clock Shadow
  • *
  • Posts: 22
Feasibility of teaching self to code part time
« on: November 26, 2018, 11:40:39 PM »
Alright.  So I work in a profession that is getting a little boring.  I'm considering teaching myself coding as a way to either start over completely or heavily reinvent what I do now (which is completely unrelated to coding).

Let's say I devoted 10 hours a week for three years to teaching myself to code.  How good would I be at the end of this process?  Would I be good enough to get a good paying job in coding?  Any possibility of a job paying six figures?  Would I be good enough to start a coding related side hustle?  How lucrative would that be?  Or say I wanted to focus on AI and write AI programs to help revolutionize an industry that isn't currently heavily using AI--would I be good enough to do that?

For context, I currently do zero coding and very little math.  But I've been able to teach myself math in the past. 

steveo

  • Handlebar Stache
  • *****
  • Posts: 1944
Re: Feasibility of teaching self to code part time
« Reply #1 on: November 26, 2018, 11:51:44 PM »
I think you could be an exceptional coder within that time assuming that you develop an interest in coding. In stating that what is coding ? Do you want to make games or Internet applications or work with data ?

I worry though about how you would get a job. If you could honestly do this "write AI programs to help revolutionize an industry that isn't currently heavily using AI" you wouldn't need a job. You'd have a business. Could you get to that level in 3 years - I say yes. Will you - I really doubt it but I'd love you to prove me wrong.

Aigeus

  • 5 O'Clock Shadow
  • *
  • Posts: 22
Re: Feasibility of teaching self to code part time
« Reply #2 on: November 27, 2018, 12:22:56 AM »
I don't know specifically what kind of coding I would want to do.  I have some interest in AI but my question isnt really about AI specifically--instead I'm just trying to figure out generally how feasible it would be to develop coding skills to the point where I could realistically make a significant amount of money by devoting approximately 10 hours per week for three years.

caffeine

  • Stubble
  • **
  • Posts: 122
Re: Feasibility of teaching self to code part time
« Reply #3 on: November 27, 2018, 07:43:26 AM »
Web Dev seems feasible. I have no idea about AI and Machine Learning.

Developers and tools are more exposed than ever. You can begin following developers on twitter. Follow open source projects on github. There are free tutorials on YouTube. You can get a paid subscription to other learning platforms - Pluralsight for instance.

I'd suggest you try the field then specialize in one area. Become exceptional in one area.

Data Science, Frontend Dev, Backend Dev, SQL, Machine Leaning, ectů

« Last Edit: November 27, 2018, 07:46:06 AM by caffeine »

MonkeyJenga

  • Walrus Stache
  • *******
  • Posts: 7894
  • Location: Don't Ask
  • Resting up for 2020
Re: Feasibility of teaching self to code part time
« Reply #4 on: November 27, 2018, 08:22:23 AM »
Start with ten hours a week for one month. Try a few different languages. See how far you get and if you're still interested in continuing. If so, focus on not just learning, but creating. Find small clients, sell your time on freelance sites, build compact, usable apps or sites or functions.

You don't want to study something for 3 years only to find out nobody wants your skillset, or you don't like working with clients, or whatever. Better to figure that out as early as possible.

Boofinator

  • Pencil Stache
  • ****
  • Posts: 778
Re: Feasibility of teaching self to code part time
« Reply #5 on: November 27, 2018, 08:33:34 AM »
I highly recommend pursuing an actual degree for your passions. Though it might cost more, the benefits would be numerous: You would be learning from instructors who are fairly cutting edge in the field. You would learn the peripheral math that would make your coding skills marketable. You would have incentive in the form of grades to keep you on course. And finally, you would have a marketable diploma that signals you aren't just a poser when it comes time to find a job. And overall I don't think the required time to invest would be much more than what you have proposed.

I've learned to code in a few languages on-the-job; this is important for fairly simple work-related stuff and is marketable within my current field, but I don't think I could go out and get a job as a professional coder.

nereo

  • Walrus Stache
  • *******
  • Posts: 9885
  • Location: la belle province
    • Here's how you can support science today:
Re: Feasibility of teaching self to code part time
« Reply #6 on: November 27, 2018, 08:54:55 AM »
I've had to learn coding for my job, which is working with 'big-data' (basically crunching climate data to model changes in the distribution of many marine species).  I've also had to teach courses where the college students were learning entry-level programming.

From that I've learned
  • some people can easily 'think' in code - for the rest of us it's not so easy and at times we hate those natural coders
  • there's a very steep learning curve, and at first it can feel like you understand nothing
  • real proficiency only comes when you code frequently, for at least a few hours every week
  • as you learn there's a ton of googling and copy/paste/adapt. At times it will feel like you are just following a set of instructions you don't fully (or even partially) understand.  That's ok.  In time it will 'click' and you'll comprehend what each subsection of your code is doing.
  • annotate your code!!  When you stop annotate where you are, what isn't working and what your next steps are.

So yes, you could learn to code by dedicating ~10 hours/week.  IME most people start getting the hang of it after just a few months, and if you truly code a couple hours a day, multiple times per week (i.e. 10 hours worth) you stand a very good chance of being very proficient in under a year.  I found the free online Coursera courses to be very helpful (I've done R and Python).  I'm by no means a coding master, but I've gained enough proficiency where I can ask a question, devise a script to answer said question, and then troubleshoot/adapt the code for future use.

As for whether you'd be able to get a job - here you are putting the cart (coding) before the horse (the type of job).  It certainly couldn't hurt, and there are some jobs that some degree of coding is absolutely essential. But there are so many coding languages and so many dialects and subspecialties within each language that you'd be well served to consider what kind of job you'd like and then learning the kind of coders that they are looking for.  In my field that's working with R, Python and maybe Matlab merging and analyzing large datasets.  That's going to be completely different from a company that's hiring people to beta-test consumer software packages, which is just as different from a company that is hiring web developers.

Poundwise

  • Handlebar Stache
  • *****
  • Posts: 1371
Re: Feasibility of teaching self to code part time
« Reply #7 on: November 27, 2018, 10:24:33 AM »
Totally feasible. I was largely self-taught, though I did begin with one "real" computer class to teach me the principles of coding, object oriented design, etc.  I used this class to code for a scientific project producing data for my academic degree (which I ended up never using.) I also did some tinkering around building  and overclocking my own computer, installing various flavors of Linux and taking them off again, and acquiring some proficiency with system administration and Unix. Good times.

Thereafter, I learned by biting off more than I could chew; i.e. beginning projects that I lacked the exact skills for, figuring out what I needed to learn, and then learning it by looking up similar code and adapting it to my ends.   I started out by volunteering to maintain the website for my son's preschool; once I had access to the code, I decided I was tired of sending out individual emails to parent helpers and reprogrammed the website to send automatic emails to helpers on the calendar.  I learned a lot that way. Stack Exchange was a good friend.

Subsequently, I did volunteer work on some other school websites, and parlayed that into a professional job as a web developer and database administrator. I never really struck it big because I could only work from home part time, but it was a rewarding side hustle that kept our noses over water while my husband finished his training, and kept me out of trouble. 

Good luck!

[edit to add] I learned the most by starting out with a full website, written by someone else,  that needed maintenance and small adjustments. By tinkering with a copy of the website, it was easy to see how changes affected the whole, how different people have different styles of coding, etc.  Of course some people are sloppy and less skilled... I remember working on a site written by a guy who had no idea how to use functions, so he would cut and paste the same piece of code a zillion times. 

If you are afraid to mess up somebody else's website, what about working on your own? Start out with a canned site like Wordpress, and start messing with customizing the theme or some plugins.

[edit #2] If you're interested in customizing a Wordpress site, check out  "Learning PHP, MySQL & JavaScript" by O'Reilly. I like their format.
« Last Edit: November 27, 2018, 10:35:06 AM by Poundwise »

EricEng

  • Stubble
  • **
  • Posts: 201
  • Location: CO
Re: Feasibility of teaching self to code part time
« Reply #8 on: November 27, 2018, 10:45:54 AM »
If you work in a related field (IT) that has software devs there that you could possibly transition to, then maybe. If you are trying to get into an software developer position at a grand new company with normal software dev pay, then no regardless of how good you can code.  Most Megacorps are looking for an engineering degree (preferably computer science, computer eng, or electrical eng) before they will even consider hiring you. 

Now for your original question, yes you can teach yourself to code pretty well all on your own with things like code academy, etc.

PDXTabs

  • Pencil Stache
  • ****
  • Posts: 898
  • Age: 36
  • Location: Vancouver, WA, USA
Re: Feasibility of teaching self to code part time
« Reply #9 on: November 27, 2018, 03:04:13 PM »
I have a BS in CS and I've been working as a full time software engineer for the last 11 years. I would say you can, if you really get into it/want to. In fact, most of what I do day to day I taught myself, either before or after I went to school to get my CS degree.

Along those lines, I highly suggest you read Deep Work by Cal Newport.

bendixso123

  • 5 O'Clock Shadow
  • *
  • Posts: 26
Re: Feasibility of teaching self to code part time
« Reply #10 on: November 27, 2018, 03:13:47 PM »
I got a minor in computer science in college, then went several years before doing anything with it professionally (became a ski bum and just didn't want a real job in my 20s).

The real turning point came when I came up with an app idea I wanted to build. I created the product in my spare time (I was a freelance writer back then), and then I put it on the market.

It won't matter what degree you have when you can show people an actual product you've built and tell its story. It costs you zero dollars to build a product, plus if you're lucky, you might end up with something that generates passive income and gets you that much closer to early retirement.

My products net me about $2K per year, all from sales on the App Store. I'm working on steadily increasing that revenue.

I'm not sure how valuable it is to pay for the education. You only really learn when you start building something of your own. Definitely read the books and follow tutorials, try to get an idea of what the best practices are. But you can only begin to understand the "best" practices once you've got some practice under your belt in general.

This year was my first one surpassing $100K in earned income. I can't think of anything that will get me to FIRE faster, so I'm staying the course.

EricEng

  • Stubble
  • **
  • Posts: 201
  • Location: CO
Re: Feasibility of teaching self to code part time
« Reply #11 on: November 27, 2018, 03:40:46 PM »
It won't matter what degree you have when you can show people an actual product you've built and tell its story. It costs you zero dollars to build a product, plus if you're lucky, you might end up with something that generates passive income and gets you that much closer to early retirement.
Yes, and no.  At most Megacorps, you will be filtered out by software based on your degree before a human even sees your resume that talks/links to your app.  That said, for small companies/startups this has a better chance.

100% of the 30+ software devs on team at Megacorp have computer science or adjacent degree.

PDXTabs

  • Pencil Stache
  • ****
  • Posts: 898
  • Age: 36
  • Location: Vancouver, WA, USA
Re: Feasibility of teaching self to code part time
« Reply #12 on: November 27, 2018, 03:46:22 PM »
[100% of the 30+ software devs on team at Megacorp have computer science or adjacent degree.

I've worked at megacorps that require a degree, but none that wouldn't let an applicant through with experience plus some BA/BS.

EDITed to add - I know a senior developer with a premed.

bendixso123

  • 5 O'Clock Shadow
  • *
  • Posts: 26
Re: Feasibility of teaching self to code part time
« Reply #13 on: November 27, 2018, 03:48:33 PM »
That may be so. I'm not really sure.

I was approached by Facebook in spite of not having fully majored in CS. Having a few years of experience under you definitely helps and can tilt the picture more towards your favor.

I seem to get quite a few recruiters on LinkedIn as well, but for it to count I think we'd need to properly define what a "MegaCorp" is. If it's only companies like Facebook, Google, Apple, etc. there really aren't that many of those to begin with.

Either way, results speak for themselves. You can get a very high income without having fully majored in the subject. I'm not sure it matters all that much if you earn that high income working for a MegaCorp or a smaller company that might pay you slightly less
« Last Edit: November 27, 2018, 03:59:21 PM by bendixso123 »

EricEng

  • Stubble
  • **
  • Posts: 201
  • Location: CO
Re: Feasibility of teaching self to code part time
« Reply #14 on: November 28, 2018, 11:37:48 PM »
I was approached by Facebook in spite of not having fully majored in CS. Having a few years of experience under you definitely helps and can tilt the picture more towards your favor.

I seem to get quite a few recruiters on LinkedIn as well, but for it to count I think we'd need to properly define what a "MegaCorp" is. If it's only companies like Facebook, Google, Apple, etc. there really aren't that many of those to begin with.
Headhunters on LinkedIn are far less picky than the actual company screening systems.  Headhunters take the shotgun approach just getting as many applicants as possible regardless of how qualified they might be.  When I say "MegaCorp" I just mean large corporation with thousands of engineers, not just the big 5 FAANG. 

I've known exceptions to the rules, but most are older with 20-30 years of experience from the days before computer science was common in programming.  Best bet is educate yourself on the coding and then get a software/scripting job at a small firm.  After 2-3 years of professional software dev experience most anyone will consider you for a software job regardless of degree (still reflected in pay maybe).

blackomen

  • Stubble
  • **
  • Posts: 169
  • Location: Former Californian in Dallas
  • Antifragile since 1983
    • Optimize Myself!
Re: Feasibility of teaching self to code part time
« Reply #15 on: December 02, 2018, 08:20:14 AM »
I'm not sure if this is still considered self teaching but I took the online course at Udacity and earned a certificate which eventually lead me to landing a job in Machine Learning.

If you're interested in learning Python, I'd start with something that you can immediately start applying.  Try automatetheboringstuff.com

If you already know Python but want to learn about AI or Machine Learning, fast.ai is a good place to start.