Live data from Hacker News

Beej's Guide to Learning Computer Science

beej.us

121–130 of 150 posts

Re: Beej's Guide to Learning Computer Science

#121

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.

I don't have any advice on self learning, but I have been getting a MS in CS for similar reasons. I also have a stats degree, work full time, and struggle with self learning. For me, being in a structured program makes it easier for me to manage. Certainly not a requirement, but it is the way I learn best. Maybe look for classes you can take at a local university or online and see if anything grabs your attention.

Re: Beej's Guide to Learning Computer Science

#122

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?

> But what is a hobbyist surgeon?

Serial killer

Re: Beej's Guide to Learning Computer Science

#123

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.

Im a student right now and have a background in a non-CS field so struggle with the impostor-syndrome/fundamentals double whammy. The advice I’ve found most valuable is to basically cosplay as someone who’s a complete pro. What would that person read for news? How do they practice their craft? What books do they read on their free time?

Cosplay that role long enough and you become it. I’m still learning but it has been a great signpost for me over the last couple years.

Cheers and keep crushing it!

Re: Beej's Guide to Learning Computer Science

#124
post #25

Earlier quoted context omitted.

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).

> I'm often working on CRUD applications where most things are possible and boring.

Gotta disagree, a lot of things aren't possible as soon as you have a data scheme set which was running in prod for a while. Introduces a lot of complexity when data structures suddenly have to change.

Re: Beej's Guide to Learning Computer Science

#125
post #107

Earlier quoted context omitted.

Must have been nearly 25 years ago now, this was one of my first dips into network programming after very briefly dabbling in systems programming based on nothing but random man page exploration and K&R. Think I still have it printed somewhere. Beej has really done the world a solid, it's also making me happy that they're still around and being kept up to date (as much as these things change).

Appreciate it! This response turned into more of an essay in general, and not specifically a response to your post, marginalia_nu. :) Sharing information, to me, was what made things so great in the hacker culture of the 80s and 90s. Just people helping people explore and no expectation of anything in return. What could you possibly want for? There was tons of great information[1] all around everywhere you turned. I'…

Really appreciate your work! We use your git tutorial as an (excellent) reference for a university course on Software Development I teach.

Re: Beej's Guide to Learning Computer Science

#126

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…

Thanks for convincing me to give up on my side project.

Re: Beej's Guide to Learning Computer Science

#127

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…

Of course you will find some professions where work and hobby overlap, but that does not hold for most professions out there. Most of the working world will clock out and mentally check out as soon as the workday is over. Even when only counting professional work.

Re: Beej's Guide to Learning Computer Science

#128

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.

I am very certain that you are at least wrong about management consultants. I know quite some who work on side projects (even though they barely have any time) and/or level up their skills during the few free hours on the weekend.

Re: Beej's Guide to Learning Computer Science

#129
post #84

Earlier quoted context omitted.

I'm sure there are bots on here as much as astroturfing. Partly is seems to be how quickly an article has comments leaning to one side or another. Once a few of these comments get off the ground, it's hard for voting on HN to reflect the discussion these days. It does appear that more users from Reddit etc. are not just using HN these days, but commenting. The quality of posts and comments has definitely decreased, i…

> The quality of posts and comments has definitely decreased, in line with the quality of content on blog posts decreasing. I fondly remember the first time I read this comment. I think it was August of 2008.

Do you think its true both then and now, or rather that people are always seeing the past grass as more green?

Re: Beej's Guide to Learning Computer Science

#130

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.

Write something. My usual suggestions (although I am biased) would be an operating system or a compiler. Or both! When I was in school those were typical course projects in a CS program. (The program I took was more to the circuit and electronic side of it, and my final year project was to design a CPU in VHDL.)

A compiler will exercise most of the fundamentals, and in ways you're probably not too familiar with, if you primarily just do a bit of scripting or numerical computation. Areas like parsing - how do you deal with reading in arbitrarily nested recursive structures? And the abstract -- how should you structure the representation of a program internally, perhaps as a tree? And the concrete -- what opcodes does your processor accept?

Post reply on HN