Badass: Making Users Awesome


Kathy Sierra - 2015
    The rules? No marketing budget, no PR stunts, and it must be sustainably successful. No short-term fads.This is not a game of chance. It is a game of skill and strategy.And it begins with a single question: given competing products of equal pricing, promotion, and perceived quality, why does one outsell the others?The answer doesn’t live in the sustainably successful products or services. The answer lives in those who use them.Our goal is to craft a strategy for creating successful users. And that strategy is full of surprising, counter-intuitive, and astonishingly simple techniques that don’t depend on a massive marketing or development budget. Techniques typically overlooked by even the most well-funded, well-staffed product teams.Every role is a key player in this game. Product development, engineering, marketing, user experience, support—everyone on the team. Even if that team is a start-up of one. Armed with a surprisingly overlooked science and a unique POV, we can can reduce the role of luck. We can build sustainably successful products and services that rely not on unethical persuasive marketing tricks but on helping our users have deeper, richer experiences. Not just in the moments while they’re using our product but, more importantly, in the moments when they aren’t.

Kafka: The Definitive Guide: Real-Time Data and Stream Processing at Scale


Neha Narkhede - 2017
    And how to move all of this data becomes nearly as important as the data itself. If you� re an application architect, developer, or production engineer new to Apache Kafka, this practical guide shows you how to use this open source streaming platform to handle real-time data feeds.Engineers from Confluent and LinkedIn who are responsible for developing Kafka explain how to deploy production Kafka clusters, write reliable event-driven microservices, and build scalable stream-processing applications with this platform. Through detailed examples, you� ll learn Kafka� s design principles, reliability guarantees, key APIs, and architecture details, including the replication protocol, the controller, and the storage layer.Understand publish-subscribe messaging and how it fits in the big data ecosystem.Explore Kafka producers and consumers for writing and reading messagesUnderstand Kafka patterns and use-case requirements to ensure reliable data deliveryGet best practices for building data pipelines and applications with KafkaManage Kafka in production, and learn to perform monitoring, tuning, and maintenance tasksLearn the most critical metrics among Kafka� s operational measurementsExplore how Kafka� s stream delivery capabilities make it a perfect source for stream processing systems

The Elements of Programming Style


Brian W. Kernighan - 1974
    Elements of programming.

Structure and Interpretation of Computer Programs


Harold Abelson - 1984
    This long-awaited revision contains changes throughout the text. There are new implementations of most of the major programming systems in the book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experience teaching the course at MIT since the first edition was published. A new theme has been introduced that emphasizes the central role played by different approaches to dealing with time in computational models: objects with state, concurrent programming, functional programming and lazy evaluation, and nondeterministic programming. There are new example sections on higher-order procedures in graphics and on applications of stream processing in numerical programming, and many new exercises. In addition, all the programs have been reworked to run in any Scheme implementation that adheres to the IEEE standard.

Programming Interviews Exposed: Secrets to Landing Your Next Job (Programmer to Programmer)


John Mongan - 2000
    This classic book uncovers what interviews are really like at America's top software and computer companies and provides you with the tools to succeed in any situation. The authors take you step-by-step through new problems and complex brainteasers they were asked during recent technical interviews. 50 interview scenarios are presented along with in-depth analysis of the possible solutions. The problem-solving process is clearly illustrated so you'll be able to easily apply what you've learned during crunch time. You'll also find expert tips on what questions to ask, how to approach a problem, and how to recover if you become stuck. All of this will help you ace the interview and get the job you want.What you will learn from this bookTips for effectively completing the job application Ways to prepare for the entire programming interview process How to find the kind of programming job that fits you best Strategies for choosing a solution and what your approach says about you How to improve your interviewing skills so that you can respond to any question or situation Techniques for solving knowledge-based problems, logic puzzles, and programming problems Who this book is for This book is for programmers and developers applying for jobs in the software industry or in IT departments of major corporations.Wrox Beginning guides are crafted to make learning programming languages and technologies easier than you think, providing a structured, tutorial format that will guide you through all the techniques involved.

Automate the Boring Stuff with Python: Practical Programming for Total Beginners


