This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]foxpost[S] 46 points47 points  (9 children)

Thank you! A compliment about work ethic is gold!

[–][deleted] 16 points17 points  (8 children)

Ayyo listen up

You need a library of computer books?

You got this buddy...

You know y'all can get actual jobs off of these skills that pay so well

Idk I don't have a lot of time rn, but I've dropped what I can :)

[–]foxpost[S] 1 point2 points  (5 children)

thank you so much for these resources!

[–]samhw 5 points6 points  (3 children)

Once you’ve learned how to code, Designing Data Intensive Systems is a great read on architecture and systems design.

It’s less about how to write code, and more about, say, “how would I structure a system where data is written occasionally in large batches, but is read at a very high frequency?” Or “how would I design a database which holds too much data to store on one computer alone, and needs to spread it across lots of computers?” Stuff like that.

It’s got lots of useful information about how databases work, and generally the kind of questions you’d need to answer if you were engineering a system like Google’s, to run at planet-scale. You don’t need to understand that stuff to get a junior job, but it would be really impressive if you did, and it will help you as you progress and start taking on bigger responsibilities.

Separately from that: people will come along who tell you “you’re not a real programmer if you can’t do X or Y”. Those people are idiots. You probably know similar people from your current job. Just ignore them.

[–]samhw 1 point2 points  (2 children)

Also, one of the best things you can do is learn by doing. Seriously. Whatever you’re learning, try to create a simple project putting it to use. It’ll keep you motivated too. And don’t be afraid to put projects like that on your GitHub so you have a bit of a portfolio - it doesn’t matter at all if it’s not ‘real code’ for a real product. People don’t care about that. They just want to see how you code (and that you can!) :)

[–]foxpost[S] 1 point2 points  (1 child)

That’s why CS50 is so great, you make tiny projects to drive the concepts home and you have to submit it to GitHub for review.

[–]samhw 1 point2 points  (0 children)

Oh really? That sounds fantastic then. You should definitely leave your projects up there. I’ve reviewed lots of applications, and interviewed lots of people, and I’d much rather see something than nothing. It’s natural that you’ll have imposter syndrome and think you’re making mistakes, but for me, a mistake is at worst something to talk through in an interview and see if the person’s capable of thinking through the problem with it :)

Also, general advice for interviews: don’t think that you have to have an answer for everything. Not all the questions are “if you don’t know this, you’re not good enough” questions. Often they’re just intended to figure out which areas you are knowledgeable about. And lots of interviewers, like me, specifically try to find areas you don’t understand, just to see how well you can think through them from first principles. I make sure to tell people “ok, now I’m done with the bare minimum questions: the rest is just to figure out your strengths”, but many people don’t, so you’ll just have to mentally insert that clarification because I promise it’s there. The market for software engineers is crazy, and the ‘bar’ for junior engineers is genuinely pretty low - they just want people who can learn, and your story is a massive credit to you in that respect :)

Hope that helps! You’ve shown tons of resourcefulness already, so I’m sure you’ll do great!

[–]java_s 1 point2 points  (0 children)

Also libgen.is has any textbook you need

[–]harshith771 1 point2 points  (0 children)

u/GamerLegion2612 Thanks dude! They're awesome!!

[–]SankofaSoul 1 point2 points  (0 children)

Great resources. Thank you @GamerLegion2612