There are some interesting and helpful books related to our areas of expertise.

Rails basics

Book 1 6f6148112f8b367ade875aa62e9e4a84e23018ecfe9144444097f7692f00c17d

Agile Web Development with Rails 4

Will teach you all you need to know about Ruby and Rails 4 to build killer web applications.

Book 2 48a8fdef0aee0c532c6135ca66e6d1dc8675bbf63f9390cb56d2ae470e21f685

Crafting Rails 4 Applications

More advanced material, Rails core member José Valim has written

Book 3 c664ef6d65bfcb14dcc7e83597f1c2ff4c504ee711e55c427dcbca2833ab2a79

Rails Recipes

The collection of recipes that will take you step by step through the the most cutting edge Rails techniques.

Unusual book about Ruby language

Poignant 64d8c477b79fee6cae6458c5c6999bc9de34007dc6c96efd66ca57dcf740a033

Why’s (poignant) guide to Ruby

This is unlike any other guide to programming you have ever read. It features talking foxes, bizarre sidebars, and more crazy humor than most people can handle without loud chuckles.

Sofware design and development (classic)

Refactoring 2529fecc54060c8c6cba8e338f7f2be62f83d6a8d316164a00ebccf534d6d6ff

Refactoring: Improving the Design of Existing Code

Refactoring is about improving the design of existing code. Classic book by Martin Fowler.

Patterns 0f4855344fe63caee95af52019dbb243284cbfd1f17fc22ddcf2171d3b40d51b

Design Patterns: Elements of Reusable Object-Oriented Software

This is a software engineering book describing recurring solutions to common problems in software design written by "the Gang of Four".

Enterprise a04d3bc25845c3ddc22d021fed427aa1ba8a3c871b0110a52b7a91485c379024

Patterns of Enterprise Application Architecture

Another piece of mastership by Fowler.

Ssa 98f6d3b132b7ea157ca19b174ea264fb106c84fd5d837503791283ae159884d6

Software Systems Architecture

Practitioner-oriented guide to designing and implementing effective architectures for information systems by N. Rozanski and E. Woods.

Code complete 6b23571384b607577ca0199bd06d9ffadbeec005340b9e0b8efac04c13fb9b32

Code Complete

The author — Steve McConnell — talks about his experiences in the field of software engineering and more specifically on best practices in the software development.

Pearls ec0cb1cec7812a17d4b922fe3e7cd7a6f406ab607b16f1669a3caf01d9563bd0

Programming Pearls

The essays in this book present programs that go beyond solid engineering techniques to be creative and clever solutions to computer problems. The programs are fun and teach important programming tecniques and fundamental design principles. By Jon Bentley.

And even more classic

Mythical man month 05875155a360617596eedc399ff4853598c75e7b9fc2ba6270f4f480d02cf6a4

The Mythical Man-Month

Few books on software project management have been as influential and timeless as this one. With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offers insight for anyone managing complex projects.

Knuth 8b54f6705e06c9e23fb76b704314bdea2ac3f1ea0087fbf8fa818aacab8a8b53

The Art of Computer Programming

This is the bible of all fundamental algorithms and the work that taught many of today's software developers most of what they know about computer programming. Author: Donald E. Knuth.

Software design in Ruby/Rails world

Patterns ruby dfcb03b8f093ab5d82fb9483dadfbb292039ed4a6e8cdb9c7a6fc374fab3152e

Design Patterns in Ruby

This is a guide to solving real-world problems with Ruby. Taking as it’s starting point 14 of the original GoF patterns, the book reimagines them in the context of a modern dynamic programming language. By Russ Olsen.

Growing d312349fe4c2ce89c9ecbca52c17823b2a471914a6cb4311bfffad712d102d38

Growing Rails Applications in Practice

This book by Henning Koch & Thomas Eisenbarth will teach you a simpler way to scale Rails codebases. Instead of introducing new patterns or service-oriented architecture, learn to use discipline, consistency, and code organization to make your application grow more gently.

Software design and business

Zachman f50bb20725827896c2050af8c83c805c2d95ab3192d615876a09659027232f90

Enterprise Architecture Using the Zachman Framework

This book introduces The Zachman Framework, a tool to guide you through the comprehensive process of thinking, reasoning, and communicating effectively about even the most complex business problems. Using lessons from history, psychology, business and information technology, the authors use the framework to build a foundation of enterprise architecture concepts. Alignment, integration and flexibility are the core goals for delivering today's complex business solutions. It illustrates these themes and shows tomorrow's business and technology professionals how to organize, design and construct a solution for any type or size of problem.

Rework 16a1145d02cbd3aedb61477dc47818c2c4938cde4bd84cdc48d5b6eff282c8ec


Most business books give you the same old advice: Write a business plan, study the competition, seek investors, yadda yadda. If you're looking for a book like that, put this one back on the shelf.

Rework shows you a better, faster, easier way to succeed in business. Read it and you'll know why plans are actually harmful, why you don't need outside investors, and why you're better off ignoring the competition. The truth is, you need less than you think. You don't need to be a workaholic. You don't need to staff up. You don't need to waste time on paperwork or meetings. You don't even need an office. Those are all just excuses.

By David Heinemeier Hansson, the author of RubyOnRails framework.

Different paradigm

Lyah 9edfd9941232ff7b93abca072b3ecb7ab35ebdc60247ab5c2286129df47c4796

Learn You a Haskell for Great Good! A Beginner's Guide

Functional programming is an interesting paradigm, it helps to see software development from the different point of view. This book is an introduction to functional programming (with Haskell language). Although using Haskell in real world projects meets with some difficulties, ideas from this book (or from another book about functional programming) will help you in software development, even if you use an imperative paradigm. Autor: Miran Lipovača.

Some functional ideas are used in design of Ruby language (lamdas, blocks, iterators).

Design and UX

Book 4 e3a575354cc7b63849b854d2092eba498ecb4bbc0eedf97ac4f244628b0e9635

Project Guide to UX Design

Secrets of creating a useful and usable Web site or application that’s easily navigated and meets the needs of the site owner and its users.

Book 5 b3e6fb8381c101835854f266497896fc41ab2ce9570856fbcddf182b817bf57e

The Design of Everyday Things

Don Norman hails excellence of design as the most important key to regaining the competitive edge in influencing consumer behavior.

Book 6 c7b95e304aa850a14efdb34bce582b80ed13a841bb99e8d052741fd6e8bc0e89

The Humane Interface

The book presents breakthrough solutions for navigation, error management, and more, with detailed case studies from Raskin's own work.

Tufte 84ed7efeb2252e03120a8b77d3cfecfcd8bf05048007224b12ddf9721aafbc85

The Visual Display of Quantitative Information

The classic book on statistical graphics, charts, tables. Theory and practice in the design of data graphics, 250 illustrations of the best (and a few of the worst) statistical graphics, with detailed analysis of how to display data for precise, effective, quick analysis. Design of the high-resolution displays, small multiples. Editing and improving graphics. The data-ink ratio. Time-series, relational graphics, data maps, multivariate designs. Detection of graphical deception: design variation vs. data variation. Sources of deception. Aesthetics and data graphical displays.

We recommend other Edward Tufte's books too.

About very useful tool

Progit 91fe17b9c87d91dd8cfda797a321c4da0cfac86a958adc74f4dd4820c60bb5fd

Pro Git

This book is about Git. Git is the version control system developed by Linus Torvalds for Linux kernel development. It took the open source world by storm since its inception in 2005, and is used by small development shops and giants like Google, Red Hat, and IBM, and of course many open source projects. Author: Scott Chacon.

And many-many others!