My Job Went to India (And All I Got Was This Lousy Book), Chad Fowler. Economic downturn. Job cuts. Outsourcing. The ever-changing tech landscape. Although threats abound, the author offers 52 ways for computing professionals to keep their jobs, despite the market's vagaries. Choosing which technologies to focus on and which business domains to master have become at least as important as an individual's technical knowledge.
The author examines all aspects of the decision-making process so that readers can ensure they're investing their time and energy in the right areas. He also encourages readers to develop a structured plan for keeping their skills up to date so that they can compete with both the growing stable of developers in so-called low-cost countries and their higher-priced local peers.
O'Reilly; www.oreilly.com; 0-9766940-1-8; 232 pp.
Distributed Event-Based Systems, Gero Mühl, Ludger Fiege, and Peter R. Pietzuch. Today's services and data require the easy, flexible, and scalable integration of autonomous, heterogeneous components into complex systems at any time. The authors provide readers with an in-depth description of event-based systems, covering a spectrum of topics that ranges from a treatment of local event matching and distributed event-forwarding algorithms, through a more practical discussion of software engineering issues raised by the event-based style, to a presentation of state-of-the-art research topics in event-based systems, such as composite event detection and security.
The authors' presentation gives researchers a comprehensive overview of the area and many hints for future research. In addition, they show the power of event-based architectures in modern system design, thus encouraging professionals to exploit this technique in next-generation, large-scale distributed applications such as information dissemination, network monitoring, enterprise application integration, or mobile systems.
Springer; www.springeronline.com; 3-540-32651-0; 386 pp.
Managing Iterative Software Development Projects, Kurt Bittner and Ian Spence. Iterative processes have gained widespread acceptance because they help software developers reduce risk and cost, manage change, improve productivity, and deliver more effective, timely solutions. But conventional project management techniques don't work well in iterative projects, and newer iterative management techniques have been poorly documented.
This book provides a relentlessly practical guide to planning, organizing, estimating, staffing, and managing any iterative project, from start to finish. The authors introduce a proven, scalable approach that improves both agility and control, satisfying the needs of developers, managers, and the business alike. Their easily understood techniques can be used with iterative methodologies ranging from the Rational Unified Process to Extreme Programming to the Microsoft Solutions Framework. Team leaders, program managers, project managers, developers, sponsors, and user representatives may find this book helpful in understanding the key drivers of success in iterative projects.
Addison-Wesley; www.awprofessional.com; 0-321-26889-X; 672 pp.
Networking Wireless Sensors, Bhaskar Krishnamachari. Wireless sensor networks promise an unprecedented fine-grained interface between the virtual and physical worlds, with applications in a wide range of fields, including industrial process control, security and surveillance, environmental sensing, and structural health monitoring. This book provides a comprehensive and organized survey of the field, showing how the core challenges of energy efficiency, robustness, and autonomy are addressed in these systems by networking techniques across multiple layers.
Other topics covered include network deployment, localization, time synchronization, wireless radio characteristics, medium access, topology control, routing, datacentric techniques, and transport protocols. The author provides comprehensive, up-to-date coverage of topics in wireless sensor networks, describing more than 100 key algorithms, protocols, and analytical results and offering many exercises that involve in-depth reasoning, calculations, and simulations.
Cambridge University Press; www.cambridge.org; 0-521-83847-9; 214 pp.
Agile Principles, Patterns, and Practices in C#, Robert C. Martin and Micah Martin. This book presents several case studies that describe the fundamentals of agile development and agile design, moving quickly from UML models to real C# code. The introductory chapters lay out the agile movement's basics, while the later chapters show proven techniques in action.
This book can help readers understand agile principles and the 14 practices of extreme programming; spiking, splitting, velocity, and planning iterations and releases; test-driven development, test-first design, and acceptance testing; refactoring with unit testing; pair programming; the five types of UML diagrams and how to use them effectively; and object-oriented package design and design patterns. C#, Visual Basic, and Java programmers learning C# may find this book useful, as might software development managers and business analysts.
Prentice Hall; www.prenhall.com; 0-13-185725-8; 768 pp.