Here is a list of some of the books I have read and like. Books make it
to this list only after I have read them and feel that they are value to
others working in IT.
Title: Beginning Object Oriented Analysis and Design
Author: Jess Liberty
ISBN: 1-861001-33-9
Comments:
This was one of the first OO book I read as a C programmer.
Overall a good book for C/C++ developers. It is also where
I was first introduced to MVC.
Title: Object Oriented Analysis and Design
Author: Andrew Haigh
ISBN: 0-07-213314-7
Comments:
Although this is not a bad book. I found it not as clear
for C++ OO developers as other book, but there were many
others I introduced to this book that did better with it
than other books.
Title: System Analysis and Design An Object Oriented Approach with UML
Author: Dennis, Wixom, and Tegarden
ISBN: 0-471-41387-9
Comments:
Of all the OOA and OOD books I have read, I think this is my
favorite. It is well presented and understandable. For anyone
who wanted to do analysis it is a must read book.
Title: Systems Analysis and Design An Applied Approach
Author: Dennis and Wixom
ISBN: 0-471-24100-8
Comments:
Not as good as the OO book, but is very good in showing the
process. Due to the fact that just about all systems are OO
the OO component is too important to gloss over.
Title: Design Patterns: Elements of Reusable Object-Oriented Software
Author: Vlissides, Johnson, Helm, Gamma
ISBN: 0-201-63361-2
Comments:
Also known as the Gang of Four, this is a classic
pattern book for all languages and systems. Should
be part of every developer’s library.
Title: Psychology of Everyday Things
Author: Donald Norman
ISBN: 0-465-06709
Comments:
I believe that there is a second book to this, but after
reading this you will never see user interfaces in the same
light. Although this book is not a technology book, it has
implications for technology designs.
Title: Introduction to Object Oriented Analysis and Design
Author: Stephen R. Schach
ISBN: 0-07-293984-2
Comments:
This is a great book to introduce the process of design and
analysis. Its inclusion of the Unified Process makes it great
reading for someone who wants to understand the complete
process of systems development.
Title: Creating a Software Engineering Culture
Author: Karl Wiegers
ISBN: 0-932633-33-1
Comments:
This has been one of the most influential books I have ever read.
I read it just after it was published and many of the ideas I will
implement today. Everything I have implemented in this book has
lead to improvement in the development process.
Title: Beyond Chaos: The Expert Edge in Managing Software Development
Author: Larry Constantine
ISBN: 0-201-71960-6
Comments:
This book contains different articles from a column that
Constantine was the editor for. There are articles that
should cover any issue you may run into in development.
Title: The Invisible Computer
Author: Donald Norman
ISBN: 0-262-14065-9
Comments:
This is a great book to show what technology should look like
from the view of a user interface expert. Great book written
after Normal left academia for technology. It shows where
system need to go to be transparent to users.
Title: Decline and Fall of the American Programmer
Author: Edward Yourdon
ISBN: 0-13-203670-3
Comments:
After all these years I still have seen business do what
this book says is bad. All managers in technology businesses
should read this. Especially the part about how to create
new products.
Title: Rise and Resurrection of the American Programmer
Author: Edward Yourdon
ISBN: 0-13-956160-9
Comments:
This is the follow up to Decline and Fall. Good book
especially the chapter about Microsoft.
Title: Software Project Management Readings and Cases
Author: Kemerer
ISBN: 0-256-18545-X
Comments:
This is a great textbook with many different articles. Most
of these are classic papers. Great information for every developer.
Title: The Mythical Man Month
Author: Frederick Brooks
ISBN: 0-201-83595-9
Comments:
This is a classic book. Not only is his chapter on the
Surgical Team is something every development team can
learn from. This also includes the No Silver Bullet paper.
Every one in development should read and know this book.
Title: Peopleware Productive Projects and Teams
Author: DeMarco and Lister
ISBN: 0932-63343-9
Comments:
I have read both this edition and the original edition.
Great book if you are leading any developers. You do not
have to be a manager to get something from this book. We
all need to learn how to form a “jelled” team. This is
another must read for anyone in development.
Title: Surviving Object Oriented Projects A Manager’s Guide
Author: Alistair Cockburn
ISBN: 0-201-49834-0
Comments:
This is a perfect book for a manager who has not had a chance
to lead an OO project. It shows the pitfalls and strength of OO.
Title: Leading Geeks
Author: Paul Glen
ISBN: 0-7879-6148-5
Comments:
If you have limited technology background and find yourself
leading technical people this is the book for you. It talks
about how to lead technical people successfully.
Title: The Deadline
Author: Tom DeMarco
ISBN: 0-932633-39-0
Comments:
This was one of the best books I have read on project management and
leadership. I even used some of the ideas in the book when I was faced
with a burned out developer.
Title: Start With Why
Author: Simon Sinek
ISBN: 978-1-59184-664-4
Comments:
This is a great book for anyone who is in leadership of
a business. Under standing why you do something is the
best way to make a business grow. This is what set aside
businesses with unmatched customer loyalty verse a business
just trying to make money. In short it is how to make a
business thrive in the long term.
Title: Leaders Eat Last
Author: Simon Sinek
ISBN: 978-1591848011
Comments:
Just like Start with Why, this is one of the best books
about leadership I have ever read. What Simon talks about
is not necessarily new, good leaders have been doing this
for a long time, but it puts into clear text on why some
leaders are not only looked at as being betters, but why
the people they lead will achieve so much more that other
groups. I would consider this a must read for anyone who
has to lead a team on any level.
Title: The Infinite Game
Author: Simon Sinek
ISBN: 978-0241385630
Comments:
Simon Sinek is proving that he sees a clear path to how a
business can grow and be around for a long time. In this
book he shows how businesses fail by only looking at the
short term. It is an inspiring book to help see that not
only is there a short-term view of business, but that there
is a long-term view that needs to be seen as well. After
reading this book there should be a change in how business,
and life, have these two different aspects living at the
same time.
Title: Essential Linux Administration: A Comprehensive Guide for Beginners
Author: Chuck Easttom
ISBN: 978-1435459564
Comments:
This is one of the best beginning Linux books I have read.
It is well written and there is no required knowledge of
Linux to understand and learn from. I recommend this book
to all my beginning Linux students.
Books About Machine Learning
Title: C# Machine Learning Projects
Author: Yoon Hyup Hwang
ISBN: 978-1-78899-640-2
Comments:
This is a good book for learning about the basics of machine
learning, ML, and data science. The book takes you through
the different ML algorithms and how to use them. The projects,
in this book, show how to prepare the data for the ML training
and it is a very easy to understand book. This is a great
introductory into the world of ML and data science.
Books About Object Oriented
Title: Object Oriented Software Engineering
Author: Ivar Jacobson
ISBN: 0-201-54435-0
Comments:
This is the classic book on use cases. There are many things
useful in this book and anyone in software development today
should read this to get an understanding of what Use Cases are.
Title: Object Oriented Software Construction
Author: Bertrand Meyer
ISBN: 0-13-629155-4
Comments:
When I first start teaching at the university level, this is
the book I would have loved to use in an advanced software
engineering class. There are many concepts that can be used
today in design.
Title: Object Oriented Thought Process
Author: Matt Weisfld
ISBN: 0-672-31853-9
Comments:
It is too bad this book is out of print. For developers new
to OO, this is a great book to show how OO developers must
think. It goes through an example Black Jack program to
introduce OO concepts.
Title: Design Patterns: Elements of Reusable Object-Oriented Software
Author: Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides
ISBN: 078-5342633610
Comments:
The classic book of Object Oriented design patterns. Every object
oriented programmer should be familiar with these patterns. This
book is hard to read for most people but grasping these patterns
are key to becoming a good OO designer.
Title: Design Patterns Explained: A New Perspective on Object-oriented Design
Author: Alan Shalloway and James R. Trott
ISBN: 978-0321247148
Comments:
This is one of the best books for learning about Object Oriented
design patterns. It is much easier to read than the Gang of Four
book and covers most of the patterns. This is very useful for
seeing how patterns are used in real situations.
Books About Operating Systems
Title: Operating Systems Design and Implementation
Author: Andrew Tanenbaum
ISBN: 0-13-637406-9
Comments:
This is a great book to show how an OS is created. In this book
Tanenbaum shows how to create the Minux OS. This is the OS that
Linux was originally based off of. Great book for hardcore programmers
who want to know how an OS works.
Title: Modern Operating Systems
Author: Andrew Tanenbaum
ISBN: 0-13-031358-0
Comments:
This is not as low level of a book as the first one, but
it is good for anyone learn about computers. It teaches
the basic subsystems and how they work as well as how the
modern OS has evolved.
Title: Debugging the Development Process
Author: Steve Maguire
ISBN: 1-55615-650-2
Comments:
This is an old book that is good for new developers. It
does not really touch modern techniques, even for its time,
but it can give a better sense of what a good developer is
that most books used in schools today.
Title: Rapid Development
Author: Steve McConnell
ISBN: 1-55615-900-5
Comments:
Although this is not seen as a classic patterns book, to
some extent it is. If your development must speed up there
are a few tools in this book that will help you improve
both time to market and productivity issues.
Title: Peer Review in Software
Author: Karl Wiegers
ISBN: 0-201-73485-0
Comments:
This is a great book to show how and when to use peer reviews
for better software. Every developer and tester in the development
group should read this book.
Title: eXtreme Programming Explained
Author: Kent Beck
ISBN: 0-201-61641-6
Comments:
This is the book that started the eXtreme Programming
explosion. This book describes XP is clear and easy
terms. It also set the stage to understand why agile
mythologies work.
Title: Planning eXtreme Programming
Author: Kent Beck and Martin Fowler
ISBN: 0-201-71091-9
Comments:
This is a great to that explains the planning that
goes into XP. This is the area of XP shops I have
seen that is weak, or missing altogether.
Title: The Unified Process Inception Phase
Author: Scott Ambler and Larry Constantine
ISBN: 1-929629-10-9
Comments:
This is a good book to introduce how to do the first
phase of the UP. It is comprised of many articles that
help show how to do the Inception Phase.
Title: The Unified Process Elaboration Phase
Author: Scott Ambler
ISBN: 1-929629-05-2
Comments:
Just like the Inception Phase book this book has many
articles showing how to implement the Elaboration Phase
of the UP.
Title: The Unified Process Construction Phase
Author: Scott Ambler and Larry Constantine
ISBN: 1-929629-01-X
Comments:
Again like the other tow books, there are many
articles showing how to implement the UP. This
book centers on the Construction Phase.
Title: The Unified Process Transition and Production Phases
Author: Scott Ambler and Larry Constantine
ISBN: 1-57820-092-X
Comments:
This book completes the set on the UP. This is a
great set of books that have many good ideas on
how to produce better software and systems.
Title: Balancing Agility and Discipline
Author: Barry Boehm and Richard Turner
ISBN: 0-321-18612-5
Comments:
This is a great book that shows that agile
methods can still include discipline without
being a heavy weight process. This is a book
that all development leaders should read and
understand.
Title: Introduction to the Personal Software Process
Author: Watts Humphrey
ISBN: 0-201-54809-7
Comments:
This is a great process to use for your own improvement.
The key part of it is the record keep for productivity
information. Do this and you will become a better developer.
Title:
The Devops Handbook: How to Create World-Class Agility, Reliability, and
Security in Technology Organizations
Author: Gene Kim, Patrick Debois, John Willis, Jez Humble, John Allspaw
ISBN: 9781942788003
Comments:
This is the best resource I have found to show what DevOps is and how it can
be implemented. Many of the tings I have learned from this book has helped me
understand how to move to this State-of-the-Art development process. This is
a must book for someone starting down the path of implementing a DevOps process
for the first time.
Title: Code Complete
Author: Steve McConnell
ISBN: 1-55615-484-4
Comments:
This should be required reading for all developers. The
second edition is even better. Implementing these ideas
will push your development skills to the next level.
Title: Effective C#: 50 Specific Ways to Improve Your C#
Author: Bill Wagner
ISBN: 0-321-24566-0
Comments:
This is a great book for C# programmers who want to
improve the code they write. This is a book that every
C# programmer should have.
Title: More Effective C#: 50 Specific Ways to Improve Your C#
Author: Bill Wagner
ISBN: 0-321-48589-0
Comments:
Just like the first book, Wagner shows even more ways to improve
your C# code. This two is a must have book for any C# programmer.
Title: Refactoring: Improving the Design of Existing Code
Author: Roberts, Brant, Fowler, Opdyke, Beck
ISBN: 0-201-48567-2
Comments:
This is a classic book on how to redo code to make it
more maintainable. Code will spend so much of its time
in maintenance that it has to be redone to work better.
This is a perfect book to show these concepts. Every
developer should have this book.
Title: Test-Driven Development in Microsoft .Net
Author: Newkirk and Vorontsov
ISBN: 0-7356-1948-4
Comments:
This book is for every developer who has never done Test Driven
Development, TDD. Chapter two and three is the heart of the book.
Showing how to do TDD as well as how to refactor using test to verify
all went well.
Title: Microsoft Windows Powershell 2.0 Programming 2nd Edition: For The Absolute Beginner
Author: Jerry Lee Ford, Jr.
ISBN: 978-1-59863-899-8
Comments:
This is one of the best beginning scripting books I
have read. It goes through the process well and has
a small project in each chapter. For anyone who wants
to learn how to script in PowerShell this is a great book.
Title: Unix Shell Programming (3rd Edition)
Author: by Stephen G. Kochan and Patrick Wood
ISBN: 978-0672324901
Comments:
This is a great book for learning how to script in Bash.
It is well written and has overall good exercises for
learning. I recommend this to all my Linux students when
we start talking about scripting.
Title: UNIX Shell Programming, 4th Edition
Author: Lowell Jay Arthur and Ted Burns
ISBN: 978-0-471-16894-2
Comments:
Although this is an older book, I used the first edition
when I was first learning how to script in Unix. This
book teachs all thress common shell - Borne, Korn, and
C Shell so it is great at comparing the different shells.
This edition is much more in depth that the first edition
and is a great book for learning.
Title: Writing Information Security Policies
Author: Scott Barman
ISBN: 1-57870-264-X
Comments:
If you find yourself in a position of having to come
up with a plan to meet OCC, HIPPA, PCI, or any other
security standard and you have no clue where to start.
Start here.
Title: Incident Response
Author: Schultz and Shumway
ISBN: 1-57870-256-9
Comments:
Every business today must be able to handle a breach
in security. It is becoming more and more common.
This book is a great starting point to help design a
good Incident Response plan.
Title: The Art of Intrusion
Author: Kevin D. Mitnick and William L. Simon
ISBN: 978-0471-78266-7
Comments:
This is one of the most entertaining and scary books you will read.
It will show exactly how far someone will go to get the information
they are looking for. This book will make anyone thing twice on their
perceptions of Computer Security.
Title: The Cuckoo"s Egg
Author: Cliff Stoll
ISBN: 978-1416507789
Comments:
This is a great book about how hackers are found when they enter
a system. Although an older book, and older technologies, the
process for finding a hacker is still very similar to what is
done today. This book will also help to show why some of the
security standards are needed, for example why are default
passwords needed to be changed.
Title: All In One CISSP Exam Guide 6th Edition
Author: Shon Harris
ISBN: 978-0071781749
Comments:
Although this is a book based on the old CISSP requirements,
it is a very good book that goes into a lot of details for
each of the ten domains of the CISSP. There is really no better
book to read for learning and understanding all the aspects of
security. The current CISSP has been combined into eight domains,
yet this older CISSP book is still relevant for the current CISSP
domains.
Books About Software Configuration Management
Title: Software Configuration Management Patterns
Author: Stephen Berczuk and Bard Appleton
ISBN: 0-201-74117-2
Comments:
This is still one of the best books on SCM. Like any other
patter book, it can be useful in any environment because it
shows how to use tool without forcing a process.
Title: Software Release Methodology
Author: Michael E. Bays
ISBN: 0-13-636564-7
Comments:
Not one of the best books to read. But Bays explanation of
branching and merging is still one of the best ever written.
It is the only part of the book I have seen other authors quote.
Title: Testing Computer Software
Author: Kaner, Nguyen, Falk
ISBN: 1-85032-847-1
Comments:
This is a great book on testing software. It is an older
book, but has some very good information on how to test
software.