What would be the most efficient yet comprehensive way for a codemonkey to go back and learn the foundations of CS? I'm about half a decade in to being a codemonkey cog helping corporations shit out enterprise software, I never had an academic background in CS (I didn't even go to college due to fucked family situation). Everything I know about computers is learned from online courses designed to get you from 0 to functionally useful at some soulless corp (think youtube tutorials narrated by some barely intelligible pajeet, udemy, lynda, etc.), and every technical interview I've ever passed was purely due to mindlessly "grinding" toy problems on sites like 1337code.
In short, I feel like a total fraud next to people with actual degrees/academic background in programming and it makes me insecure and depressed. I would like to once and for all, do what it takes to gain a deep foundational understanding of computer science, but am at a loss as to where to start. Should I just go through the entirety of ossu? Is there a list of books I should read? I feel lost and overwhelmed at the choices which I guess is part of what getting an actual degree helps to mitigate. Expect to get shit on but hope some of you will understand and point me in the right direction
No one cares, 8ch is dead more because of its userbase than due to the numerous problems the site has.
Luis Long
Also, Computer Science/Engineering is a sector that grows tremendously, but is commoditized, saturated and deflationary. So, its the worst decision in one's life to work in the area.
Joshua Morgan
read sicp
Michael Perry
What are examples of some good sectors to work in, then?
Gavin Ward
Ones where you grow your own food, pot your own water, and are not dependent upon anybody. Like farming as a full time job and then eating the food not selling it all. Then have a part time mcjob to pay taxes like *insert soulless corperation here*. Once you are independent of everybody for everything you just have to pay taxes or your government will murder you for no reason besides not paying taxes using paper notes with no inherent value. Preety simple.
Now if you are looking for baby steps to understanding you have to have a goal. Start with simple things like agners blog/whitepapers and the basics of real transistor logic i.e RTL. If you want to understand what the hell that python script is doing you have to understand the C under that and the assembly under that and the schedulers/microcode under that and the hex mappings under that and the RTL under that along with all the interconnecting parts and their purpose. Otherwise you are wasting your time, which you would be if you used python instead of something more sane like rust, ada, or pascal depending on your level of larping.
Start with getting understanding of the physics behind why computers work, conceptual understanding and not applied understanding. Because once you understand things conceptually you can come to your own conclusion based on actual implementations, yours or others. Like you realise that theres a command called gcc that makes your file turn into a program you send to users and execute. But understanding conceptually would be being able to explain what gcc is and what it is doing and why. It's a compiler, linker, and assembler collection. Now go learn what those are too and why they are used.
Juan Thomas
I don't think you understand what Imposter Syndrome is -- Imposter Syndrome is feeling like you are inadequate when you are an above average engineer. Asking these stupid questions on Zig Forums only makes you look like a moron. Go out and learn your own way.
Nathaniel Butler
If you compile stuff that works, you're good. Stop trying to mimic latte sipping homosexuals. People who go to school for this shit are complete tools and you should feel superior to them tbh.
Colton Ramirez
Lol
Dominic Bennett
SICP
Daniel Lopez
If you go to a university with a real CS program, you will be learning a lot of math alongside some programming courses (or as a part of them) and probably some sort of awkward "career/practical" portion in the form of an internship or a course or something, plus some unrelated basic/elective garbage that gets smacked into almost every degree program for no reason (beyond the very basics like the required beginner university level language courses for your native language and the basic math that is generally useful). If you have discipline, time, ability to schedule, and ability to follow through on hard subjects yourself there is basically no reason to go at this point unless you need the degree for something like teaching (which usually requires more degree(s) afterwards anyway) or academic research positions (again, usually only happens if you're continuing your education afterwards). This is of course assuming you like studying CS in your free time at all. This is a decent resource for some free courses on the web: github.com/ossu/computer-science I would suggest you roughly mold it around what some of the better universities in the world do. Here are some free textbooks: aimath.org/textbooks/approved-textbooks/ github.com/sarabander/sicp-pdf github.com/sarabander/sicp SICP's 2nd edition is expanded considerably to the first edition (which had the course's videos made for it), and according to the preface they could no longer cover the whole text in one semester anymore. There are much faster ways to get started with Scheme and/or making a basic programming language if that's all you wanted.
Juan Scott
OP here, appreciate the links on math textbooks, I'd figured it's something that I have to brush up on, as I basically haven't touched any real math since high school.
Lincoln Fisher
Everything Medical.
Ryder Davis
Posting more books.
Godspeed to you, user.
< Books: Good starter language. Cuts through a lot of the abstraction of other languages and lets you think more about what your machine does. Also a good book. This + above makes you a decent C programmer.
The "learn to code" meme works to keep reducing costs of production by inundating the market with programmers and thus lowering their wages, because the margins companies are getting are simply plummeting. That why they like so much to import HB1 pajeets. You have to be an imbecile to work in this industry.
Jordan Campbell
Thanks, will definitely give these a read. Starting to read through SICP now, probably gonna take me more than a minute to finish but appreciate these C PDFs.
Matthew Cook
op, 2 questions: - do you feel you're good at what you're doing? - are your employers satisfied with what you're accomplishing? if yes, then keep on learning. it's what life's about. if no, see if you want to stay in that field (and then learn) or quit (learn a trade) Looks more to me like a self-esteem issue. Try to accomplish something for yourself. Cheers
Justin Cox
I recommend alternating between SICP and other books. SICP is great, but it is also quite remove from reality, so you need more grounded literature to counter-balance it. SICP will take you a long time if you want to work through the exercises (you should), and it's good to take a break. Every time you finish a SICP chapter you can give yourself a pat on the back.
Michael Perez
You do understand that websits are driving the price down right? Data bubble burst when?
This tech bubble 3.0 is currently being sustained by smartphones and Unicorn companies (all those gay apps, such as Uber, Twitter, Facebook, Netflix). It'll burst when these two fail. Smartphones are already stagnating, so only Unicorns remain, and they're kept alive by investments from the... Financing industries. So, the Tech industry right now is kinda of a walking zombie, just waiting to collapse.
Julian Cook
SICP appears to be all in LISP... "remove from reality" is an understatement. I'd second these
It helps a lot if you learned using a compiled procedural language originally...
Leo Turner
i think that i have heard that before somewhere and in reality the prices are only going up
What the fuck is this graph measuring? I know TVs didn't cost 100 dollars in 1998, and they aren't 1-4% of the 1998 price.
Grayson Lee
The housing bubble was caused by a pileup of debt and irresponsible investors. The circumstances are completely different you silly LARPer
Levi Phillips
I can infer since I actually have brain cells that the x axis are 2 digit years and the y axis is probably annual expense/gain
Jordan Sullivan
Do you know what "price adjusted to inflation" means? Everything tech is deflationary (less than 100% correction). Which means margins are shrinking, which means small players can't compete with economy-of-scale big corps, which means more monopolies and 'lower wages" due to hyper competition.
Michael Hughes
whats the point when they just package the same shit in different cases. theres no real comptetition anymore.
Jaxon Roberts
The point is that OP's decision of working with tech is terrible. Which is the purpose of this thread.
Alexander James
supply chain management
Brayden Bailey
you don't need a formal education to be in a cs job. how you learned isn't as important than what you learned.
Isaac Cox
If you want to feel your ground and really learn how the computer works, you don't need a lot of CS. Just learn how the transistor is implemented (basic EE, digital logic), download Logic Works and follow a guide on building a virtual CPU, design an assembly language, and possibly write a compiler from a subset of C into your dinky assembly using a parser generator. Once you finish, you'll have a bottom-up understanding of what's going on in the computer (well not really because computer architecture is insane now, but it's a rough approximation of the classic computer).
The remainder of CS is the study of data structures, algorithms, and languages. It's probably important, I dunno. Depends what you want to do. Might want to also take a course in discrete math and learn binary arithmetic if you want to be super legit in low level/systems programming or whatever.
That being said, I wouldn't worry to much about feeling like an imposter. Shame isn't going to be a sufficient motivator to stick with learning this shit. Autism helps, try to get some vaccines before you start.
Connor Torres
Ignore "REED SICK-PEE" posters. Not even the authors who wrote the book, nor the curriculum it was made for, still use it for teaching. Scheme is an archaic language; not even the book authors use it anymore. They all use Python in their equivalent courses.
I don't think it popped just yet, but it's close to.
Daniel Ross
They don't use SICP anymore because modern programming doesn't rely on knowing how to write semantically good code, so much as learning how to fuck around with 10 libraries and 20 APIs until shit works, and their current approach reflects this.
Benjamin Roberts
lol
Dominic Thomas
get better parents
Adam Roberts
Gitgud manchild.
Brandon Gutierrez
new does not always mean better
Nolan Allen
protip: academic degrees are for faggots
Landon Reyes
Why are you guys moralizing this shit? It's about applicability. Newer does tend to mean more applicable in terms of language theory.
Elijah Anderson
no u
Lincoln Foster
I got expelled from university so I never got the chance to become a pathetic loser like degree holders
Aaron Lewis
Pathetic, loser.
Grayson Myers
"If you wish to make apple pie from scratch, you must first create the universe."
Christian Perez
Knuth's books.
Charles Carter
So what happens when it does pop? Cheap pc parts so I can have a leeto rig on the cheap?
David Phillips
Just learn assembly and figure out how everything is built from there
William Long
This
Christian Morales
t. niggerbrains
Justin Hughes
You can learn all the CS literature your brain can absorb, it won't change shit about your imposter syndrome. It's a matter of self confidence. I know super smart elite programmers who suffer from it. I'm a self taught codemonkey who knows jack-shit about CS and never once suffered from it(I know it's probably bad too because coworkers and bosses often complain about my arrogance).
Work on yourself, but be aware no knowledge will help if you don't work on the root cause.
Charles Robinson
I feel anxious about giving recommendations, and about affecting other people's lives in general, so i would give you only one recommendation. Read K&R 2nd edition, then go read and write code. Read something solid(such as kernel source code) and write something simple(such as text editor). When you would feel that you have gained enough experience and understanding of the language read K&R 2nd edition again and write exercises in more concise fashion. There is also more good advanced C books, but lurk and decide upon them yourself. Don't read SICP, it's too early and meaningless for you. You wouldn't write text editor from the ground up in scheme, would you?
Liam Howard
It's not the 80s anymore, where a single person could completely grasp how every detail of his C64 worked. The field has gotten immense with tons of specialty. Realizing that you don't know things means you have an understanding about the complexities involved. People who don't realize this usually know a lot less than they think. By the way, very old computers can be a good starting point. You'll find lots of documentation and books that are well written and you'll find out that the same principles apply and that some things haven't really changed all that much in 40 years.
It's good to learn if you want to learn but sadly, working in this garbage industry is rarely about doing good work, it's mostly about doing quick and cheap work for disaffected idiots and venture capitalists that take no pride in anything except having money. I'd recommend you to leave it altogether. My joy about computing skyrocketed the day I quit my programming job. It really isn't a good industry if you want to take pride in your work and the people around you are usually idiots, in my experience the people with the degrees are even worse because they imagine they have paid their dues and there's nothing more they could possibly know/learn.
I live in a social european country and just went full NEET because you can basically apply the same thing to every industry in this turbo-capitalism world of ours. For the top brass it's just about making money quicker and quicker and faster and faster and then moving on when the racing horse collapsed. In my part of the world having slightly more money just equals having bigger numbers on your bills and having more responsibility for the sake of others. If you don't belong to the select few rich, the amount of work and stress you put in really barely makes a difference. The whole system is fucked and it won't work forever. Make the best of your time, and that means not wasting it for others. Can't buy your time back.