[HN Gopher] Most of the time, you don't really need another MOOC
___________________________________________________________________
Most of the time, you don't really need another MOOC
Author : 7d7n
Score : 157 points
Date : 2021-01-27 18:01 UTC (5 hours ago)
(HTM) web link (eugeneyan.com)
(TXT) w3m dump (eugeneyan.com)
| Blackthorn wrote:
| TFA really only applies to basic new software topics. I'm doing a
| course in biochemistry right now. It's literally the recording of
| a course taught at OSU that the professor was extremely generous
| to make and post on YouTube (thank you, Dr. Ahern!). I'm not sure
| how I'd ever learn biochemistry without it, seeing as I'm not in
| college anymore.
| tastyfreeze wrote:
| I buy college textbooks if a topic really piques my interest. A
| good textbook combined with free lectures is great way to
| learn.
| __mharrison__ wrote:
| (Disclaimer: I make my living teaching)
|
| Author is correct, most don't complete MOOC's (for various
| reasons).
|
| However a good teacher is like a coach and will grease the skids
| for learning.
|
| My experience teaching Python and Data Science at some of the
| biggest companies in the world is that you can be a professional
| and still have knowledge gaps. You don't know what you don't
| know. Once you fill in those gaps it can open many doors.
|
| I elaborate a bit on my blog:
| https://www.metasnake.com/blog/learn-python-2021.html
| MauranKilom wrote:
| > "Doing that MOOC/Masters gives me a certificate that helps my
| resume."
|
| I have to mirror an observation I've read on here that matches my
| retrospective view: Job applicants with multiple online course
| certificates tend to do poorly in technical interviews.
|
| <tangent>
|
| This may in part be a failing of our education systems. "Be
| taught about something -> write test -> pass/no pass" is usually
| all there is, and this system of how knowledge is valued becomes
| ingrained in students. Sure, tests usually contain sections of
| "applying" the knowledge, but ultimately it's still studying to
| _and because of_ the test.
|
| If you're lucky enough to be both versed in a subject _and_ visit
| a school that provides extra-curricular engagement on these
| subjects, you may get a glimpse of what it feels like to solve a
| challenge _because you want to_. Otherwise you have do that
| completely separately from whatever formal education you receive.
|
| It has personally taken me many years and several key experiences
| _outside of school_ to fully grok that presentations aren 't just
| condensing a topic you don't care about into a scheme somebody
| else dictates, held in front of an audience that would rather be
| elsewhere. Or that playing music isn't just about getting the
| notes and their volumes right. But _now_ I deeply enjoy both. I
| would imagine that many are similarly stuck with a terrible
| mindset regarding learning or problem solving due to the way they
| were educated, even if they would find it exhilarating with the
| right frame of mind.
|
| </tangent>
|
| So yeah, show off your self-directed projects in your resume.
| Thrill your interviewers with the cool problems you tackled.
| Mention key challenges you overcame.
|
| Without exaggerating too much, I would say online course
| certificates are as indicative of your technical abilities as a
| screenshot of a completed Tensorflow download. And that extends
| to the message you send if you include them in your application.
| vxNsr wrote:
| This is interesting in that you're advocating for a lot more CE
| than many other fields require or look for. More and more it's
| becoming apparent that CS needs a standards body and a more
| structured learning process. As many people feel that no matter
| how much extra time they put in it's not enough.
| qntty wrote:
| Off topic, but I find it very off-putting when people write blog
| posts using "we". Like speak for yourself, I have my own reasons
| for doing things. It's to the point where I don't even pay
| attention to what the person is saying because they're being so
| presumptive in telling me what I think.
|
| Which is weird, because I really enjoy the convention of using we
| in math.
| kylebenzle wrote:
| Maybe the former seems pushy while the latter is inclusive.
| Math is about discovery and we are all in the same boat. A
| marketer saying "we are all in this together" feels
| manipulative.
| fantod wrote:
| After years in academia, it's incredible how much conscious
| effort I have to put into writing (or giving a talk) without
| using "we".
| mandeepj wrote:
| We should ban these personal rant posts like
|
| 1. Stop doing **
|
| 2. Why I don't like **
|
| 3. You should not **
|
| It's your personal thing. Don't like certain thing - try to do it
| your own way. Can't do it then change your attitude.
| rnd0 wrote:
| "Stop posting stories I don't like!" /s
|
| Seriously though? It's useful to see people's perspective and
| the discussion around them (and personally speaking, I come to
| HN for the discussion) is useful and insightful -often more so
| than the original article.
|
| Click-baity titles are annoying, though. I'll grant you that...
| CivBase wrote:
| I like learning about other people's opinions, even if they're
| just opinions. They help me refine my own.
|
| Besides, not everyone has the ability to "do it your own way".
| Sharing opinions like this can be a good way to determine if
| there's value in an idea and maybe even get help if needed.
| sterlinm wrote:
| I think you need to make the case for banning them with a
| series of articles:
|
| 1. Stop Posting Rants on Hacker News
|
| 2. Why I Don't Like People Writing About Disliking Things
|
| 3. You Should Not Tell People Not To Do Things
| omarhaneef wrote:
| What you can pick up from a video is a workflow you may not have
| though of. For example, I don't think beginners have the unix
| console open logged into the database, while they have another
| window with the back end code, and then the developer tools open
| at the same time so they can debug the flow "end to end" unless
| they are taught to do so.
|
| Sometime they may not think to think: why isn't the data
| appearing? did that data even get read into the database? Do I
| have to open the dbase now to see? 5 minutes of watching someone
| do it can save you years of learning that workflow.
| minimaxir wrote:
| I wrote a similar article 2 years ago
| (https://minimaxir.com/2018/10/data-science-protips/) arguing
| against MOOCs for learning data science/machine learning skills,
| as they are not reflective of real world applications.
|
| I'm all for personal projects especially in DS/ML (it's how I
| started my career in the field), but the unfortunate _reality_ is
| that there 's really no way nowadays to learn the hard/boring
| parts of DS/ML without already having a DS/ML job. Any attempts
| at an analogous MOOC/YouTube would likely not be very popular.
|
| That said, the DS/ML job market 2 years later is even more
| competitive, and niche personal projects on your resume are no
| longer enough. Even after working as a data scientist for 3
| years, I'm not confident I could get another DS/ML job.
| ghaff wrote:
| A lot of it may come down to research AI vs. applied AI. MOOCs
| that are online versions of university courses are heavily
| slanted towards research AI, which involves lots of math and
| may not be all that applicable to what most data scientists are
| doing on a day-to-day basis.
| kylebenzle wrote:
| How horribly disappointing. I'm at the tail end of a 6 month,
| $17,000 online DS bootcamp. I've got some great projects and
| learned a ton but yeh, they seem to be slowly preparing to let
| us down. They keep saying how hard it will be to find a job and
| may take months. LOL, I'm screwed.
| [deleted]
| causalmodels wrote:
| You're not screwed. If you know any working data scientists
| // MLEs I would really recommend you get feedback from them
| on your projects. Ask them to do some mock interviews. Way
| too often I see bootcamp candidates who do well on technical
| screens but fall apart during in person interviews because
| they just did what the instructor told them (use docker, put
| it on github) rather than understanding why people want to
| see those things.
| superbcarrot wrote:
| It's down to the market. There aren't that many beginner or
| mid-level jobs in the field and there is a big oversupply of
| candidates. I wouldn't recommend data science or machine
| learning to people who are changing career direction or need
| to invest a lot of time/money/effort to catch up with all the
| theory. Not that it's impossible, just very hard. It's also
| getting more and more gatekept over time with increasing
| requirements for advanced degrees.
| nefitty wrote:
| The frame of mind that kept me going was focusing on my
| effort, instead of an outcome. I visualized my effort by
| tracking job applications. I applied to a lot, so at the end
| of the day, that metric is what made me feel successful at
| the end of the day, not necessarily whether some inundated
| recruiter emailed me back.
| andrekandre wrote:
| > Watching lecture videos isn't learning--it's passive
| consumption.
|
| this x1000
|
| watching something is more akin to entertainment, even if the
| contents are educational
|
| videos are great for piquing interest and keeping motivation
| going, but the real learning is in the doing (which is hard and
| takes time)... there is no way around it
| drivingmenuts wrote:
| I can usually spend more time and effort coming up with something
| worth the time and effort than actually taking a course.
| zhte415 wrote:
| Stop doing click-bait titles.
| calebkaiser wrote:
| In my personal experience, this isn't a question of either/or,
| it's a question of order. That is, courses are fantastic, but
| most of the time, they're more beneficial after you've done some
| JIT learning.
|
| Fastai, who in my opinion create the best educational resources
| in the deep learning space, are a great example of this. They use
| a metaphor involving sports to explain their approach. You don't
| learn to play a sport by pouring over rulebooks and studying
| professionals--you start playing. However, as you get a feel for
| the sport, you then find yourself in a position where learning a
| lot more about the theory of the game would make a huge
| difference to you, and that's where courses come in. Similarly,
| they get you off the ground quickly with some basic intuitions
| around deep learning, give you a sandbox to do some JIT learning,
| and then begin layering in deeper concepts.
|
| I've had similar experiences in my life, where taking graduate
| level courses was incredibly rewarding specifically in areas
| where I'd already spent a decent amount of time doing JIT
| learning--and arguably, where I'd reached a relative limit in how
| far JIT would take me.
| someday_somehow wrote:
| I spent over a 100 hours working through MOOCs and video
| tutorials over the past month only to find out that all I would
| learn at the end would be the basics that wouldn't really be help
| if someone asked me to 'go build'. I'd have the same feeling even
| after completing an advanced level course.
|
| What we need are technical MOOCs that discuss what decisions to
| make when approaching a problem, evaluating trade-offs, what are
| the common practices you'd come across in a production
| environment and where the concept you learned fits in the big
| picture.
|
| I haven't found any MOOC that talks about the above in depth for
| web dev and the only youtuber I found who talks about this is
| TechLead but he mostly puts out 10 minute clips instead of
| complete tutorials.
|
| I've gone back to books and I'm learning much more per time spent
| studying something.
| spitfire wrote:
| I thought tech lead was a satire (as a millionaire).
|
| Practical application is an area I've always thought was sorely
| lacking. There's lots of places to learn the theory, but I
| still don't get it until I understand the applications. Then I
| start to get a fingertip feel (Fingerspitzengefuhl if you want
| to come from a certain view).
|
| Whenever I see "Application is left as an exercise for the
| reader", I read that as "I don't actually understand the
| subject well enough to teach it fully".
| someday_somehow wrote:
| I checked his channel after your comment and it seems he's
| gone all-in on the satire recently. He does put out a really
| good video occasionally.
|
| To give you an idea of what he does that's missing in MOOCs,
| take a look at his video in which he migrates a database to a
| new server: https://www.youtube.com/watch?v=Ry4EYnCgIwc
|
| Throughout the video he talks about why he chooses a
| particular method among the different approaches available,
| discusses their pros and cons, what are some of the issues
| you might encounter in the real world that you should
| consider. Even if the video is about migrating a database he
| goes through many other related topics like DNS, choosing the
| server hardware and OS. He also talks about his past
| experiences and observations throughout. It feels more
| engaging and you feel like an apprentice rather than a
| passive consumer.
| dinglefairy wrote:
| hrrmm, any suggestions on personal projects that will make mill-
| i-ons?
|
| I'm half serious. like how can i make an algorithm that auto
| trades vwap starting with a $1000 account?
|
| anyone have links for projects in; building your own receiver.
| building a laser. building a 4 story walk up multi family unit.
| building a particle accelerator programming a kernel from scratch
| how to get a super hot mail order Russian bride for free how to
| convert your car to hydrogen cell how to create your own cannabis
| genetics
|
| i threw some in there to see if you're paying attention, but
| maybe there should be a thread for cool projects [not just github
| like].
| jimmyswimmy wrote:
| It had never occurred to me to wait for a class to teach me
| something. Just go out and learn it! If there are no references
| (books, wiki, blog, training resources) it's great fun to go your
| own way and figure it out from scratch. Usually there are some
| shoulders to stand on and reading a quick paper is fine well
| spent, but in every niche area it's best not to spend too long
| searching for that paper. Just do. Learn along the way.
|
| I suppose in less niche areas it might be better to spend more
| time finding good tutorials, but even then, we learn much more
| when we do, not when we listen.
| zanny wrote:
| I've picked up drawing in the last few years, probably because it
| occupies enough overlap with the centers of my brain I trained to
| code but also is outside the envelope enough to still feel like
| _something different_ from my day job.
|
| Its basically the same thing there too. Honestly you need both
| structured learning and lived experience in both, and probably in
| most skills in life. If you don't have the structure you will
| meander aimlessly solving "problems" and "getting better" (at
| code or art) but never actually getting anywhere with it. If you
| only have the structure you will never be able to actually make
| anything truly new because you can't solve the novel problems in
| the trenches.
|
| Start something new with structure but _rapidly_ push yourself to
| start using that regimented curriculum to make new stuff. And
| then when you enter a new problem domain (you learned Python and
| want to start doing networking or you know how to draw but want
| to paint) you switch back to a regimented curriculum to start
| till you get that 20% baseline knowledge to build off of again.
| osoba wrote:
| Tbh any MOOC that "needs only 2-4 hours a week" is, by design, an
| entry level course and taking more of those won't help you
| progress.
|
| On the other hand, you shouldn't lump together and dismiss all
| MOOCs as there are plenty of more advanced ones that will
| definitely make a difference. For example, 90% of MIT classes
| such as Intro to Statistics
| https://www.edx.org/course/fundamentals-of-statistics or CMU Deep
| Learning http://deeplearning.cs.cmu.edu/
| NickM wrote:
| Maybe this is true for some topics. Yeah, a lot of times you can
| pick up a new programming language by playing around with it. I
| don't think most people will have much luck learning say,
| advanced mathematics by just futzing around and skimming
| Wikipedia though.
|
| Even topics like ML (an example referenced by the original post)
| benefit greatly from an understanding of theory and fundamentals.
| Yeah maybe any random dev can hack together a model by
| downloading scikit-learn and throwing data at it, but you'll
| probably get much better results if you take the time to learn
| about concepts like cross-validation, overfitting, etc.
|
| The "just do stuff" attitude has its merits, but there's also
| something to be said for working from first principles and
| learning some theory to back up your applied skills.
| angarg12 wrote:
| Many years ago I used to be very proactive about my learning. I
| read tons of books, did MOOCs, tutorials, learnt new tools and
| frameworks...
|
| What I found with time is that I forgot most of those. Except for
| the very basic and foundational concepts, anything that I haven't
| kept practicing is almost gone. I can't even remember most of the
| courses or books I've read.
|
| Even worse, in some cases I ended up actually using that cool
| tool that I learnt 3 years ago. Guess what, now it is 2 major
| versions ahead and most of what I knew is useless anyway.
|
| I love the reference to JIT learning in the article. This has
| been my primary way of learning for the past few years: wait
| until I'm facing a problem, and then put the effort to learn
| enough to solve it.
|
| I still do some background explorative learning, but JIT is much
| more efficient and effective.
| robbyking wrote:
| > Anything that I haven't kept practicing is almost gone.
|
| I think that's true of any method of learning. I once took a
| class on a proprietary audio visual language, and a year of so
| later my manager asked me to write some control software using
| that language, and I basically had to start from scratch.
|
| On the other hand, I took Stanford's first MOOC Swift Class,
| and have been using Swift as my primary language ever since.
| parenthesis wrote:
| I find the learning something again for the second (or nth)
| time is at least easier than it was the first time.
| vxNsr wrote:
| Very much this. I'll take MOOCS read an article and then
| feel like I forgot everything only to have a much easier
| time "learning" it the second time when it becomes
| practical.
| elliekelly wrote:
| > anything that I haven't kept practicing is almost gone. I
| can't even remember most of the courses or books I've read.
|
| I don't think this is unique to MOOCs. I think this is a fact
| of life.
| dominotw wrote:
| scary to get treated by a doctor who forgot most of the stuff
| they learnt in med school.
| pvarangot wrote:
| That's why it's important to find specialists when you need
| actual treatment, because they are treating the same thing
| all over all the time.
| master_yoda_1 wrote:
| I agree we have thousand of very basic machine learning moocs now
| a days. people are wasting lots of time on them.
| utdiscant wrote:
| This is basically the reason we are building Eduflow
| (www.eduflow.com), a learning management system for active
| learning. Some things can and should be learned by a series of
| videos, but if you want to learn a real skill deeply, then you
| need to engage with the material in some way.
| compacct27 wrote:
| Anyone who's professionally coding right now has one super-
| effective option that's rarely talked about: Hire someone
| knowledgeable to walk you through what you're learning.
|
| I've been doing a heavy C++ project, and as a web developer, I
| was basically a walking footgun. I realized this early on, hired
| a total expert in the field (the guy has contributed to C++
| standards committees before), and am Loving how smoothly this
| project is going thanks to learning from him. It's incredibly
| fun.
|
| I pay the guy $150/hr in 10 hour chunks and get the most in-depth
| insight into what I'm doing, how to revise my code, what the code
| means in the first place, etc. It's perfect if you know how to
| code but find yourself in a brand new domain. I still learn
| outside of our hour-long mentor sessions, of course.
|
| Skip the MOOC, hire the teacher.
|
| ..and then also do the MOOC, honestly they're pretty great.
| squeaky-clean wrote:
| I like this idea, obviously I couldn't afford it for every
| thing I want to learn, but there are some topics where I can't
| really find quality tutorials/MOOCs/whatever and would be
| willing to pay to learn.
|
| How would one go about doing this? Was that person listing
| their mentoring services somewhere, or did you contact them
| directly?
| compacct27 wrote:
| I made a post on the C++ subreddit (r/cpp) asking for a
| mentor. Talked about the project and said I was willing to
| pay. Some people pointed me towards others (those people were
| too busy), but one guy reached out and had an online presence
| I could check out before deciding.
|
| The mods removed my post btw :/ apparently it was against the
| subreddit rules to ask for help. Found the guy before they
| could remove my post though, and here I am.
| lrossi wrote:
| Reddit is overly moderated, to the point that many
| communities do not seem friendly at all. The programming
| ones are a mixed bag. But others are worse. I was browsing
| recently a medical subreddit which was a support forum for
| a certain class of diseases, and people were using
| codewords to refer to banned names of various medical
| problems, to avoid having their posts deleted. It was
| ridiculous.
|
| For programming/tech related topics, I no longer use reddit
| these days, instead just read HN and some blogs. The
| community is nicer here.
| __mharrison__ wrote:
| There's a reason why top performers in any industry (CEO's,
| athletes, actors) have coaches. I can explain to you how to ski
| all day long, but if I get you on a hill you will learn many
| times faster.
|
| Coaching works (in programming contexts as well).
| boredumb wrote:
| I've been learning spanish for years via videos and it has
| gone a long way to show me how little I can learn from them
| by passively ingesting the information. I moved to a spanish
| speaking area recently and within a few months being able to
| really apply the knowledge (outside of duolingo or basic
| exercises) it has given me more understanding and confidence
| than years of more passive approaches.
|
| The knowledge is great and required, but being able to apply
| it, fail, learn, apply it, succeed is absolutely the fast
| track.
| omarhaneef wrote:
| This raises the question of your "learning workflow". I tried
| something similar but found I wasn't learning much and he (it
| happened to be a guy) was doing all of the work and I was
| barely engaging with it. We had a shared github account, he
| would do some work and then explain it to me.
|
| What is your workflow?
|
| (10 hours is a large chunk!)
| compacct27 wrote:
| Thankfully, mine's been the opposite. Idk your situation, but
| I had a well-defined project in hand before I found him. I
| had done some work on it already, even.
|
| When I took him on, my flow's been this: I do as much work as
| I can, get stuck, then he's there to pull me out of the mess
| I made. I learn a ton along the way, and he'll point out
| topics for me to research on my own.
|
| 10 hours is a large chunk, but it's lasted a full 2 months
| with probably a good month left in it. This project edits
| some PhysX engine code for an Unreal Engine-based game I'm
| making. The level of technical depth in it is beyond anything
| I've done before, so I pulled out the stops for it.
| omarhaneef wrote:
| Interesting. So you don't sit with him 10 hours at a time.
|
| You have him -- more or less -- on call when you get stuck
| for 30 minutes at a time?
|
| Or do you batch all the roadblocks you have, then ask him
| to schedule something at, say 10am, the next day. He looks
| at your git repo and the issues you have?
| compacct27 wrote:
| Oh for sure, I chunked out my payment essentially. Our
| calls last about an hour at a time, and yeah, I batch all
| my roadblocks. It's easy to have big c++ roadblocks that
| take a while to debug and explain, so it's a great fit.
| We jump on Zoom and screenshare, but he'll look at my
| github separately sometimes
| bdcravens wrote:
| Codementor.io is good for this. (most there are in the
| $60-100/hour range, and you can work in as small as 15 minute
| intervals)
| loosetypes wrote:
| Oh wow, this could be interesting for discussing system
| architecture or database schema designs before committing a
| large chunk of time to an implementating a solo project.
|
| If it's something you'll spend a significant amount of time
| building that could be well worth the price.
| Programmer12389 wrote:
| I agree with the advice of getting a tutor. I am working with a
| tutor who has a PhD in mathematics to teach me various fields
| of mathematics. Doing homeworks from textbooks with someone to
| check your work and answer your questions has been a tremendous
| resource. I used to post my questions online but having a
| personal tutor has accelerated my progress.
| UncleOxidant wrote:
| > $150/hr in 10 hour chunks and get the most in-depth insight
| into what I'm doing
|
| Yeah, it's... an option, I guess, if you've got the dough. Many
| of us don't have that kind of budget so we look for some of
| those experts who have blogs and youtube channels.
| bilbo0s wrote:
| I hesitate to throw this out here, because it goes against
| the "do it as a business" ethos here on HN. However, if you
| are really interested in some topic, why not trade your
| knowledge for the knowledge you seek?
|
| In centuries past, if there were a mathematician who wanted
| to know more about botany, it was the most normal thing in
| the world for him to contact a botanist interested in math
| and trade the knowledge. This usually involved one going to
| stay at the home/studio/estate/whatever of the other for what
| today would be considered a long period of time. The upside
| was that you could learn all you needed to know from what was
| as good a source as you were likely to ever find.
|
| If you think about a modern version of this model, you could
| get all the information you need on the subject you're
| interested in and it wouldn't cost you a nickel. We have the
| internet, they didn't. Might even get a pretty good friend
| out of the deal.
|
| Of course you need knowledge to trade, and pretty deep
| knowledge at that. At the same time, if there is an arborist
| out there looking to learn programming, and you have heaven
| only knows how many fruit trees on your property, what do you
| have to lose by checking his/her clients for references? You
| can teach him/her programming. They can teach you what you
| need to know to care for your property. You guys can each
| contact each other's references to make sure you're actually
| experts in your respective fields. There doesn't seem to be
| any risk in trying? (Unless I'm missing it?)
|
| It just seems a really easy fix to the money problem. And you
| can access knowledge from everyone from arborists and
| physicists to dance teachers and electric motorcycle
| engineers to international development experts and nanotech
| engineers. The sky would be the limit.
| titanomachy wrote:
| But this problem is exactly why we invented money in the
| first place... If I'm an interventional radiologist and I
| want to learn algebraic topology, what are the chances of a
| coincidence of wants? How many algebraic topologists do you
| think there are in the world who will trade their time for
| a chance to get better at placing arterial stents?
|
| On the other hand, I can basically guarantee you that
| someone somewhere is willing to pay money for an arterial
| stent, and somewhere else there is a world-class expert
| mathematician who will accept money in exchange for
| tutoring.
| compacct27 wrote:
| That's totally fair, this guy is on the higher end and this
| is the only project I'd be willing to pay that for.
|
| You can find one for less, though, if you ever find yourself
| wanting one. Mentor.io is a good place for it.
| commandlinefan wrote:
| I'm trying to figure out what I know well enough to charge
| $150/hour to teach people now...
| pvarangot wrote:
| I've charged that rate and it's usually veeeery niche
| knowledge that somehow seems to combine more than 10 years
| of experience. Like I worked in information security and
| aerospace and am a C/C++ coder and someone is thinking
| about a software product that's a C++ library for securely
| communicating with satellites.
|
| I'm usually contacted by engineers or companies that do
| market surveys and have the detailed knowledge of my
| background, so doing a lot of those (which are usually also
| compensated at like 40 to 60 per hour) pays off.
|
| I haven't been able to engage in any of these for two years
| now because I moved to the US on an H1B visa, but the
| offers still keep on coming. I got like five in 2019 and
| two in 2020 and I had to say no.
| hirundo wrote:
| How did you connect with your expert?
| compacct27 wrote:
| Made a post on the c++ subreddit asking for a mentor.
| Described my project I wanted help on and said I was willing
| to pay.
| miccah wrote:
| Mentors are definitely a great resource! Of all the learning
| activities I have tried, having a real person to talk to and
| ask questions has been the most effective and motivating.
|
| For those who want an easy (and free!) mentor system for
| learning various programming languages, try Exercism [1]. I
| have been using it to learn Rust and Clojure.
|
| [1] https://exercism.io
| afterwalk wrote:
| I personally alternate between taking courses and doing projects.
|
| Doing all MOOC is bad for some of the reasons the articles
| covered. But doing all projects is also sub-optimal because
| sometimes it is hard to know what you don't know. Balancing
| theory and practice works the best for me.
| gennarro wrote:
| Pretty serious title mismatch here.
| compscistd wrote:
| I think MOOCs are great for the thing you've been sorta kinda
| interested in but didn't know where to start. Around the 0%-20%
| background-info ballpark. For me, my most successful MOOCs have
| been:
|
| - CS50 at they very beginning of my career ~2015 that brought me
| to the fundamentals of CS and all that it can do in a very fun
| way.
|
| - Jazz Appreciation from UTAustin
| (https://www.edx.org/course/jazz-appreciation-3). I lived near a
| Jazz club and I often heard snippets of performances while
| walking by, but I felt like I needed a music background to really
| appreciate what I was hearing. I randomly spotted this course and
| I learned which eras of Jazz I like best, common themes in music,
| common instrument combinations, and the final project encouraged
| me to go listen to Jazz myself. It's become a fun part of my life
| in a way that a short YouTube intro or just walking into the club
| wouldn't have been able to inspire. Part of that was likely the
| predefined path it offered and Jeffrey Helmer's enthusiasm for
| teaching the course.
|
| Ultimately, MOOCs can very well be a way to procrastinate on a
| professional or personal level from just diving into the thing
| you already have the basics for. But it can just as easily be a
| way to open you up to something you never thought was in your
| wheelhouse in a structured path. Blog posts, documentation, and
| most YouTube videos are too static to serve an absolute beginner
| that needs questions answered early, consistently, and
| frequently.
| lsalvatore wrote:
| This is as ridiculous as saying "Stop watching videos".
| Everyone's online courses and video content is completely
| different and unique to their level of experience. Most online
| courses hold your hand through building a project: that's a good
| thing, for those who want that content.
| culopatin wrote:
| As a noob, I feel this.
|
| The weird thing is that I am very well aware that tutorials only
| feel good because I see progress, but that progress is empty. I
| am aware that confronting a personal project really settles that
| knowledge in, but I still postpone personal projects whenever I
| think "I don't really understand what this means, maybe I should
| just finish that online course and I'll be ready".
|
| Also fighting perfection over progress is tough. "This is not the
| best way of doing it" is constantly in my head when trying to do
| thing, which is mental space that could be used towards figuring
| out the next step.
|
| But I finally started, as stupid and useless as it may sound, I'm
| just making a counter in Java that stores that in a MySQL
| database.
|
| Why? Idk, I am learning how to connect my program to a DB, the
| quirks to learn from that, and then I plan on doing this from a
| browser. I also plan on trying SQLite because MySQL is overkill,
| and so just by doing this simple thing I learn a bunch of things
| going down the rabbit hole.
|
| Does anyone need an app with a button that just adds a number to
| a row? No, but the different aspects of getting that to run with
| no errors are what's important to me.
| theastrowolfe wrote:
| > Fighting perfection over progress is tough.
|
| I agree. The struggle is real when trying to learn the "right"
| way to do something. However, progress can still happen (even
| if it is in the "wrong" direction). I'm okay scrapping a
| feature or even an entire project when trying something new.
| I've learned how not to do something and, more importantly, the
| reason behind that.
| [deleted]
| lamename wrote:
| You may be a self-described noob at whatever you're learning,
| but it's clear from your outlook that you've had substantial
| work or life experience to understand complexity as a general
| phenomenon (i.e. expecting unexpected errors, requiring depth
| of learning in yourself).
|
| Incremental custom projects is a good way to learn -- not
| everything has to be "useful for others", especially where
| learning and practice is concerned.
| MauranKilom wrote:
| I find the most important thing when learning anything new is a
| "safe harbor" to explore from. That's why "Hello world!" is so
| fundamental. And that's why a counter stored into a database is
| _one of the biggest steps you can make_ - you 've wedged the
| door open and it can't possibly fall shut again. Everything
| else is incremental from there. And if something doesn't work,
| you know you can just go a step back and reassess, without
| starting from zero. Writing code is beautiful like that.
|
| I wish you many productive struggles and subsequent successes
| in your journey!
| dceddia wrote:
| Love it, I think that's a great approach. Build a bunch of tiny
| "stupid" things of increasing complexity and before long you'll
| step back and realize how much you've improved. I trying to
| instill this in folks as I teach React - rather than building
| some portfolio masterpiece out the gate, do a bunch of little
| fun things to build skills and confidence.
|
| The trouble with any of this stuff is that no
| course/book/tutorial can prepare you for every eventuality, and
| sooner or later you're going to want to do a thing that nobody
| explicitly taught you, with a combination of tools that differs
| from any tutorial you can find. I think building up skills in
| the way you're doing it is great preparation for that
| eventuality.
| christiansakai wrote:
| I keep seeing some of my LinkedIn social circles people posting
| their "Just finished <insert X> course". It is delusional. They
| hope to get noticed by people thus offer them a job?
|
| Sometimes I just out of curiosity go into their profile to see,
| and true enough, all of them are unemployed and have too much bs
| on their LinkedIn.
| chrisaycock wrote:
| MOOCs are for introducing a _new_ topic; they can 't make you an
| expert in anything.
|
| I like the occasional (as in, literally once a year) MOOC to see
| something completely outside my specific profession. But the only
| way to get good within my profession is hands-on activity.
|
| It's similar to reading HN, or even ACM/IEEE articles. All of
| that stuff is for seeing _new_ material, not for getting better
| at my bread and butter.
| dimmke wrote:
| I love the concept of "Just-in-time learning". I think it applies
| to other things too.
|
| In my personal life is when I am working on a large scope
| project, I tend to try to anticipate every single thing that I
| will have to do up front. But I've found I always miss something
| or misunderstand a requirement. It's way more efficient to just
| do things as they come up, and I'm trying to switch to that
| method more often.
|
| I definitely relate to taking some kind of programming related
| course and they teach you about something you will never use,
| that people rarely use in real world scenarios, but there's still
| a pressure to make sure I fully understand it.
| commandlinefan wrote:
| > You just need to know enough to start; the rest you'll pick up
| along the way.
|
| Hmmm... I guess that's technically true (and eventually you do
| need to start), but I've seen a lot of people continue to code in
| very inefficient ways because they actually don't know that a
| better way even exists. If you're not starting because you're not
| done learning, you're probably not doing it right, but if you're
| done learning because you've started, you're also not doing it
| right.
| jonnycomputer wrote:
| For me the problem really is this: I want or need to do X, and to
| do that I need to know Y, which is a subset of knowledge domain
| Z, and I only really have time to learn Y. Sometimes I can get
| away with learning only Y, but most of the time not spending all
| that time learning Z means I've only thought I've learned Y, and
| as soon as something doesn't work as expected, I'm stuck.
|
| What I miss is what I (almost) had in college: the chance to
| learn in depth not tied to a particular instrumental outcome.
| [deleted]
| tropicalrun wrote:
| I'm curious what people here think about building projects in
| remote teams as a strategy for learning software developer
| skills? Could also apply to other related roles like UX/UI
| designers, product owners, etc.
|
| Specifically, after a certain base skill level has been reached.
| Also, these teams would include deadlines, navigating git/github,
| time management, communicating with others, etc.
|
| Full-disclosure: I'm a part of a community / startup that
| organizes such teams for learners. I don't want to be spammy so
| will refrain from saying the name. It actually grew out of a MOOC
| forum to help with some of the issues mentioned in OP's article.
| It ran for about 3 years free as a time-intensive side project,
| but switched to paid to reduce another common MOOC issue
| (ghosting).
| AzzieElbab wrote:
| IMHO there are not enough advanced courses online and way too
| many beginner ones
| jamses wrote:
| I found early-on that MOOCs were terrible for learning because of
| the barriers they put up. Locked-in time schedules, a trend
| towards very short "bitty" and simplistic videos that don't tend
| to offer any direction when they're done.
|
| Youtube lectures on the other hand have been immensely valuable,
| especially if you can find a relevant (university) reading list
| and/or problem sets if they're applicable. All you really need as
| a self-learner is someone to say "head in this direction". After
| that I agree with op that finding something fun to do is the best
| way to learn.
|
| On an aside, as a text highlighter (I highlight the text I'm
| reading), the javascript "tweet this" pop-up on this site is
| horrific.
| duxup wrote:
| As someone who was largely self taught in the past 3 years, my
| biggest frustration with learning on the go online has been the
| flexibility of the code / lack of contest with free online
| resources.
|
| Yeah if I google how to build a widget to add to an application,
| I can find that. However, the widget is often so tightly coded
| that it couldn't ever be useful, it doesn't fit a given pattern
| or concept... it's JUST that widget.
|
| A widget that just adds +1 to a thing (an admittedly contrived
| example) might do the job for what I googled, but oh so often it
| is inflexible and doesn't really teach me much about WHY it was
| coded the way it did... it just produced an outcome that I
| googled.
| yonif wrote:
| This post seems to be addressing a specific phenomena and I tend
| to agree. I don't see the point in doing more than 1-2
| introduction-level courses.
|
| I'll take this chance to recommend 2 phenomenal free MOOCs: 1.
| Nand2Tetris[1] which really nails giving the realization (of not
| understanding just HOW MUCH) complexity there is in the layers
| upon layers of abstractions programmers use.
|
| 2. An introduction to Logic[2] via programming course (by one of
| the authors of the previous MOOC, Noam Nissan), which introduces
| logic (an overview that ultimately ends with Godel's
| completeness/incompleteness) in a relatively (to the rigorous
| math) approachable manner. The one caveat is the book is still a
| work in progress, and it has many parts that are not well
| written.
|
| [1]: https://www.nand2tetris.org/ [2]:
| https://www.logicthrupython.org/
| nickjj wrote:
| I can't speak for how other folks run courses but to me the value
| of a course is a combination of having well tested code to use
| and access to full time support.
|
| If you bought a course on how to develop X with Y web framework
| and the course comes with lots of well written code, high test
| coverage and was extracted out of multiple real world projects
| that's basically buying a time machine because it might take you
| 6+ months to write the same code from scratch and you won't have
| the insights gathered from years of practical experience. Or even
| worse you might never get started because you get trapped by
| information paralysis.
|
| I know a few people who have taken my
| https://buildasaasappwithflask.com/ course and built very
| successful businesses in less than a year. One of them is making
| $90,000 / month and initially spent like 4 months customizing the
| code from the course to do what his service needed to do.
|
| Note: The TL;DR on the above course is it's not a course on how
| to find a SAAS app idea. It's focused on how to build the SAAS
| app itself using Flask, Docker, Stripe, etc..
| agumonkey wrote:
| I agree that MOOCs are very removed from the reality of building
| something. The unknown territory, the false starts, the unknown
| unknowns, gradual refinements, new requirements.. It's a whole
| different field in itself. Which is adult/pro life I guess.
|
| It also leads to a vastly different feeling, it's not knowing for
| the sake of knowing, it's know-how. It has social value.
|
| ps: this brings a question, is there a way to teach that
| knowledge beside jumping in the pool ?
| ksm1717 wrote:
| Everyone knows these are 90% for credential building vs skills,
| why are they desirable for hirers? I feel like it creates some
| self fulfilling prophecy of "these credentials are useful because
| other people have them".
| somerandomqaguy wrote:
| Easy to create keyword filters for when sifting though many
| resumes perhaps?
| wayeq wrote:
| Just knowing the basics and then diving into tinkering risks
| wasting a lot of your time making mistakes that other people have
| already made and learned from.
|
| If the point of the article is "don't do online course at the
| exclusion of everything else", that is just common sense.
| mariodiana wrote:
| If you find a really good tutorial by programmers who are both
| excellent teachers and experienced in that particular field, it
| beats JIT learning on a personal project in one important
| respect. You get exposure to the One True Way of doing things.
|
| What do I mean? Years ago, I learned to program iOS from the Big
| Nerd Ranch book. The most important thing I got out of that was
| learning enough about the Cocoa-Touch framework that I didn't try
| to fight the framework. You don't get that from JIT learning. How
| could you?
|
| That said, at the end of the book the authors urged the reader to
| go and write programs -- that that was the only way to learn,
| after mastering the fundamentals.
|
| A beginner should place his or trust in an expert. The reason is
| that the big mistake beginners make, not knowing the
| fundamentals, is convincing themselves way too early that they
| have now grasped the fundamentals.
|
| I don't think the author and I are at odds. I agree a person can
| get too comfortable with MOOCs, YouTube courses, etc. But at the
| start, there is no substitute. And the start lasts longer than
| you may think.
| julianlam wrote:
| > But at the start, there is no substitute. And the start lasts
| longer than you may think.
|
| Don't worry, he explicitly says this at the top.
|
| > Don't get me wrong, I love MOOCs. They're great for trying to
| learn a new programming language (e.g., Python, Scala) or
| framework (e.g., Spark, TensorFlow) or subject (e.g.,
| statistics, machine learning). The structured learning
| environment, excellent teaching, and exercises (and solutions)
| guide us through the best way to learn new concepts. > >But
| most of the time, we don't really need it. If we already know
| machine learning, taking that shiny new MOOC won't help with
| applying it more effectively.
| VBprogrammer wrote:
| As with so many things in life the best way probably doesn't
| live at either extreme. Often times I'll read about a subject
| and not fully understand it (and probably not even take the
| extra time to fully understand it) but when the problem comes
| up organically a light bulb goes off and I at least know what
| I'm googling for at that point.
| Balgair wrote:
| > If you find a really good tutorial by programmers who are
| both excellent teachers and experienced in that particular
| field
|
| For me at least, there is an over-abundance of thickly-accented
| English-speaking Indian people playing specifically trap music
| in the background, when it comes to 'good tutorials'. Not by
| any means a majority, but they punch well above their weight-
| class. It's so very odd, but they really do know how to guide
| me on what it is that I need a hand with.
| krmmalik wrote:
| Continuing on with this train of thought, I agree with you. I'm
| not a programmer but I once had to learn how to use networking
| software for real world implementations, things like
| mailservers, firewalls etc etc. I did a fair bit of JIT but
| finally got hold of some courses for each piece of software.
| The bump in my knowledge and understanding was raised by a few
| orders of magnitude that almost 15 years later has still stuck
| with me. It's about funding the right expert as you say. The
| right person is invaluable.
| abcdabcd987 wrote:
| > If you find a really good tutorial by programmers who are
| both excellent teachers and experienced in that particular
| field, it beats JIT learning on a personal project in one
| important respect. You get exposure to the One True Way of
| doing things.
|
| That's exactly my feeling when I was watching Jon Gjengset's
| Rust tutorials. I like his real reactions to unexpected
| problems. Really learned a lot from this kind of lengthy but
| realistic videos.
| https://www.youtube.com/c/JonGjengset/featured
| ziml77 wrote:
| This is the main reason that I still like proper books over
| quick tutorials. It's easy to end up fighting platforms and
| frameworks to make it do what you want. If you know the
| patterns and available features, it's less likely that you'll
| face the same levels of friction.
| serjester wrote:
| The counterpoint is if you dive right into a project and make a
| bunch mistakes it'll stick a lot more when you learn the
| "proper" way.
|
| Students not understanding "why" something is done a certain
| way is the downfall of countless courses. But unfortunately,
| more often than not, you're not in a position to understand why
| people tell you to do X until you've personally done Y.
| Gys wrote:
| MOOC in case you were wondering like me:
| https://en.wikipedia.org/wiki/Massive_open_online_course
| elaus wrote:
| I wish articles would at least explain acronyms the first time
| they're mentioned. Just putting the full form in parenthesis
| would go a long way and not disturb readers that already know
| them.
|
| Maybe it's because I'm not a native speaker, but I have never
| heard of MOOCs before - and I'm consuming a lot of content in
| English on a daily basis (e.g. on HN).
| [deleted]
| uberswe wrote:
| I'm a native speaker and I had never heard of it before
| either. From reading the title I thought this was about
| creating content and teaching others programming since MOC
| sometimes stands for My Own Creation.
| MauranKilom wrote:
| Plea for future article writers: It won't kill you to hyperlink
| the first occurrence of acronyms ( _especially_ titular ones)
| in the block text. Those ten seconds will not only save
| hundreds of readers time (even if they only mouse over the link
| to see the expansion in the Wikipedia page title). It will also
| prevent readers opening your article, seeing the same
| unexplained acronym mentioned every second sentence and
| deciding that a google search with an unknown amount of
| "figuring out which of all the results matches the article
| context" is not worth their time.
| EL_Loco wrote:
| JIT in case you were wondering like me:
| https://en.wikipedia.org/wiki/Just-in-time_learning
| felixr wrote:
| Thanks. I understood JIT == just-in-time because the acronym
| is used for https://en.wikipedia.org/wiki/Just-in-
| time_compilation But I did not realise it was actually an
| established acronym for learning, too.
| bserge wrote:
| It's also used in manufacturing:
| https://en.wikipedia.org/wiki/Just-in-time_manufacturing
| ghaff wrote:
| I'm guessing that's where it started. It was/is part of
| the whole lean manufacturing revolution.
___________________________________________________________________
(page generated 2021-01-27 23:01 UTC)