Live data from Hacker News

Ask HN: Books That Dramatically Transformed Your Programming Skills

news.ycombinator.com

11–20 of 30 posts

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

#11

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

+1. I can nod my head while reading many books. It isn't until I encounter situations and apply solutions that I really learn things. More than specific books, the greatest thing I've learned is how to view a system. Thinking about underlying constraints (e.g. database) or boundaries communicating with other systems are the hard-points. All the stuff that happens in-between is mostly plumbing with a small bit of (hopefully) well factored key logic implementation.

Learning different kinds of things, e.g. distributed databases, functional languages, metaprogramming methods, etc makes you appreciate what they can do and makes you better because you can choose to apply some of those structures in more popular environments when they are beneficial (e.g. use of immutability vs shared mutable states).

Working on larger codebases with many developers, and for a long duration lets you grow from programming to software engineering for longer term goals that optimize effectiveness both in implementations but also the people processes that can work well or poorly depending on the choices made.

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

#12
post #10

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

any recommendation how to find good github projects to look into?

What programming language are you interested in?

Usually you can go to GitHub, find a project with a lot of stars for the language you want and start browsing the code. It is worth paying attention to the general attributes of good codebase: tests, documentation, build automation. If all this is there, then most likely you will definitely find something interesting or new for yourself.

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

#13
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 computers do the stuff they do, and can think in that manner, thinking in higher level abstractions becomes very easy.

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

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

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

#15
post #12
post #10

Earlier quoted context omitted.

any recommendation how to find good github projects to look into?

What programming language are you interested in? Usually you can go to GitHub, find a project with a lot of stars for the language you want and start browsing the code. It is worth paying attention to the general attributes of good codebase: tests, documentation, build automation. If all this is there, then most likely you will definitely find something interesting or new for yourself.

C# /.NET and JavaScript / Typescript

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

#16

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

None

Agreed.

work on code bases written by people that are much more skilled than you

Two problems here. First, you can’t really be sure if they are skilled or publicly confident. Although learning confidence is useful too, for the same reason.

Second, you can only see what they do, not what they learned to avoid. The best way to get better is to write your own code, assuming you’re at least fluent. That will teach you what to avoid and you also learn your general predispositions and code anxiety/perfectionism levels. Good reflection on that will improve you a lot. I don’t think just parroting someone’s code makes you better, unless you’re very beginner.

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

#17

A Philosophy Of Software Design by John Ousterhout comes with a great way to look at how to design software modules. Found it by recommendation here on HN.

FYI, there is also a talk by him, which is pretty good too:

https://www.youtube.com/watch?v=bmSAYlu0NcY

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

#18

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. Again, in my personal experience, no claim how general this is or that there are no exceptions.

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

#19
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 you want to set yourself apart from others you need to study software design and architecture, and follow the big industry names on social channels. Designing software is more of an art and figuring out how to do it isn't immediately obvious or easily attainable from books. It takes years of experience and wide reading, and a lot of what I've learned about it has come from social media, not books.

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

#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?

Post reply on HN