Al Sweigart - 2014
    But what if you could have your computer do them for you?In "Automate the Boring Stuff with Python," you'll learn how to use Python to write programs that do in minutes what would take you hours to do by hand no prior programming experience required. Once you've mastered the basics of programming, you'll create Python programs that effortlessly perform useful and impressive feats of automation to: Search for text in a file or across multiple filesCreate, update, move, and rename files and foldersSearch the Web and download online contentUpdate and format data in Excel spreadsheets of any sizeSplit, merge, watermark, and encrypt PDFsSend reminder emails and text notificationsFill out online formsStep-by-step instructions walk you through each program, and practice projects at the end of each chapter challenge you to improve those programs and use your newfound skills to automate similar tasks.Don't spend your time doing work a well-trained monkey could do. Even if you've never written a line of code, you can make your computer do the grunt work. Learn how in "Automate the Boring Stuff with Python.""

Building Mobile Apps at Scale: 39 Engineering Challenges


Gergely Orosz - 2021
    By scale, we mean having numbers of users in the millions and being built by large engineering teams.For mobile engineers, this book is a blueprint for modern app engineering approaches. For non-mobile engineers and managers, it is a resource with which to build empathy and appreciation for the complexity of world-class mobile engineering.

Extreme Ownership: How U.S. Navy SEALs Lead and Win


Jocko Willink - 2015
    you teach guys and gals about leadership and you've helped not only military guys but families." - Megyn Kelly"You show in the book how to motivate... thanks for writing the book Extreme Ownership." Bill O'Reilly"[Jocko] is the co-author of an incredible new book - which I've been loving. Trust me. Buy it." - Tim Ferriss"This is a life-learning lesson for everyone... the book is awesome." - Sean HannitySent to the most violent battlefield in Iraq, Jocko Willink and Leif Babin’s SEAL task unit faced a seemingly impossible mission: help U.S. forces secure Ramadi, a city deemed “all but lost.” In gripping firsthand accounts of heroism, tragic loss, and hard-won victories in SEAL Team Three’s Task Unit Bruiser, they learned that leadership—at every level—is the most important factor in whether a team succeeds or fails.Willink and Babin returned home from deployment and instituted SEAL leadership training that helped forge the next generation of SEAL leaders. After departing the SEAL Teams, they launched Echelon Front, a company that teaches these same leadership principles to businesses and organizations. From promising startups to Fortune 500 companies, Babin and Willink have helped scores of clients across a broad range of industries build their own high-performance teams and dominate their battlefields.Now, detailing the mind-set and principles that enable SEAL units to accomplish the most difficult missions in combat, Extreme Ownership shows how to apply them to any team, family or organization. Each chapter focuses on a specific topic such as Cover and Move, Decentralized Command, and Leading Up the Chain, explaining what they are, why they are important, and how to implement them in any leadership environment.A compelling narrative with powerful instruction and direct application, Extreme Ownership revolutionizes business management and challenges leaders everywhere to fulfill their ultimate purpose: lead and win.

The Software Craftsman: Professionalism, Pragmatism, Pride


Sandro Mancuso - 2014
    Why? Too many organizations still view software development as just another production line. Too many developers feel that way, too--and they behave accordingly. In The Software Craftsman: Professionalism, Pragmatism, Pride, Sandro Mancuso offers a better and more fulfilling path. If you want to develop software with pride and professionalism; love what you do and do it with excellence; and build a career with autonomy, mastery, and purpose, it starts with the recognition that you are a craftsman. Once you embrace this powerful mindset, you can achieve unprecedented levels of technical excellence and customer satisfaction. Mancuso helped found the world's largest organization of software craftsmen; now, he shares what he's learned through inspiring examples and pragmatic advice you can use in your company, your projects, and your career. You will learn Why agile processes aren't enough and why craftsmanship is crucial to making them work How craftsmanship helps you build software right and helps clients in ways that go beyond code How and when to say "No" and how to provide creative alternatives when you do Why bad code happens to good developers and how to stop creating and justifying it How to make working with legacy code less painful and more productive How to be pragmatic--not dogmatic--about your practices and tools How to lead software craftsmen and attract them to your organization What to avoid when advertising positions, interviewing candidates, and hiring developers How developers and their managers can create a true culture of learning How to drive true technical change and overcome deep patterns of skepticism Sandro Mancuso has coded for startups, software houses, product companies, international consultancies, and investment banks. In October 2013, he cofounded Codurance, a consultancy based on Software Craftsmanship principles and values. His involvement with Software Craftsmanship began in 2010, when he founded the London Software Craftsmanship Community (LSCC), now the world's largest and most active Software Craftsmanship community, with more than two thousand craftsmen. For the past four years, he has inspired and helped developers to organize Software Craftsmanship communities throughout Europe, the United States, and the rest of the world.

