Working Effectively with Legacy Code


Michael C. Feathers - 2004
    This book draws on material Michael created for his renowned Object Mentor seminars, techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control. The topics covered include: Understanding the mechanics of software change, adding features, fixing bugs, improving design, optimizing performance Getting legacy code into a test harness Writing tests that protect you against introducing new problems Techniques that can be used with any language or platform, with examples in Java, C++, C, and C# Accurately identifying where code changes need to be made Coping with legacy systems that aren't object-oriented Handling applications that don't seem to have any structureThis book also includes a catalog of twenty-four dependency-breaking techniques that help you work with program elements in isolation and make safer changes.

Effective Java


Joshua Bloch - 2001
    The principal enhancement in Java 8 was the addition of functional programming constructs to Java's object-oriented roots. Java 7, 8, and 9 also introduced language features, such as the try-with-resources statement, the diamond operator for generic types, default and static methods in interfaces, the @SafeVarargs annotation, and modules. New library features include pervasive use of functional interfaces and streams, the java.time package for manipulating dates and times, and numerous minor enhancements such as convenience factory methods for collections. In this new edition of Effective Java, Bloch updates the work to take advantage of these new language and library features, and provides specific best practices for their use. Java's increased support for multiple paradigms increases the need for best-practices advice, and this book delivers. As in previous editions, each chapter consists of several "items," each presented in the form of a short, standalone essay that provides specific advice, insight into Java platform subtleties, and updated code examples. The comprehensive descriptions and explanations for each item illuminate what to do, what not to do, and why. Coverage includes:Updated techniques and best practices on classic topics, including objects, classes, methods, libraries, and generics How to avoid the traps and pitfalls of commonly misunderstood subtleties of the platform Focus on the language and its most fundamental libraries, such as java.lang and java.util

Business Analysis for Dummies


Kupe Kupersmith - 2013
    Those engaged in business analysis are charged with identifying the activities that enable the company to define the business problem or opportunity, define what the solutions looks like, and define how it should behave in the end. As a BA, you lay out the plans for the process ahead."Business Analysis For Dummies" is the go to reference on how to make the complex topic of business analysis easy to understand. Whether you are new or have experience with business analysis, this book gives you the tools, techniques, tips and tricks to set your project's expectations and on the path to success.Offers guidance on how to make an impact in your organization by performing business analysisShows you the tools and techniques to be an effective business analysis professionalProvides a number of examples on how to perform business analysis regardless of your roleIf you're interested in learning about the tools and techniques used by successful business analysis professionals, "Business Analysis For Dummies" has you covered.

Talking with Tech Leads


Patrick Kua - 2014
    Discover how more than 35 Tech Leads find the delicate balance between the technical and non-technical worlds. Discover the challenges a Tech Lead faces and how to overcome them. You may be surprised by the lessons they have to share.Now available at https://leanpub.com/talking-with-tech...

Hackers & Painters: Big Ideas from the Computer Age


Paul Graham - 2004
    Who are these people, what motivates them, and why should you care?Consider these facts: Everything around us is turning into computers. Your typewriter is gone, replaced by a computer. Your phone has turned into a computer. So has your camera. Soon your TV will. Your car was not only designed on computers, but has more processing power in it than a room-sized mainframe did in 1970. Letters, encyclopedias, newspapers, and even your local store are being replaced by the Internet.Hackers & Painters: Big Ideas from the Computer Age, by Paul Graham, explains this world and the motivations of the people who occupy it. In clear, thoughtful prose that draws on illuminating historical examples, Graham takes readers on an unflinching exploration into what he calls “an intellectual Wild West.”The ideas discussed in this book will have a powerful and lasting impact on how we think, how we work, how we develop technology, and how we live. Topics include the importance of beauty in software design, how to make wealth, heresy and free speech, the programming language renaissance, the open-source movement, digital design, internet startups, and more.

Mobile App Marketing And Monetization: How To Promote Mobile Apps Like A Pro: Learn to promote and monetize your Android or iPhone app. Get hundreds of thousands of downloads & grow your app business


