
Online courses vs. colleges for software engineering - cplat
https://www.raahul.me/posts/online-courses-vs-colleges/
======
anon1m0us
My friend dropped out of college. My girlfriend is _in_ college. I was talking
about how she has a few years left and he starts shaking his head. "I just
don't get it. So long and for what? To get a job?"

When he dropped out of engineering school he went to manage a restaurant. Made
good money. Then started to build a house. Quit that too. He _almost_ had
occupancy on it and said, "I'm done. I'm out."

That's _also_ what college is about. If you come to me looking for a job and
didn't go to college, why? Did you drop out? Why? Do you not think learning is
important? Do you not understand sticking it out until you have accomplished
the goal?

Do you _give up_ before you are through?

Not only that, but of course, I meet folks all the time who think "you don't
need a degree to be a programmer." Sure. You don't need a degree to put Ikea
furniture together either. I don't need programmers. I write programs to write
programs. I need folks who know how to _think_... for _themselves_ and _learn_
and go out and find knowledge they need to solve problems and then solve the
problems.

Until they are _done_ solving the problem.

Not until they've given up.

~~~
gowld
Weird comment. You can get a college degree just for showing up.

Do you have a PhD, or did you give up? Do you have a high school degree, or
did you give up? Do you still work at the first job you ever had, or did you
give up?

~~~
povertyworld
I wish my Computers and Society professor got the memo that you can get a
degree just for showing up. Could have skipped that 20 page paper on software
patents.

~~~
deburo
I basically just went to courses and put barely any hours outside classes and
got my paper. That's what's meant by just showing up.

~~~
astura
Dunno where you went to school (liberal arts college?) but most programs are
NOT like that, my degree required 30+ hours a week on assignments outside of
class.

I found the material and tests straightforward but you absolutely needed to
put in significant time to complete the assignments.

~~~
mcguire
Quite possibly one of the new crop of for-profit schools.

~~~
learc83
If it's an unaccredited school, then I sure I can see that.

------
o10449366
The real take away is that structured exercises and projects are both a great
way to develop and display your abilities and being able to demonstrate these
is more important than holding a credential within the tech industry.

The barrier to entry for most people to tech jobs isn't whether or not they
can get interviews, it's whether or not they can pass the technical assessment
that's become a standard part of the process. In other industries, GPA, school
rank, highest degree earned are hard pre-reqs to _inteviews_ , even for entry-
level jobs. That isn't necessarily the case in tech.

I work in a field that falls under the "data science" umbrella and I take
issue with a lot of online courses compared to traditional education because
almost all of them overpromise and underdeliver and take advantage of naive
students that don't know any better. I can't tell you how many applicants I've
interviewed that list dozens of online certifications for this and that skill,
but can't demonstrate any knowledge of it when asked or assessed.

Just my $0.02, but online tech courses and degrees are akin to the MBAs of a
decade ago: exploitive, expensive, and often entirely unnecessary. I would
still hold that a technical computer science degree from a 4-year university
is worth it, however, for the benefit of being in a collaborative learning
environment with peers (Note: That doesn't mean you have to go to Berkeley - I
went to a top 50 state school and got the same education and job opportunities
as all of my friends that went to top 10 schools, but I graduated with a
positive net worth.)

(Disclaimer: I know there are always exceptions to everything. I have
generally heard very good things about GT's courses - Udacity's I'm more
skeptical of.)

~~~
gowld
Berkeley is a state school.

~~~
o10449366
You're right! I didn't want to delve into it too deeply, but for me and my
friends who weren't CA residents the tuition was extremely steep, even after
certain scholarships/aid. I think people in the US don't consider their state
schools enough when looking into getting a college education. Again, my public
school's CS department was ranked top 50, which certainly isn't the worse in
the US, but it isn't prestigious either. In the end, the prestige didn't
really matter in terms of getting job opportunities compared to my friends
that went to much higher ranked schools.