Start Small, Stay Small: A Developer's Guide to Launching a Startup


Rob Walling - 2010
    If you're a desktop, mobile or web developer, this book is your blueprint to getting your startup off the ground with no outside investment.This book intentionally avoids topics restricted to venture-backed startups such as: honing your investment pitch, securing funding, and figuring out how to use the piles of cash investors keep placing in your lap.This book assumes:* You don't have $6M of investor funds sitting in your bank account* You're not going to relocate to the handful of startup hubs in the world* You're not going to work 70 hour weeks for low pay with the hope of someday making millions from stock optionsThere's nothing wrong with pursuing venture funding and attempting to grow fast like Amazon, Google, Twitter, and Facebook. It just so happened that most people are not in a place to do this.

The Hundred-Page Machine Learning Book


Andriy Burkov - 2019
    During that week, you will learn almost everything modern machine learning has to offer. The author and other practitioners have spent years learning these concepts.Companion wiki — the book has a continuously updated wiki that extends some book chapters with additional information: Q&A, code snippets, further reading, tools, and other relevant resources.Flexible price and formats — choose from a variety of formats and price options: Kindle, hardcover, paperback, EPUB, PDF. If you buy an EPUB or a PDF, you decide the price you pay!Read first, buy later — download book chapters for free, read them and share with your friends and colleagues. Only if you liked the book or found it useful in your work, study or business, then buy it.

Elements of Programming


Alexander Stepanov - 2009
    And then we wonder why software is notorious for being delivered late and full of bugs, while other engineers routinely deliver finished bridges, automobiles, electrical appliances, etc., on time and with only minor defects. This book sets out to redress this imbalance. Members of my advanced development team at Adobe who took the course based on the same material all benefited greatly from the time invested. It may appear as a highly technical text intended only for computer scientists, but it should be required reading for all practicing software engineers." --Martin Newell, Adobe Fellow"The book contains some of the most beautiful code I have ever seen." --Bjarne Stroustrup, Designer of C++"I am happy to see the content of Alex's course, the development and teaching of which I strongly supported as the CTO of Silicon Graphics, now available to all programmers in this elegant little book." --Forest Baskett, General Partner, New Enterprise Associates"Paul's patience and architectural experience helped to organize Alex's mathematical approach into a tightly-structured edifice--an impressive feat!" --Robert W. Taylor, Founder of Xerox PARC CSL and DEC Systems Research Center Elements of Programming provides a different understanding of programming than is presented elsewhere. Its major premise is that practical programming, like other areas of science and engineering, must be based on a solid mathematical foundation. The book shows that algorithms implemented in a real programming language, such as C++, can operate in the most general mathematical setting. For example, the fast exponentiation algorithm is defined to work with any associative operation. Using abstract algorithms leads to efficient, reliable, secure, and economical software.This is not an easy book. Nor is it a compilation of tips and tricks for incremental improvements in your programming skills. The book's value is more fundamental and, ultimately, more critical for insight into programming. To benefit fully, you will need to work through it from beginning to end, reading the code, proving the lemmas, and doing the exercises. When finished, you will see how the application of the deductive method to your programs assures that your system's software components will work together and behave as they must.The book presents a number of algorithms and requirements for types on which they are defined. The code for these descriptions--also available on the Web--is written in a small subset of C++ meant to be accessible to any experienced programmer. This subset is defined in a special language appendix coauthored by Sean Parent and Bjarne Stroustrup.Whether you are a software developer, or any other professional for whom programming is an important activity, or a committed student, you will come to understand what the book's experienced authors have been teaching and demonstrating for years--that mathematics is good for programming, and that theory is good for practice.

Great Teams: 16 Things High Performing Organizations Do Differently


