Live data from Hacker News

Ask HN: Books That Dramatically Transformed Your Programming Skills

news.ycombinator.com

21–30 of 30 posts

Re: Ask HN: Books That Dramatically Transformed Your Programming Skills

#21

The best programmers aren't ones who have memorized how to do stuff based on read materials, the best programmers are ones who can look at any piece of software, from a front end application, to embedded microcontroller, and know exactly how to recreate it. There is a reason why electrical/computer engineering graduates tend to outperform CS graduates in both general skill and the job market. If you understand how co…

Sorry, you lost me there. I am CS and literally every single one colleague in IT with an electrical engineering background where subpar compared to CS students. (Of course I don't claim that is true in generell or for that there are no electrical engineers who can be great developers.) One background I will respect is mathematicians, it is always a joy to learn from them and the can model very nice abstractions. Agai…

>IT

This is a different field. Many software engineers have no clue how to set up networks or administer things like routers or firewalls. At the same time IT people usually don't know how to write things like backends for web apps.

Re: Ask HN: Books That Dramatically Transformed Your Programming Skills

#22
post #14

The best programmers aren't ones who have memorized how to do stuff based on read materials, the best programmers are ones who can look at any piece of software, from a front end application, to embedded microcontroller, and know exactly how to recreate it. There is a reason why electrical/computer engineering graduates tend to outperform CS graduates in both general skill and the job market. If you understand how co…

Thank you for your input! However, could you elaborate on how you arrived at that conclusion? The field of computer science is so vast that it can be challenging to identify which specific knowledge or skills will give you a significant advantage.

>The field of computer science is so vast

Its vast if you approach it top down (higher abstractions to lower abstractions), seeing all the different languages/frameworks, but if you approach it the other way, you realize that every higher abstraction is pretty simple.

When you start learning things like python, or js, and then move to things like C++/C/Rust, or learn frameworks like react, you get left with a sense that each one of those things is like a separate thing where you have to memorize patterns of how to do stuff.

When you learn from the ground up, like understanding how a CPU works, every new thing that you learn immediately fits in to what you already know as a simpler way to do a combination of low level CPU operations, and you immediately recognize patterns. Memorizing syntax becomes unnecessary, since you can figure things out on the fly.

To give you a real example, most leetcode problems that get asked in interviews pretty much involve some pointer manipulation under the hood. So when you work with enough low level C and assembly, figuring out how to do things more efficiently without copying data around, you can pretty much ace leetcode medium problems without studying.

Re: Ask HN: Books That Dramatically Transformed Your Programming Skills

#23
post #20

97 Things Every Software Architect Should Know. Hands down. I just came across A Philosophy of Software Design and it looks good, but I haven't finished it yet. My experience has been that 'programming' is largely about learning best practices, single responsibility, modularity, writing efficient, clean code. There are no real special books necessary for this, just read the industry standard recommendations. But if y…

thank you for your point of view! Which big industry names on social media would you recommend following?

One good way to do it is to follow Kent Beck on Linkedin. He's constantly reacting to other software influencers, and if you like the point of view of the other influencers, follow them too. Over time follow who you like, unfollow who you don't like. I'd also recommend following Jason Gorman.

And sign up for a Mastodon instance and create a software list. These people are much more candid there than they are on Linkedin.

Re: Ask HN: Books That Dramatically Transformed Your Programming Skills

#24
Well, not exactly a book and not necessarily something I recommend everybody reads, but when I was getting started (early 80's) I purchased a copy of the source code to HDOS, the HeathKit Disk Operating System (written by J. Gordon Letwin, who went on to work on IBM's OS/2). I spent many months poring over every line of 8080 assembly language code in that massive set of bound photocopies of source code printouts. The OS itself, device drivers, command shell, assembler, BASIC interpreter...everything was there. I don't think anyone can realistically do the same thing on a modern system but that experience taught me so much about programming and software engineering.

Re: Ask HN: Books That Dramatically Transformed Your Programming Skills

#26
Ill mention a few books and how they've helped me become a better programmer.

- Structure and Interpretation of Computer Programs: this helped me understand the different types of recursion; how a problem can be modeled for the code to solve and how those designs can evolve and how the paradigm I'm using (functional or OOP) can help me

- Refactoring: this book helped me understand the different patterns we can use to alter code. Giving them a name and symptoms is a great way to apply and communicate with other coders. I recommend this book to everyone.

- The little Lisper: this really helped me get recursion. Like really. Although I could use a refresher.

- Clean code: look... this book is bad. Like, really bad. But, at the time I read it, and in the languages I used (Python, C, R) we didn't have many rules on how to write and organize our programs. And I wanted to improve on that skill. And this book gave me pointers and made me think about those ideas. I don't recommend it around, because for many people Clean Code can become a dogma really easily. But if you can question and critique and reach out to other resources and is an advanced beginner to coding, I can see this book bringing value.

- An Elegant Puzzle and Staff Engineer by Will Larson: those helped me get clarity on the role of the technical team in an organization. A team that produces code as the main driver of impact in a product/service. I lump them both because I read them back to back and don't remember, exactly, which is which. But une is more focus on a tech leader and the other a tech specialist.

- Unix and Linux System Administration Handbook: whenever I need to interact with some unix technology, this book delivers in terms of giving me a nice historical view and presenting the common tooling around the tool. This helps me interact with stuff programmatically much better. Be it GRUB, X, SAMBA, this book gave me the necessary introduction I needed, much more organized and thought out and with useful references than the average blog post you will find in the wild.

And I'd like to recommend this Ask HN on problem solving books

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

Re: Ask HN: Books That Dramatically Transformed Your Programming Skills

#27
post #26

Ill mention a few books and how they've helped me become a better programmer. - Structure and Interpretation of Computer Programs: this helped me understand the different types of recursion; how a problem can be modeled for the code to solve and how those designs can evolve and how the paradigm I'm using (functional or OOP) can help me - Refactoring: this book helped me understand the different patterns we can use to…

thanks a lot for your recommendations and how they helped you!

Re: Ask HN: Books That Dramatically Transformed Your Programming Skills

#28
My first learning on data structures came from https://www.amazon.com/Definitive-XML-Schema-Priscilla-Walms...

Not a book but I learned what not to do and what to avoid in my earliest days of programming from the super opinionated tool JSLint.

This was my go to reference to learn CSS https://www.amazon.com/CSS-Pocket-Reference-Visual-Presentat...

As for language design I am mostly self taught through a lot of trial and error. For me it’s all about functions and variable scope. After that everything else is just a statement, expression or a data structure. With that I can write just about anything, make it scale, and keep it super simple to read.

Re: Ask HN: Books That Dramatically Transformed Your Programming Skills

#29

Earlier quoted context omitted.

Sorry, you lost me there. I am CS and literally every single one colleague in IT with an electrical engineering background where subpar compared to CS students. (Of course I don't claim that is true in generell or for that there are no electrical engineers who can be great developers.) One background I will respect is mathematicians, it is always a joy to learn from them and the can model very nice abstractions. Agai…

>IT This is a different field. Many software engineers have no clue how to set up networks or administer things like routers or firewalls. At the same time IT people usually don't know how to write things like backends for web apps.

No, it means something more generic.

Re: Ask HN: Books That Dramatically Transformed Your Programming Skills

#30

None. The best way to get way better at programming is to work on code bases written by people that are much more skilled than you. You cant learn math by purely reading a math book, you have to work the exercises. Go find an expert code base on github and hack on it, or work at a company on a team with very high programming standards

Depends on your definition of "skilled" people.

I once had to work the codebase of a consultant who build up his business by having less of a T profile and more of a slightly thick, incredibly long _____ profile. His code was attrocious and borderline impossible to refactor because he never stuck to a language long and consistently enough to actually learn anything resembling code discipline or hygiene. He was always too busy learning the quirks of the language and framework, which took precedence over elegance

Post reply on HN