------
nickjj
I think it really depends on what you're trying to do and learn.

Lots of folks who have taken my Flask course[0] said they learned more about
web app development in 10 hours of self paced videos than they did in 4 years
of university. Lots of them felt like they finished the course really knowing
how to build something, and many of them have gotten hired for work shortly
after.

But the course doesn't touch algorithms or any theory around computer science.
It's just 10 hours of exposure to building a real SAAS app in stages.

I personally believe experience trumps almost everything and courses can be
very good for people who consider themselves self guided learners, because you
always have the power to research the theory while treating it as something
that's on a need to know basis. Taking a course on a specific subject lets you
focus your time on the exact thing you're trying to accomplish and some course
instructors also provide free support (I do), so you always have an out or 2nd
set of eyes to help get an answer for things you can't figure out alone.

I never went to college but I do sometimes regret missing out on the social /
networking experience, but I have no regrets about taking a self guided
approach to web development for the last 20 years and I'm happy with how
things turned out.

[1]:
[https://buildasaasappwithflask.com/](https://buildasaasappwithflask.com/)

~~~
sciencewolf
Echoing this sentiment of:

Motivated real world exposure > real world exposure > motivated self education
> traditional education

As someone who mindlessly "self taught" through tutorials, then did half a
bootcamp, then did a MSCS-- none of those things were anywhere near as
transformational for me as a dev than my first year as a software engineer.

But of course, building AlgoDaily has probably taught me even more than the
many years of work at this point, purely because there's been a strong
impetus.

The "need to know" basis is huge. I think with a strong enough "need to know",
any method works.

------
MarkMc
Traditional universities have 3 advantages over online course providers like
Udacity, Coursera and Khan Academy:

1\. They act as a coach: The professor and your peers expect you to attend
lectures. The assignment is due by 5pm on Wednesday. If your performance isn't
satisfactory you will be dropped from the course.

2\. They get better feedback about their teaching. If half the students can't
do the assignment on a particular topic, the professor can schedule catch-up
lessons. Watching a group of students struggle with a question can give
valuable insights about how to teach that topic effectively.

3\. They act as a high-quality filter: Only high-quality applicants will be
admitted to the university course, while anyone can pay $10 and start doing a
Coursera course. The university also offers the opportunity to become part of
a valuable alumni network.

(Some online bootcamps like Lambda also have these advantages because they
insist on strict online attendance and are willing to drop students who don't
put in the effort)

~~~
cplat
The 2nd point really resonates with me. I was reading this book called
“Ultralearning” and feedback was one of the biggest points mentioned there.
People who get prompt feedback can immediately use it to learn from
experience. People who don’t have to keep guessing of what they’re doing is
right or wrong.

~~~
newguy1234
I agree as well. I've noticed that most of my learning simply consists of a
series of "trial and error" repeated.

------
semireg
Learning complex subjects is often uncomfortable. For me, college was the
start of becoming comfortable with feeling stupid while learning. You learn to
learn. You learn what parts of learning are normal.

I started college in 2001 as a computer science student and didn’t “finish”
for over 10 years because of job (sysadmin for university) and consulting
opportunities (travel). I’m glad I finished because it’s behind me and I don’t
need to think about it any more. I still have the common nightmare of not
knowing where my final exam room is located.

Anyways, I am a big fan of online courses. In early 2000s I had learned and
built many PHP sites and started with Rails. There were no classes/courses on
PHP or rails!

Fast forward to early 2010s and I find myself watching Stanford’s iOS
development courses. I leveraged the knowledge to become a successful mobile
app developer consultant.

A few years ago I purchased a handful of online courses on React/Redux. With
that knowledge I’ve built a successful Electron JS app available on app
stores.

These successes are not because I’m smart. It’s because I have a high
tolerance for pain and boredom. When I see a challenge I keep digging at it
until it’s solved.

Protip: Watch lectures at 1.5X speed (2X if review). Anything slower and my
attention becomes highly distractable.

------
jaequery
It’s quite simple really. There are some careers where you can learn and
advance far more on your own.

Software engineering is one of them. The amount of tutorials and videos
available on the internet far surpasses any curriculum at school.

But on the other hand, anything that requires hands on training that you can’t
get at the comfort of your house, like medical or scientific careers, those
you probably need to go to a school for.

Further more, in terms of software engineering, I don’t think the school
system can ever keep up with the fast pace of the tech world. It’s just a
rigid system and too slow for anything fast changing, like the web/app
development.

~~~
cplat
[OP here] You're right. I actually did my bachelors in Electronics and
Telecommunications engineering, which can only be done in college because of
the expensive equipment required to learn anything of value.

------
cgearhart
Interesting take. I am a graduate and former TA in OMSCS, and used to work at
Udacity building Nanodegrees (worked on ML & AI mostly). My experience is from
a different perspective than the article, but I appreciated the differences
without disagreement.

What I found in my time in both environments is that Nanodegrees appeal more
to students who don’t have access to traditional education (college is too
expensive, or grad school requires an undergrad degree, etc.). That makes most
MOOC students less experienced, less qualified, and higher risk (in the sense
that they mostly don’t have the profile of successful college students).
Udacity, et. al., then appear to have a very important role to play in
satisfying the need for education unencumbered by academic gatekeeping.

But the _other_ constant undertone in the MOOC community is the “get-rich-
quick” crowd who expects a Nanodegree to make them a 6-figure AI engineer in
three months at 5 hours per week. The dirty secret is that we already have a
fast-paced learning environment that can give you a good crash course on the
required core skills to make you a useful apprentice: it’s called “college”.
It’s arguable that the typical BS could be abbreviated a bit or focus a bit
more on “job-ready” skills. But I think the time required for most people to
get there is much closer to a 48-month BS than a 4-month Nanodegree.

The other dirty secret is that no one wants to hire you as a junior developer
at SV rates if you don’t have experience and need a visa or want to work
remotely in your low CoL hometown. Unless you already have strong
qualifications, you’re fooling yourself if you think an ND or Udemy course is
gonna help you break into Google as a fully remote worker.

~~~
barry-cotter
> It’s arguable that the typical BS could be abbreviated a bit or focus a bit
> more on “job-ready” skills. But I think the time required for most people to
> get there is much closer to a 48-month BS than a 4-month Nanodegree.

A US Bachelor’s is not 48 months, at most 9 months a year is spent officially
studying, the rest is holiday. That would be 36 months. If we pretend the
average student treats it as seriously as a full time job, ignoring all
research on how students spend their time, we can still cut that 36 months in
half, because half of the average US Bachelor is general education with no
professional impact. That’d be 18 months.

If we want to look at the real world for examples we can see the UK, where
most Bachelor’s are three years, with the extensive breaks and holidays you
have in the US, but two year, full time, non stop degrees exist, or at Lambda
School, which takes nine months to turn people into software engineers. They
also demand more and more consistent work than well over 90% of university
courses.

~~~
matwood
> A US Bachelor’s is not 48 months, at most 9 months a year is spent
> officially studying, the rest is holiday.

I went to college year round as it was the only way to balance my work
schedule. I was a minimal full time student during the typical semesters and
took classes all summer.

> because half of the average US Bachelor is general education with no
> professional impact.

I disagree. The general education is probably what everyone should go to
college to learn. Reading and writing (communication) is the basis for almost
every single job a person may have. It's also a skill that lasts forever. When
I was in undergrad I took random business courses for my electives. I still
use and have built upon concepts I learned in economics, finance, and
accounting.

------
ineedasername
I work in the realm of higher education analytics. My comments here pertain to
undergraduate students:

For the vast majority of students, online courses are not a good vehicle for
learning. Not because online courses are, in themselves, ineffective, but
because success in them requires a much higher degree of internal motivation.
Without the structure afforded by the traditional classroom experience, a very
large number do not engage with the coursework, especially beyond the first
week or two. We see a rapid drop off in activity & assignment completion.

------
d-d
This article is about learning, but the context seems to be about landing a
job. Software jobs are all about who you know. People who know people get
waved past all the red tape. The truer purpose of education is relationships
not knowledge. This is why there are high school dropout senior engineers
ordering burgers from CS grads. If you're in it for money, you're less likely
to build relationships. This is why I'm genuinely concerned for all these
people stampeding towards CS. It's gonna be ugly in 5-10 years IMO.

~~~
wmp56
For a new hire, it's more about standing out of average: github projects and
all that. At that level connections are same CS grads that can't help much
with landing a job. 10 years down the road it's more about connections with
people from past gigs. Being a former roommate with someone in college is of
no little help: unless that connection has been maintained, it's gone, and
even if it's been maintained, that reference is of no help unless you worked
together.

------
wmp56
For me college was only useful to learn math, while everything I know about
programming I learnt myself. Technically, everything I learnt about math I
also learnt myself, but there was an important difference: math courses were
structured in a particular way, as a sequence of topics that build on previous
topics, and I had to pass exams on those topics, while learning programming
was unguided. I don't use math at work, but math completely changed the way I
think, and that happened during the first year in college. By "completely
changed" I actually mean a substantial meaningful change in my thinking
process. I believe, that the same result can be achieved by reading and
_proving_ all the theorems in the calculus: the end result should be
understanding how the notion of integrals is derived from the definition of
numbers and the ability to actually derive it on paper (since just
understanding often misses small details that change everything).

As for my programming skills, I can safely say they are top 1%, as I can often
ignore inquiries from say FB HRs. Yet I learnt everything myself. Without
math, and without that structured way of thinking that's required to prove
theorems, I wouldn't be able to get to the CS fundamentals, and my CS
knowledge would be very shallow. There were a few CS teachers in college, but
even then it was obvious to me that they don't know much and they had to cater
to the least able students in the group anyway. I don't see a way to bring
highly skilled and competent CS teachers to college: those who really know
programming and have interest and ability to deal with people, often make
500k+ a year with very relaxed work hours - there is simply no incentive for
them to bother teaching CS to (mostly uninterested) kids in college. And those
who do teach CS in college as their full time job don't know much about CS,
simply because gathering that knowledge is a separate full time job.

Edit: so online courses or college? Neither. You only need a book that
thoroughly explains fundamentals and will to go thru it. Not enough will? Then
you need a teacher whose only job will be to assess your knowledge twice a
year in the form of some exam. Both online courses and college are too slow: I
could honestly finish a masters degree in 1 year if I could avoid wasting time
on all the fluff.

~~~
tanyatik
> As for my programming skills, I can safely say they are top 1%, as I can
> often ignore inquiries from say FB HRs.

Oh man, I wish this was an accurate measurement of programming skills :D

------
timzaman
I like to think of (software) engineering as a craft. Obviously the most
effective way to learn something is by doing. The best way to get going and
help you jump hoops and level up is having a mentor, or friends to talk to.
Master/apprenticeship is old-fashioned but highly effective. All courses I've
seen are boring, uninspiring and often ineffective, as it's often hard to
relate them to a real problem you might have. Having real problems make you
learn really fast.

------
omouse
The conclusion is sound, the assignments reinforce learning through multiple
and repeated usage of the various skills needed to complete them. The lectures
and notes and readings are there to give a foundation and to be a reference to
some extent. However, it's difficult to say that the only useful part of these
courses are the assignments...

>The best way to learn is to do your own experiments. Once understood, that
understanding lasts a lifetime. Facts can change, but the governing rules, if
deciphered, won’t.

I recommend to all software developers that they join the ACM (Association of
Computing Machinery). This gives you access to computer science papers which
are the foundations and the governing rules. There's also access to Safari
Learning which gives you access to the latest books and video courses:

[https://www.acm.org/membership/membership-
benefits](https://www.acm.org/membership/membership-benefits)

It costs a few hundred bucks a year and I've learned more in reading random CS
papers and having access to great books and video courses than paying for many
courses.

------
itamarbd1
If you want to create web apps go to online courses.

If you really want to understand how machines work, how strings work.

How distributed computing works

How databases work

How to program efficient string search

How regular expressions work

How to represent problems well for example in graph

How statistics works

How to analyze problems

How to read papers

How to be able to learn anything by your own

And the list goes on and on

It's all in real college University courses no online course would give that
to you.

You have to focus on theory of math and cs for a couple of years and stretch
and train your mind.

~~~
tracer4201
I’m a senior engineer at one of the big tech companies. Sharing that because
that’s all I have to back my opinion.

I don’t agree with you. I don’t think you need a four year degree for these
concepts. I think many of the concepts you outline are very critical
especially as you work on larger and more complex systems. However I’m not
even convinced college does a good job at teaching these concepts. College
introduce me to some of them but didn’t actually help me build any intuition
at all. I regurgitated the things my professor said and that’s how I pass
through my courses with straight A’s. I didn’t really understand distributed
systems until I worked on them. I didn’t really understand them well until I
read about distributed systems not from a textbook but by other people who had
worked on them and this was mostly online papers or YouTube videos or
conference videos where are companies presenting on their lessons learned.

I think the course of the classes you need for a computer science curriculum
such as data structures, algorithms, operating systems, networks, languages
and compilers, databases and distributed systems - These can all be self
taught. I’m not convinced a four year degree that’s full of fluff with various
elective courses adds any value.

~~~
jki275
You can literally read four books and get all those concepts. You won't be an
expert in them, but taking a college course on them won't make you one either.

------
bradcrispin
Ohai HN! I lead product and engineering for services and the project reviews
system at Udacity - seeing this post gives me a lot of purpose to go to work
on Monday. We are hiring engineers who are passionate about changing
education!

Frontend engineer on my team:
[https://boards.greenhouse.io/udacity/jobs/4320541002](https://boards.greenhouse.io/udacity/jobs/4320541002)

All open engineering positions: [https://www.udacity.com/jobs#engineering-
it?location=all](https://www.udacity.com/jobs#engineering-it?location=all)

~~~
_4570
Just curious- Would you hire someone with only an online certification in
programming to an engineering job at udacity? (As a junior/intern)

~~~
cameronwp
Not the OP but I can tell you about my experience. I used to work at Udacity,
both on engineering and content creation.

We for sure had engineers who were self-taught / learned using online
resources (myself included). In fact, I hold zero certifications related to
programming.

Over the years we recruited and employed a handful of engineers who pretty
much learned everything they knew about programming through Udacity courses.
Frankly, I always felt it was a very supportive environment for non-
traditional engineers :)

~~~
_4570
Very cool. Thanks for responding :)

------
hindsightbias
There was some link a few weeks back about the low completion rate for some
online coursework being abysmally low.

This is HN, I would expect a hundred anecdotes from those who have succeeded
against the traditional educational system in CS.

But are there studies or other evidence this is more then survivorship bias?
Is any study following dropouts, non-BS grads, bootcampers and online students
in the industry over time and counting from the total population who
registered for CS 101?

------
codingdave
> The one thing that most of the colleges don’t do well is teaching you how to
> apply what you just learnt.

I disagree 100%. That is the primary value I got from college - learning how
to not only learn, but break everything down, re-conceptualize it into new
things, and build it back up into something productive. We absolutely applied
what we learned to our own projects, and I've found those lessons continue to
work well a couple decades into my career.

------
nosyharsh
This is very true. I am in college (non-american) and feel very weird because
of the way a lot of stuff it taught here. Teaching is a different matter, but
it is the grading that makes it worse. Questions asked in exams don't
correspond to what is useful as far as I have seen programming on my own.
Things I've learnt on my own help me understand stuff but papers are made just
to ensure that those who mug up get better grades. It's sad.

------
werber
I've worked with people with cs degrees and self taught / bootcamp types and
the biggest difference between them hasn't been based on their background but
their commitment to continued learning on and off the job. Granted I can only
judge their ability to do work similar to mine and not incredibly difficult by
any stretch.

~~~
astura
Are you saying that one group has commitment to learn and one doesn't? Or it's
a mixed bag?

~~~
werber
It's a mixed bag, the people from either camp who seen exceptional are the
ones who are constantly learning

------
jasoneckert
Dropping out of college (or not attending college) for comp sci is great if
you can make it work, or if you have the knowledge and discipline to get where
you want to go.

However, for many (myself included), it provided a framework that I wouldn't
have been able to get otherwise. After I got that framework, then the idea
made more sense to me.

------
ineedasername
Tangential, but somewhat related: At the community college level, there is an
excellent degree type that still allows for a small liberal arts core, but
focuses much more on marketable skills: The Associates of Applied Science, or
AAS.

It has some, but reduced humanities requirements and focuses much more on
career skills of the chosen area, all of which have specific, immediately
accessible job opportunities. The really unfortunate part of this degree,
however, is that it's very hard to build upon later at a 4 year school to
finish a bachelors if you so choose: the credits either don't transfer or
transfer as electives, not requirements towards a degree. Again, a major pivot
is needed for traditional 4 year schools.

------
Merrill
In the US, college is very much about being taught - everyone following the
professor's lectures through the syllabus step by step, with exercises,
quizzes, and tests for course after course. It's my impression that in other
countries the student is given broader direction, studies more on their own,
attends lectures or not, meets with tutors, and is assessed at the end of the
semester. This seems sort of half way between the US college and the US online
approaches.

The fully online approach seems good only for those who are natural
autodidacts or as a fallback for those who simply can't get through some of
the non-CS required college courses.

------
ngngngng
Another article spewing the same garbage. "You can't learn theory without a
college degree." What? Do textbooks teaching theory not exist outside of
college? Are there no blog posts teaching theory on the internet?

My self education took about as long as a college degree anyways, but I was
able to work the whole time which I think gave me a bit of an edge over most
college graduates. Self education can feature as much or as little theory as
you decide you want to learn

------
k__
I didn't learn much about software engineering in my "Computer Science and
Media" degree. But somehow I have the feeling it helped me learn stuff in
general.

------
WomanCanCode
Getting a university degree has been the single most rewarding experience in
my life. It gave me opportunity in life. I was born to very poor parents who
didn't have high school diploma or degree. We had almost nothing growing up.
Getting formal education changed my life. I got internship before graduating
with my degree. And I got entry level position immediately after graduating. I
started saving to pay off my student loans immediately after that.

------
master_yoda_1
I think people are confused here. It is not about going to college, it is
about selecting field of study. A plumber don't need to go to college he just
need a vocational training by doing hands on. But a mechanical
engineer/scientist has to go to college to study something deeper. Udacity and
coursera are filling up the gap for college courses, but you need expert
professor guidance if you want to do some research.

~~~
icelancer
>> Udacity and coursera are filling up the gap for college courses, but you
need expert professor guidance if you want to do some research.

This is definitely not true across the board. I have multiple peer-reviewed
published papers (in pretty solid journals) in a field I never formally
studied, and am a college dropout to boot.

------
SenHeng
A 4 year degree really helps when trying to get an employment visa in a
developed country though. e.g. Japan has a 4 year degree or 10 years
equivalent work experience requirement.

There was a thread last year where lots of people commented about being
rejected for a visa in Europe because they didn't have a degree, despite
having multiple years of experience.

------
bitL
I think in your case the combo of Udacity nanodegrees and OMS CS is absolutely
perfect. You get overwhelmed by Top 10 academia rigor and flooded by projects,
and then jump to cutting edge with Udacity and do cool stuff like self-driving
cars. The only drawback would be lack of time to do anything else.

~~~
cplat
[OP here] Yes, you're right. In my case, I had the fortune of starting to
program at a very young age, about 11. I started doing these courses to get on
the whole ML/AI bandwagon (although I had been exposed to neural networks in
the early 2000s).

The broad understanding I came to was, it's important to make your own
conclusions, and not take anyone else's conclusion for granted, whether it
comes from universities, courses, or even blog posts like mine. In reality,
however, it's difficult to devote that much time to personally research
everything. So you should at least do it with the things that matter the most
to you in life.

------
p4bl0
So the author starts with a first paragraph in which his presentation is
largely biased in favor of online courses and then a second one in which he
reveals that what he calls "college courses" is also an online version of it.
The title isn't appropriate.

------
LimKruscal
I'm learning writing code right in my college now and many online courses do
provide a lot of basic information in coding like Randomized Algorithm etc. I
think if I get all these classes I can learn more than my classes in college
in terms of quality.

------
bryanwb
Raahul, how do you like the omscs program? i am in it as well but worry that
it is easier than the on campus MS. Even though I suspect it is easier, I
still find the workload very heavy.

~~~
nvarsj
It's not easier than on campus. The curriculum is the same, and it's taught by
the same professors and on campus head TAs (usually). If anything, it can be
more difficult due to lack of interactivity in lectures to clarify things -
although on the whole the recorded lecture quality is very good. OMSCS is no
joke! If you want to take it, keep in mind it is a top 10 program and the
workload and intensity of the classes can be very high. You will learn a lot,
but it will also mean personal sacrifices (free time, time with family and
friends) to keep up.

~~~
bryanwb
I am 4 classes into the program and enjoying it a lot. The surprising thing
for me is that a single class seems to consume about 15 hours per week. I have
heard that the harder classes, such as AI, IHPC, ML, GA, take 20-25
hours/week. I don't remember my undergrad courses being so demanding but I did
not attend a top tier school.

All that said, perhaps for the sharper students these classes demand much less
time than they do for me.

~~~
nvarsj
Ahh, hi Bryan - I missed that you were in OMSCS. I think I took HPCA with you
in Spring. So you should know what I'm talking about after that first exam
where a good chunk of the class dropped!

I'm currently in GA and it is tough, probably my toughest class so far - 10 to
20 hours a week is about what I'm doing. I think I would need at least 20
hours/week to pull off an A, but I don't have the time unfortunately. My
undergrad, which is a top tier state school, was also on the whole a lot
easier. OMSCS is a tough degree - completing it is a big achievement.

------
chiefalchemist
No matter how you cut it:

Understanding > knowledge

------
foobar_
Application development does not need Software Engineering.

~~~
mcguire
Software engineering is mostly project management, with very little
engineering content.

------
dominotw
If I was a young person I would do this instead of these courses.

Start with leetcode easy and see what I am missing if i am unable to solve
that problem. progress all the way to leetcode hard.

Anything else is pure waste of time and would _not_ land you a job.

~~~
JMTQp8lwXL
If the job requires solving anything other than Leetcode problems, you're
going to get PIP'ed real quick. Leetcode won't teach you solicit requirements
from PM's, how to make network requests, set up your CI/CD environment, deploy
your code, configure jest/babel/webpack (if you're doing front end web
development). It's useful for demonstrating knowledge of Data Structures and
Algorithms, but that's only a small sliver of being able to perform the job
function of a Software Engineer.

~~~
dominotw
> Leetcode won't teach you solicit requirements from PM'

You might or might not be able to do this but if you don't leetcode you won't
get that job in the first place.