Don Yaeger - 2016
    Inspiring that to happen year-in and year-out is what keeps us in leadership. Don Yaeger has studied the best of the best. Now it is our turn to study this book.—Mike Krzyzewski, five-time NCAA Tournament Champion, two-time Olympic Gold Medal Winning Basketball coach, Duke University Men’s BasketballWhat makes a team great? Not just good. Not just functional. But great?Over the last six years, long-time Sports Illustrated associate editor Don Yaeger has been invited by some of the greatest companies in the world to speak about the habits of high-performing individuals. Delivering an average of 80 keynote speeches per year, Don was approached by his most consistent client, Microsoft, to develop a talk on what allowed some teams to play at a championship level year after year. From Microsoft and Starbucks to the New England Patriots and San Antonio Spurs, what do some organizations do seemingly better than most all of their opponents?Don took the challenge. He began building into his travel schedule opportunities to interview our generation’s greatest team builders from the sports and business worlds. During this process, he has conducted more than 100 interviews with some of the most successful teams and organizations in the country. From those interviews, Don has identified 16 habits that drive these high-performing teams.Building on the stories, examples, and first-hand accounts, each chapter in  Great Teams  comes with applicable examples on how to apply these characteristics in any organization.  Great Teams  is the ultimate intersection of the sports and business worlds and a powerful companion for thought leaders, teams, managers, and organizations that seek to perform similarly. The insight shared in this book is sure to enhance any team in its pursuit of excellence. Great Teams Understand the “Why”Great Teams Allow Culture to Shape Who They RecruitGreat Teams Run Successful HuddlesGreat Teams Manage Dysfunction, Friction, and Strong PersonalitiesGreat Teams See Value Others MissGreat Teams Know How to Win in Critical SituationsGreat Teams Embrace ChangeGreat Teams Build a Mentoring CultureGreat Teams Have a Rallying CryIt takes a special formula to construct championship quality teams and in this book by Don Yaeger you will be able to see how great teams are formulated. Don Yaeger is Awesome, baby, with a capital "A"! –Dick Vitale, Hall of Fame broadcaster, ESPN Everyone wants to work on or play on a Great Team. The differentiator I’ve noticed is that the best teams pay close attention to and protect their culture and their people. Don Yaeger shows in this book that the same lessons are true on the sporting fields. There’s much to be learned within these pages and I know you’ll enjoy.  –Gary Kelly, CEO and Chairman of Southwest Airlines There are so many parallels between building a great sports team and building a corporate one, not the least of which that great culture makes amazing things possible. Great Teams by Don Yaeger provides a roadmap for all of us...in either of those worlds.—GJ Hart, CEO, California Pizza Kitchen

The 4 Disciplines of Execution: Achieving Your Wildly Important Goals


Chris McChesney - 2011
    A #1 Wall Street Journal bestseller with more than 500,000 copies sold, The Four Disciplines of Execution will radically change your business.Do you remember the last major initiative you watched die in your organization? Did it go down with a loud crash? Or was it slowly and quietly suffocated by other competing priorities? By the time it finally disappeared, it’s likely no one even noticed. What happened? Often, the answer is that the “whirlwind” of urgent activity required to keep things running day-to-day devoured all the time and energy you needed to invest in executing your strategy for tomorrow. The 4 Disciplines of Execution can change that forever. The 4 Disciplines of Execution (4DX) is a simple, repeatable, and proven formula for executing your most important strategic priorities in the midst of the whirlwind. By following the 4 Disciplines—Focus on the Wildly Important; Act on Lead Measures; Keep a Compelling Scoreboard; Create a Cadence of Accountability—leaders can produce breakthrough results, even when executing the strategy requires a significant change in behavior from their teams. 4DX is not theory. It is a proven set of practices that have been tested and refined by hundreds of organizations and thousands of teams over many years. When a company or an individual adheres to these disciplines, they achieve superb results, regardless of the goal. 4DX represents a new way to think and work that is essential to thriving in today’s competitive climate. The 4 Disciplines of Execution is one book that no business leader can afford to miss.

Operating Systems: Three Easy Pieces


Remzi H. Arpaci-Dusseau - 2012
    Topics are broken down into three major conceptual pieces: Virtualization, Concurrency, and Persistence. Includes all major components of modern systems including scheduling, virtual memory management, disk subsystems and I/O, file systems, and even a short introduction to distributed systems.