Can you recommend any decent books for us all to learn from? For a while I've been downloading free programming PDF's but I rather a hardcopy and so with a limited budget i've been purchasing older versions of the books off ebay and got some amazing bargains. [Highly recommended!]
They're old, but at least it's a start!
Write Modern Web Apps with the MEAN Stack - ISBN-13: 978-0133930153 Deep end dive into the stack but worth the exposure and introduction tooling - Gulp, Mocha and Chai, Karma, Bower, deployment on Heroku and Digital Ocean.
Just on a quick tip - Beware if you are ordering programming books specifically from ebay, ensure that its a book - I've seen some people selling "pdf" copies instead of a hardcopy.
Anyone else got good ones to recommend?
I go for the general ones:
- the pragmatic programmer
- clean code
- clean architecture
- refactoring martin fowler
- Patterns of Enterprise Application Architecture
- Design patterns (GoF)
there are more but those are some focused on make you a better professional programmer rather than being language specific.
There are other good books but if you finished them and took something with you ... I think it's a good starting point.
j ’s list is all about very well known ones, that you should consider putting in your list.
One I’d like to add is John Ousterhout’s «Philosophy of Software Design», which I read last year and was the best programming book I read in years (and I read a lot): The are some code snippets here and there, to serve as examples, but it’s really focused on the ideas, the concepts and the way we think.... I believe it’s a great one both for junior and senior developers (I wish I read it years ago, but it was written quite recently) The main focus on the book is about the core principles and idea to let you manage and control complexity in your programs, to make them more efficient, more maintainable (i.e. better software). And I Love it because it’s also pragmatic, and often recognize than any principle or good idea have exceptions, and you should use them to guide your thoughts, but not always use them without thinking of the current problem.
Other the last months I started to recommend it very often, and just yesterday I had a great "ah!" moment: a coworker asked for advice about the design of a new endpoint, which is not transactional and involves a few dependencies, and he was concerned about how to deal with failures and potentially inconsistent states. Having both read that book, the discussion was really quick as I started to ask if he could change the semantics of the endpoint to not be an action but rather a request to reach a state, which would let him "define errors out of existence". As soon as mentioned this - which is one of the principles from the book - I saw I hadn’t anything more to say and he remembers the core idea and had made a decision. A few hours later, a beautiful pull-request was opened ;-) This little story is there just to show how useful it is to know good design principles (again, j list will go a long way there!) but also to share those common principles with the teammates, because it can be used as a common foundation for many discussions and decisions.
Great set for what you're looking to do. :)
I actually have a gdrive full of pdfs lol.
Perhaps that's a business idea/project you could start - selling/renting second hand books, specifically for software engineers because STEM books can be SOOOOO expensive. :P
I few years back, I donated all the hard copies of my books to a local library that promoted a STEM-for-Girls program. I STILL have e-book copies of all the following and others.
- Unix in a Nutshell
- The Definitive Guide To HTML5 (I've owned three editions)
- CSS: The Definitive Guide (I've owned two editions)
- O'Reilly Shortcut: Intro To Testing Web Applications With Twill And Selenium
- Save the Pixel
- The Book Of CSS3 - A Developer's Guide To The Future Of Web Design
- SitePoint JQuery - Novice To Ninja
- Hacking Exposed Web Applications
- The Web Application Hackers Handbook - Finding And Exploiting Security Flaws
- Object-Oriented Software Construction
- Design Patterns: Elements of Reusable Object-Oriented Software
- The Pragmatic Programmer - From Journeyman To Master
Forget to mention C Programming Proverbs and Quick Reference by Ron Wodaski in my original list. Picked this up for the "Quick Reference" aspect in about '95. Kept it for the "Programming Proverbs" aspect. Priceless, ageless wisdom and wit along the lines of The Pragmatic Programmer.