The Fundamentals of Software
Good software design is simple and easy to understand. Unfortunately, the average computer program today is so complex that no one could possibly comprehend how all the code works. This concise guide helps you understand the fundamentals of good design through scientific laws - principles you can apply more » to any programming language or project from here to eternity.
Whether you're a junior programmer, senior software engineer, or non-technical manager, you'll learn how to create a sound plan for your software project, and make better decisions about the pattern and structure of your system. « less
Writing Readable Code
Author Nicholas Zakas assembled this collection of best practices as a front-end tech leader at Yahoo!, after completing his own journey from solo hacker to team player. He also includes rules recommended by other industry authorities. Use these tips and techniques to help your team set aside individual preferences and function at a higher level. « less
Navigate Your Workplace, Cube Farm, or Startup
Programming at industry level requires new skills - you'll build programs that dwarf anything you've done on your own. This book introduces you to practices for working on large-scale, long-lived programs at a professional level of quality. You'll find out how to work efficiently with your current tools, more » and discover essential new tools.
But the tools are only part of the story; you've got to get street-smart too. Succeeding in the corporate working environment requires its own savvy. You'll learn how to navigate the office, work with your teammates, and how to deal with other people outside of your department. You'll understand where you fit into the big picture and how you contribute to the company's success. You'll also get a candid look at the tougher aspects of the job: stress, conflict, and office politics. « less
Behaviour-Driven Development for Testers and Developers
Matt Wynne and Aslak Hellesoy show you how to express your customers wild ideas as a set of clear, executable specifications that everyone on the team can read. You'll learn how to feed those examples into Cucumber and let it guide your development. You'll build just the right code to keep your customers more » happy, and not a line more. Although it was born in the Ruby community, you can use Cucumber to test almost any system, from a simple shell script or Perl script, to web applications written in PHP, Java, or any platform. « less
What Real Programmers Do
There are no trite superlatives here. Packed with lessons learned from more than a decade of software development experience, author Ka Wai Cheung takes you through the programming profession from nearly every angle to uncover ways of sustaining a healthy connection with your work.
You'll see how to more » stay productive even on the longest projects. You'll create a workflow that works with you, not against you. And you'll learn how to deal with clients whose goals donât align with your own. If you don't handle them just right, issues such as these can crush even the most seasoned, motivated developer. But with the right approach, you can transcend these common problems and become the professional developer you want to be. « less
Analytics for Improving Software Teams
How can you help your software team improve? This concise book introduces codermetrics, a clear and objective way to identify, analyze, and discuss the successes and failures of software engineers-not as part of a performance review, but as a way to make the team a more cohesive and productive unit.
Experienced more » team builder Jonathan Alexander explains how codermetrics helps teams understand exactly what occurred during a project, and enables each coder to focus on specific improvements. Alexander presents a variety of simple and complex codermetrics, and teaches you how to create your own. « less
Pro Agile .NET Development with Scrum guides you through a real-world ASP.NET project and shows how agile methodology is put into practice.
There is plenty of literature on the theory behind agile methodologies, but no book on the market takes the concepts of agile practices and applies these in a practical more » manner to an end-to-end ASP.NET project, especially the estimating, requirements and management aspects of a project. Pro Agile .NET Development with Scrum takes you through the initial stages of a project - gathering requirements and setting up an environment - through to the development and deployment stages using an agile iterative approach: namely, Scrum. « less
Software Development and Professional Practice reveals how to design and code great software. What factors do you take into account? What makes a good design? What methods and processes are out there for designing software? Is designing small programs different than designing large ones? How can you more » tell a good design from a bad one? You'll learn the principles of good software design, and how to turn those principles back into great code.
This book introduces you to software engineering-the application of engineering principles to the development of software. What are these engineering principles? First, all engineering efforts follow a defined process. So, you'll be spending a bit of time talking about how you run a software development project and the different phases of a project. Secondly, all engineering work has a basis in the application of science and mathematics to real-world problems. And so does software development! You'll therefore take the time to examine how to design and implement programs that solve specific problems. « less
Bring behaviour-driven development to infrastructure as code
Test-Driven Infrastructure with Chef demonstrates a radical approach to developing web infrastructure that combines the powerful Chef configuration management framework with Cucumber, the leading Behavior-driven development (BDD) tool. Learn how to deliver real business value by developing infrastructure more » code test-first.
Infrastructure consultant Stephen Nelson-Smith shows you how this unique approach allows you to make significant changes without the fear of unexpected side effects - a great benefit when you're developing code to control your production infrastructures. By using the test-first approach introduced in this book, you gain increased security, code quality, and peace of mind. « less
Leading Programmers Explain How They Think
How do the experts solve difficult problems in software development? In this unique and insightful book, leading computer scientists offer case studies that reveal how they found unusual, carefully designed solutions to high-profile projects. You will be able to look over the shoulder of major coding more » and design experts to see problems through their eyes.
This is not simply another design patterns book, or another software engineering treatise on the right and wrong way to do things. The authors think aloud as they work through their project's architecture, the tradeoffs made in its construction, and when it was important to break rules. « less