Alex Genadinik - 2014
     I am an independent mobile app entrepreneur just like you, and I wrote this book to teach you all my strategies for how to: - Get 1,000,000+ downloads from mobile app store marketing - Save money by doing your own ASO (search engine optimization SEO for Android and the Apple App stores) better than most consultants you might consider hiring - Create an app marketing strategy outside the app stores by getting press coverage and learning how to promote an app using social media and social sharing - Make money with effective app store monetization to help you maximize your app revenue with subscriptions, in-app purchases, publishing effective ads, selling affiliate products and other strategies used by successful mobile app businesses - Create a successful mobile app business I wrote this book with all my heart and soul. The book draws on my own years of experience building top apps in my niche, promoting apps, making money with my apps, and coaching other app entrepreneurs on how they can make turn their mobile apps into successful businesses. You will be getting the best of all worlds. First, I have very deep hands on experience building and growing my own apps. Second, I have a wealth of experience coaching and observing other app entrepreneurs whose experiences and aspirations are probably very similar to yours. In this book you get all the insights from me making my own apps a success, and the insights of the cumulative experiences of the people I've coached. This is a very to the point book with many actionable tips and strategies for how to promote your mobile app (iPhone or Android), make money from your smartphone applications, and generally treat it as a real business. All suggestions in this book are based on my own experiences promoting my own problemio.com business apps which at the point of latest revision of this book have cumulative 1,000,000+ downloads, and insights of me having coached over 100 other app entrepreneurs. I am an independent mobile application developer and mobile application entrepreneur just like you. I am not a multi-million dollar app development studio or a big company. If you are an independent app developer just like me, you can use the mobile application marketing strategies that I outline in this book. Many of the strategies are simple and effective, and you can begin working on them as early as today. The book contains over 20 strategies to promote your apps. They all worked for my apps and they will help you grow your app to its highest potential. After growing your app, you will be able to make good money from your app, and achieve the goals that you have for your app business. Get the book now, and become a pro at app store marketing (app store SEO which is otherwise known as ASO), and start increasing your app downloads and revenue today!

Spam Nation: The Inside Story of Organized Cybercrime — from Global Epidemic to Your Front Door


Brian Krebs - 2014
    Tracing the rise, fall, and alarming resurrection of the digital mafia behind the two largest spam pharmacies and countless viruses, phishing, and spyware attacks he delivers the first definitive narrative of the global spam problem and its threat to consumers everywhere.Blending cutting-edge research, investigative reporting, and firsthand interviews, this terrifying true story reveals how we unwittingly invite these digital thieves into our lives every day. From unassuming computer programmers right next door to digital mobsters like "Cosma" who unleashed a massive malware attack that has stolen thousands of Americans' logins and passwords, Krebs uncovers the shocking lengths to which these people will go to profit from our data and our wallets.Not only are hundreds of thousands of Americans exposing themselves to fraud and dangerously toxic products from rogue online pharmacies, but even those who never open junk messages are at risk. As Krebs notes, spammers can—and do—hack into accounts through these emails, harvest personal information like usernames and passwords, and sell them on the digital black market. The fallout from this global epidemic doesn't just cost consumers and companies billions, it costs lives too.Fast-paced and utterly gripping, Spam Nation ultimately proposes concrete solutions for protecting ourselves online and stemming this tidal wave of cybercrime, before it's too late."Krebs's talent for exposing the weaknesses in online security has earned him respect in the IT business and loathing among cybercriminals. His track record of scoops has helped him become the rare blogger who supports himself on the strength of his reputation for hard-nosed reporting." Bloomberg Businessweek

Design It! : Pragmatic Programmers: From Programmer to Software Architect


Michael Keeling - 2017
    Lead your team as a software architect, ask the right stakeholders the right questions, explore design options, and help your team implement a system that promotes the right -ilities. Share your design decisions, facilitate collaborative design workshops that are fast, effective, and fun-and develop more awesome software!With dozens of design methods, examples, and practical know-how, Design It! shows you how to become a software architect. Walk through the core concepts every architect must know, discover how to apply them, and learn a variety of skills that will make you a better programmer, leader, and designer. Uncover the big ideas behind software architecture and gain confidence working on projects big and small. Plan, design, implement, and evaluate software architectures and collaborate with your team, stakeholders, and other architects. Identify the right stakeholders and understand their needs, dig for architecturally significant requirements, write amazing quality attribute scenarios, and make confident decisions. Choose technologies based on their architectural impact, facilitate architecture-centric design workshops, and evaluate architectures using lightweight, effective methods. Write lean architecture descriptions people love to read. Run an architecture design studio, implement the architecture you've designed, and grow your team's architectural knowledge. Good design requires good communication. Talk about your software architecture with stakeholders using whiteboards, documents, and code, and apply architecture-focused design methods in your day-to-day practice. Hands-on exercises, real-world scenarios, and practical team-based decision-making tools will get everyone on board and give you the experience you need to become a confident software architect.

