Of the top of my head I can think of Extreme Programming Explained, The Art of Agile Development, Software Teaming, The Pragmatic Programmer.
HN user
cenny
Software developer, CocoaHeads organizer for Gothenburg, and author of http://programmingbooks.dev
The best way to learn a new stack for me is to go through the book Exercises for Programmers (https://www.programmingbooks.dev/#exercises-for-programmers).
We do cross functional mob programming at my company with native iOS and Android apps. Works like a charm with a small team and I don’t think a react native app would offer any advantage. Instead we try to build the best app for each platform as one team.
I’ve never believed the hype of code once run everywhere. All solutions have drawbacks you just have to pick one.
Yes! Reading programming books have been one of the best choices I've done with my career.
I got so inspired by reading that I created a website just to try and help people read more programming books. The biggest hurdle is usually finding a book that is not too hard or too long to start with.
What books have you chosen to read and why?
And, how did it go?
I have my own website where I focus to help developers find what book to read based on a roadmap to be a master craftsman.
Isn't developing a product a team activity?
I think the opposite, why turn a group activity into solo activities?
Mob programming doesn't mean you can't work solo or in pairs sometimes when it is well suited for the task.
If you have people wanting to hide from contributing then there is a bigger problem in the team I would say.
But otherwise, why do you think it’s so bad?
It’s very strong of you to do something you don’t enjoy for 6 months giving it some real time.
But I am curious what was it that made your productivity fall, and what didn’t you like about it?
May I also ask how was introduced and used? And why did your company introduce it?
Interesting thread. Some people are skeptical which is normal for anything new and and unfamiliar. But, some people say they just don’t want to work with people, which I would find alarming and a red flag. The most important thing when you hire someone is that you can work together as a team. Being a developer is not a solo, sitting alone job for any project of a bigger size and success.
Thanks, yes, it’s mine. Makes me happy you like it and maybe will find some value from it.
I found the book Exercises for Programmers (https://www.programmingbooks.dev/#exercises-for-programmers) to be invaluable to help learn new languages and frameworks. Beginners seem to appreciate it as well.
It’s just an ordered collection of exercises that starts easy and builds up to more challenging ones. I can’t overstate the power of this simple book.
We have now tried it for on one consecutive week and to my opinion with great success!
The benefits that people are claiming I find are true, so far. It’s different, but it has almost eliminated all lead and wait time for us which I consider to be a huge obstacle for effectiveness.
I got convinced by The book The Art of Agile Development (https://programmingbooks.dev/#the-art-of-agile-development) where he describes mob programming as an easy mode for collaboration.
We used the book Code with the Wisdom of the Crowd (https://programmingbooks.dev/more/#code-with-the-wisdom-of-t...) as a guide to learn of to do mob programming.
Nice article, automation and consistency is powerful. I believe the command line will outlive most programming languages, editors, and IDE's.
I can recommend reading the excellent book from Brian P. Hogan Small, Sharp Software Tools (https://www.programmingbooks.dev/#small-sharp-software-tools).
It's a strong recommend from me too. I consider it a "must" read if you want to follow my roadmap (https://www.programmingbooks.dev)
I'm almost finished with The Art of Agile Development(https://www.programmingbooks.dev/#the-art-of-agile-developme...). I started reading 3 weeks ago and it's a chunky books. It's a great book and covers a lot of good agile ideas and practices.
Is there a reason you don't read them cover to cover?
I can understand that some books are more reference than narrative. Yet, I find that most books are usually a coherent whole that is more than the sum of its parts.
I think it's more important to ask: how much have you _learned_ from reading technical books?
I think that you learn at least something by just reading, another perspective on things is valuable. I think an open mind is the most important when reading.
[0] This is why I run a weekly book club as part of my Discord community (https://ted.dev/discord), so I know I'll deeply read at least a few books every year.
I love that you have an open book club! Maybe I'll join, We have one at work that I organize and it is great fun and one of the weeks highlights. I have also tried to collect my tips for starting a book club here (https://www.programmingbooks.dev/articles/book_circle/)
I can recognize myself a lot in what you are experience. I have had a limited amount of seniority to learn from recent year and have found book a real gold mine of interesting ideas. I learned so much from reading and that is what drove me to my side project (https://www.programmingbooks.dev) that is all about helping people to read more technical books.
Want to share any technical books that have affected you? Any favorites?
I can recognise the problem you are describing of people reading and not reflecting before applying. I also see your point of limited time, and I don't think choosing work over family is a good idea.
One thing we have been doing for some years at my company is that I started a book circle to encourage my peers to read more and me to get more people to discuss and reflect with. We encourage people to read on work time and we go through 2-3 books a year. Check out my article for tips on starting a book circle for programming books (https://www.programmingbooks.dev/articles/book_circle/)
Of course, reading without practice, reflecting, and discussions is meaningless.
What kind of books have you found yourself reading the last couple of years and with did you like and with didn't you like?
So, it's the everyday challenges at work that motivates you on what books to read?
Crafting Interpreters and SICP are no small books to go through.
I think those books are great but I also think that starting with them might not be a great thing (depending on interest, of course) as they are so daunting to get through. On my side project (https://www.programmingbooks.dev) I try to map out how a roadmap on how to gradually work up to these more heavier books that are still a great read.
SICP is of course a big and long book that understandably takes a lot of time for most people to get through (depending on prior experience).
There are many other good books that are much easier and shorter reads than SICP. Maybe try some shorter books in-between the long books.
Check out my side project for tips (and a roadmap for reading programming books https://www.programmingbooks.dev)
Maybe, but does the ideas, practices, and principle change often or at all for our profession? I find many old book still very relevant today, good books don't really age that fast.
Thanks for sharing!
I agree, and I also learn the most from doing and thinking, but programming books gives me perspectives and ideas to think about, discuss, and try/do.
Any specific reason? Do you think it's a waste of time, do not feel like you have the time, or do you not know what to read?
Apprenticeship Patterns(https://www.programmingbooks.dev/#apprenticeship-patterns) and Pragmatic Thinking and Learning(https://www.programmingbooks.dev/#pragmatic-thinking-and-lea...) are two books I wished I read early in my career. I read them many years into my career and still feel they had a big impact on me but I believe they would have had a bigger impact if I read them earlier, within the first year of me being a professional developer.
Getting better at being a programmer/developer is a mix of technical skills and people skills and you will do good in being better at both.
My I recommend checking out https://www.programmingbooks.dev.
The only one I can think of that may be done with TDD is Uncle Bobs fitnesse: https://github.com/unclebob/fitnesse.
Another resource that takes you through a practical approach of TDD is the book “Growing Object-Oriented Software Guided by tests”(https://www.programmingbooks.dev/extra/#growing-object-orien...). It’s a great book and really helps to take the concepts of TDD into practice.
"The Little Schemer" (https://www.programmingbooks.dev/#the-little-schemer) is a classic that has stood the test of time.
Otherwise I think "The Golden Ticket: P, NP, and the Search for the Impossible" is a hidden gem about a very interesting CS topic.