Programming Books for the Non-Programmer

RedCOMET

Platinum Member
Jul 8, 2002
2,836
0
0
Hey AT Gurus,

I recently started a new job after finishing grad school with an Information Systems Management degree with a technology consulting firm. I have been placed on a project in a development role. My interests and skills are not-programming centric. Programming is the last thing I ever wanted to do as a full time job. I have no experience working as a professional software developer.

Background:
I have in fact tried to take as few programming courses as possible. And when applying to the company, I did not stress my programming projects, skills, or course work. I have taken a number of programming classes that use JAVA. I can read an API and have a good understanding of java programming concepts. I am not worried about learning new languages as required for the projects I will be working on. My team understands my lack of experience with the programming language I will be using.

One of the things i felt lacked in my course work was stressing good programming design. I learned some concepts about design patterns, but it hasn't really stuck. I was hoping AT could point in into some books that may be of use to me to make be a better programmer. Or at least give me a better foundation so I'm not completely green.

I was searching the inter-webs and a few books came up that might have useful knowledge in it. I was hoping for some feedback. (Some of the books I can access as E-books through a work, others I would purchase and hold on to as a future references. )

Code Complete: A Practical Handbook of Software Construction [Paperback]

http://www.amazon.com/Code-Complete-...1666848&sr=8-1

The Pragmatic Programmer: From Journeyman to Master [Paperback]

http://www.amazon.com/Pragmatic-Prog...pr_product_top

Refactoring: Improving the Design of Existing Code [Hardcover]

http://www.amazon.com/gp/product/020...sr=8-4&seller=

Patterns of Enterprise Application Architecture [Hardcover]

http://www.amazon.com/Patterns-Enter...1651054&sr=8-1

Clean Code: A Handbook of Agile Software Craftsmanship [Paperback]

http://www.amazon.com/Clean-Code-Han..._bxgy_b_text_c



Feedback?
 

Ken g6

Programming Moderator, Elite Member
Moderator
Dec 11, 1999
16,836
4,815
75
I learned some concepts about design patterns, but it hasn't really stuck.
Design patterns really haven't stuck with me either. Maybe I haven't found the right book or blog.

I find myself more comfortable with blogs in most cases these days. But there's one book I'd say is essential to add to your list:

Programming Pearls by Jon Bentley

http://www.amazon.com/Programming-Pe...2089490&sr=8-1

(Not to be confused with Programming Perl by Larry Wall. ;))

I gather it's a collection of magazine columns. Which I guess were something like blog posts on paper. :p But seriously it's a very good book.
 

Glitchny

Diamond Member
Sep 4, 2002
5,679
1
0
Hey AT Gurus,

I recently started a new job after finishing grad school with an Information Systems Management degree with a technology consulting firm. I have been placed on a project in a development role. My interests and skills are not-programming centric. Programming is the last thing I ever wanted to do as a full time job. I have no experience working as a professional software developer.

Background:
I have in fact tried to take as few programming courses as possible. And when applying to the company, I did not stress my programming projects, skills, or course work. I have taken a number of programming classes that use JAVA. I can read an API and have a good understanding of java programming concepts. I am not worried about learning new languages as required for the projects I will be working on. My team understands my lack of experience with the programming language I will be using.

One of the things i felt lacked in my course work was stressing good programming design. I learned some concepts about design patterns, but it hasn't really stuck. I was hoping AT could point in into some books that may be of use to me to make be a better programmer. Or at least give me a better foundation so I'm not completely green.

I was searching the inter-webs and a few books came up that might have useful knowledge in it. I was hoping for some feedback. (Some of the books I can access as E-books through a work, others I would purchase and hold on to as a future references. )

Code Complete: A Practical Handbook of Software Construction [Paperback]

http://www.amazon.com/Code-Complete-...1666848&sr=8-1

The Pragmatic Programmer: From Journeyman to Master [Paperback]

http://www.amazon.com/Pragmatic-Prog...pr_product_top

Refactoring: Improving the Design of Existing Code [Hardcover]

http://www.amazon.com/gp/product/020...sr=8-4&seller=

Patterns of Enterprise Application Architecture [Hardcover]

http://www.amazon.com/Patterns-Enter...1651054&sr=8-1

Clean Code: A Handbook of Agile Software Craftsmanship [Paperback]

http://www.amazon.com/Clean-Code-Han..._bxgy_b_text_c



Feedback?

Design Patterns is the book I used in school (2008). Was helpful, but it could be somewhat hard to use as a beginner, as it is more of a reference than a how-to. I still have it on my shelf though, lots of good info in it.

I don't have experience with the others but have heard good things about Code Complete.
 
Last edited:

Pia

Golden Member
Feb 28, 2008
1,563
0
0
Pragmatic Programmer is probably the single most useful book you can get. Code Complete is good. I wouldn't recommend Refactoring or the other Fowler book at least until you have lots of experience; my own copy of Refactoring has just gathered dust on my shelf.

While we're at it.. anyone want to recommend the best books for someone new to unit testing and TDD?

edit: seconding Ken_g6's vote for Programming Pearls - it gets into nuts and bolts of algorithmic thinking, algorithms and optimization, very good stuff.
 

RedCOMET

Platinum Member
Jul 8, 2002
2,836
0
0
In grad school, OOAD class used this book "Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design ["OOAD"], and Iterative Development"

http://www.amazon.com/Applying-UML-P...dp/0131489062/

It could have been the professor, the book, lecture or combination of the three, but nothing from that class stuck with me. Using the book to make sense of the lecture notes (and vice versa) didn't really clear things up. TA's provided conflicting advice, and the Prof was an adjunct who was not easily accessible to provide extra help.
 

TecHNooB

Diamond Member
Sep 10, 2005
7,458
1
76
Aside from reading books to give you a good background, I suggest not trying to know everything there is to know. instead, focuse on how to solve specific problems you're faced with. That will help you feel less overwhelmed and you'll probably get more done.
 

Pia

Golden Member
Feb 28, 2008
1,563
0
0
Aside from reading books to give you a good background, I suggest not trying to know everything there is to know. instead, focuse on how to solve specific problems you're faced with. That will help you feel less overwhelmed and you'll probably get more done.
It's true that "knowledge" is a poor focus, but the best books are not about detached knowledge or specific technology.

Practical Programmer can be thumbed through straight through (and productively re-visited over many years) and is about insight, professionality and learning.

Programming Pearls is about improving your craft. With a few hours of free time here and there, you can probably spend a year doing all exercises and digesting everything of value in a book like that. Another reason to not get many books at once.
 

RedCOMET

Platinum Member
Jul 8, 2002
2,836
0
0
Pragmatic Programmer is probably the single most useful book you can get. Code Complete is good. I wouldn't recommend Refactoring or the other Fowler book at least until you have lots of experience; my own copy of Refactoring has just gathered dust on my shelf.

While we're at it.. anyone want to recommend the best books for someone new to unit testing and TDD?

edit: seconding Ken_g6's vote for Programming Pearls - it gets into nuts and bolts of algorithmic thinking, algorithms and optimization, very good stuff.

Thanks. I'll look into Programming Pearls as well as getting Code Complete and Pragmatic Programmer.

Thanks for the advice guys. Adjusting to a role as software developer as has been a challenge since its something I'm not passionate about. Since I wasn't passionate about programming in undergrad or grad school, I didn't take a lot of programming or software engineering classes. For work, I'm going to be working on a project that requires the use of Visual Studio and .net MVC 3. Work got me set up with VS 2010 Ultimate ( with MSDN subscription), ReSharper & dotCover licenses. Additionally, they are getting me extra ram for my laptop. going from 8 gigs to 16.