An Elegant Puzzle: Systems of Engineering Management


Will Larson - 2019
    Management is a key part of any organization, yet the discipline is often self-taught and unstructured. Getting to the good solutions of complex management challenges can make the difference between fulfillment and frustration for teams, and, ultimately, the success or failure of companies. Will Larson's An Elegant Puzzle orients around the particular challenges of engineering management--from sizing teams to technical debt to succession planning--and provides a path to the good solutions. Drawing from his experience at Digg, Uber, and Stripe, Will Larson has developed a thoughtful approach to engineering management that leaders of all levels at companies of all sizes can apply. An Elegant Puzzle balances structured principles and human-centric thinking to help any leader create more effective and rewarding organizations for engineers to thrive in.

Essential Scrum: A Practical Guide to the Most Popular Agile Process


Kenneth S. Rubin - 2012
    Leading Scrum coach and trainer Kenny Rubin illuminates the values, principles, and practices of Scrum, and describes flexible, proven approaches that can help you implement it far more effectively. Whether you are new to Scrum or years into your use, this book will introduce, clarify, and deepen your Scrum knowledge at the team, product, and portfolio levels. Drawing from Rubin's experience helping hundreds of organizations succeed with Scrum, this book provides easy-to-digest descriptions enhanced by more than two hundred illustrations based on an entirely new visual icon language for describing Scrum's roles, artifacts, and activities. Essential Scrum will provide every team member, manager, and executive with a common understanding of Scrum, a shared vocabulary they can use in applying it, and practical knowledge for deriving maximum value from it.

The Pragmatic Programmer: From Journeyman to Master


Andy Hunt - 1999
    It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you'll learn how toFight software rot; Avoid the trap of duplicating knowledge; Write flexible, dynamic, and adaptable code; Avoid programming by coincidence; Bullet-proof your code with contracts, assertions, and exceptions; Capture real requirements; Test ruthlessly and effectively; Delight your users; Build teams of pragmatic programmers; and Make your developments more precise with automation. Written as a series of self-contained sections and filled with entertaining anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best practices and major pitfalls of many different aspects of software development. Whether you're a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you'll quickly see improvements in personal productivity, accuracy, and job satisfaction. You'll learn skills and develop habits and attitudes that form the foundation for long-term success in your career. You'll become a Pragmatic Programmer.

Software Engineering at Google: Lessons Learned from Programming Over Time


Titus Winters - 2020
    With this book, you'll get a candid and insightful look at how software is constructed and maintained by some of the world's leading practitioners.Titus Winters, Tom Manshreck, and Hyrum K. Wright, software engineers and a technical writer at Google, reframe how software engineering is practiced and taught: from an emphasis on programming to an emphasis on software engineering, which roughly translates to programming over time.You'll learn:Fundamental differences between software engineering and programmingHow an organization effectively manages a living codebase and efficiently responds to inevitable changeWhy culture (and recognizing it) is important, and how processes, practices, and tools come into play

Multiple View Geometry in Computer Vision


Richard Hartley - 2000
    This book covers relevant geometric principles and how to represent objects algebraically so they can be computed and applied. Recent major developments in the theory and practice of scene reconstruction are described in detail in a unified framework. Richard Hartley and Andrew Zisserman provide comprehensive background material and explain how to apply the methods and implement the algorithms. First Edition HB (2000): 0-521-62304-9

Scalable Internet Architectures


Theo Schlossnagle - 2006
    Scalable Internet Architectures addresses these concerns by teaching you both good and bad design methodologies for building new sites and how to scale existing websites to robust, high-availability websites. Primarily example-based, the book discusses major topics in web architectural design, presenting existing solutions and how they work. Technology budget tight? This book will work for you, too, as it introduces new and innovative concepts to solving traditionally expensive problems without a large technology budget. Using open source and proprietary examples, you will be engaged in best practice design methodologies for building new sites, as well as appropriately scaling both growing and shrinking sites. Website development help has arrived in the form of Scalable Internet Architectures.

Newton's Telecom Dictionary


Harry Newton - 1991
    It includes many new standards, new technologies and new vendor-specific terms.