Live data from Hacker News

Beej's Guide to Learning Computer Science

beej.us

111–120 of 150 posts

Re: Beej's Guide to Learning Computer Science

#111

Earlier quoted context omitted.

I know dance instructors, cabinet makers and surgeons who all love their work as a hobby but hate it as a job.

I think it's just they do not have the financial freedom to say No to many of the tasks. Once I have the FU money I'd definitely quit. But what is a hobbyist surgeon?

A taxidermist.

Re: Beej's Guide to Learning Computer Science

#112

I see people argue “But other people hate their jobs in other industries, just push through and grind, money is money” Sure, but I want to point out that software development is kind of unique. I can’t think of too many other professional jobs where the line between hobby and work blends, for so many of its workers. Let us be honest with ourselves, many of the toxic things in this industry are caused by a strong cult…

> "You don’t see investment bankers / lawyers / management consultants / etc. go on about side projects, leveling up their skills during the weekend, and other things that are considered completely normal in this industry."

Lawyers pay up front with an extra three years of law school and a bar exam that only 79% pass on the first try according to https://www.reuters.com/legal/government/first-time-bar-exam... .

Re: Beej's Guide to Learning Computer Science

#113

Earlier quoted context omitted.

Programming is pretty lucky that there is also large demand for programmers, and the product is high grossing, because the salaries are good. Most other fields with a passion component are low paying. Almost all of the arts Film, Music, Writing, Art pay very low if you are not the absolute top of the field. Millions of people are out there writing short stories, drawing manga, shooting student films, etc for free to…

We're in that position because the work is both hard and appears hard. The kneejerk response most people have to a wall of source code is to run in terror. We know that "being able to read the moon runes" is not the valuable part of our profession, but it has served as a convenient first line of defense. People are more willing to pay ridiculous sums of money to people doing things "I could never", as opposed to "I c…

[deleted]

Re: Beej's Guide to Learning Computer Science

#114
post #103
post #92

I still have trouble getting used to the fact that “computer science” is often used to just mean “programming” in the US. This is a guide to learning how to program.

You're absolutely correct, of course. And part of that is because the degree that you get when you want to be a programmer is a "Computer Science" degree in the US. I've added a clarification to the first chapter about the naming and rationale.

Thanks for that.

Re: Beej's Guide to Learning Computer Science

#115
post #25

> So, while it’s clearly possible to have a career in a lucrative field you dislike, it’s (a) going to be harder for you than for people who like it and (b) maybe you should consider a field that you do like? > You gotta want it. Do you want it enough to go through the tremendous amount of effort it takes to learn it? Maybe you hate programming, but you want the money enough. Maybe you don’t care about the money, but…

There's also a huge difference between liking to program and liking to work as a programmer. I despise the latter as business programming takes the joy out of everything. Trying to educate management about the current boundaries of the product or having to work extra hard because a product manager promised features that dont yet exist is exhausting. Not being allowed to work on fixing tech debt while having to build…

> current boundaries of the product

I like pushing the boundaries and making seemingly hard visions come to life. Sadly, I'm often working on CRUD applications where most things are possible and boring. At home I work on obscure side projects to see what is possible with either existing open-source projects, or non-existing projects (things I want that I can't find).

Re: Beej's Guide to Learning Computer Science

#116
post #88
post #48

Earlier quoted context omitted.

>> promising features that don't yet exist is essentially their job definition Agree. I think he meant (at least my reality) they promise features that does not exist (ok) AND are impossible to implement in the promised time (or at all).

I think there's also an element here of... when you work a long time on something, you tend to become emotionally attached to it, and you want it to be good and work well. Time to fix technical debt and work on making the product good is often implicitly waved as a carrot ahead of people who care about that sort of thing. "We can prioritize that after we ship $FEATURE." This then feels like a betrayal on an emotional…

You can just remember that in many cases you're not replaceable, and can just insist to management. They love it really.

Re: Beej's Guide to Learning Computer Science

#117

Earlier quoted context omitted.

https://www.mathacademy.com/ is a great combination of structured learning across an incremental skill tree with practise problems to prove to yourself that you understand. It’s a big commitment but helped me go from “hasn’t done any math for a while and probably missed some basics” to much more comfortable. You can do the self-test to pick a starting level and work up from there. As with many things you basically ha…

I third MathAcademy. I graduated high school >25 years ago with almost no math skills and had a major struggle with the math prerequisites for my CS degree ~15 years ago. I've been wanting to get into higher math recently, so a few months back I started hitting MathAcademy heavily. Its structure and modularity is exactly what I needed.

> Its structure and modularity is exactly what I needed.

Through great effort, I completed Mathematical Foundations I & II. I talked about it a bit here [1][2]. If you read through MathAcademy's methodology and reasoning, it's incredibly strong [3], but in practice I never felt confident in my understanding or execution, everything felt quite discrete and I didn't understand the relationships or purposes of what I was doing. I kept going because I was getting better, and because people online who were quite good at math said not to try too hard to understand things fully at first, since the abstraction level of math is so high.

The weeks before finishing MFII, my motivation was higher than ever. The day I finished, I felt nothing, and in the following weeks I decided that it was time to let it go for now.

I think MA is good. I've never done so many exercises in my life, and although I wasn't super confident, I was far better at math than I'd ever been. But I think MA probably needs a lot more multi-part exercises so you understand what you're doing and where to use things. I feel like I learned "Discrete Math", but in the sense that all the lessons were discrete and I couldn't draw connections between them.

https://news.ycombinator.com/item?id=42519882

https://news.ycombinator.com/item?id=43275665

https://www.justinmath.com/files/the-math-academy-way.pdf

Re: Beej's Guide to Learning Computer Science

#118
ice overview. A personal struggle of mine as someone who is self taught (with a degree in statistics) and has a full time job that does not constantly require programming, I struggle with learning fundamentals alongside doing actual projects. If someone has any advice in this regard, it would be much welcome.

Re: Beej's Guide to Learning Computer Science

#119
post #5

Most reputable CS courses will have one or two math subjects (often called "Discrete Mathematics" or some variation). Does anyone have any advice on tackling subjects like these for someone who hasn't done any math since high school more than a decade ago (and has forgotten it)?

Math Academy is a good option, but I wrote about the issues I had with it here.

Recently, I've been going through Introduction to Graph Theory by Richard J Trudeau. It's from the 70s, and I'm doing all the exercises. It really is an intro, and teaches some set theory and proof stuff. Doing Math Academy at least taught me that doing exercises is incredibly important for mathematics learning.

https://news.ycombinator.com/item?id=46124247

Re: Beej's Guide to Learning Computer Science

#120

I see people argue “But other people hate their jobs in other industries, just push through and grind, money is money” Sure, but I want to point out that software development is kind of unique. I can’t think of too many other professional jobs where the line between hobby and work blends, for so many of its workers. Let us be honest with ourselves, many of the toxic things in this industry are caused by a strong cult…

I have so many disagreements with this post. I know plenty of people in the food industry that are constantly trying new things at home and while staying late/early at work. I even know bartenders that are playing around with things at home. How many grease monkeys work at a shop on other people's cars yet go home and continue to turn a wrench on their own project car? My grandfather was a custom cabinet maker, and w…

There is also a huge difference between “hey I am leaving at 5 because I have life outside of the job” and “hey I just collect paychecks here”.
Post reply on HN