Staff Engineer: Leadership Beyond the Management Track


Will Larson - 2021
    At that career level, you’ll no longer be required to work towards the next promotion, and being promoted beyond it is exceptional rather than expected. At that point your career path will branch, and you have to decide between remaining at your current level, continuing down the path of technical excellence to become a Staff Engineer, or switching into engineering management. Of course, the specific titles vary by company, and you can replace “Senior Engineer” and “Staff Engineer” with whatever titles your company prefers. Over the past few years we’ve seen a flurry of books unlocking the engineering management career path, like Camille Fournier’s The Manager’s Path, Julie Zhuo’s The Making of a Manager, Lara Hogan’s Resilient Management and my own, An Elegant Puzzle. The management career isn’t an easy one, but increasingly there are maps available for navigating it. On the other hand, the transition into Staff Engineer, and its further evolutions like Principal and Distinguished Engineer, remains challenging and undocumented. What are the skills you need to develop to reach Staff Engineer? Are technical abilities alone sufficient to reach and succeed in that role? How do most folks reach this role? What is your manager’s role in helping you along the way? Will you enjoy being a Staff Engineer or you will toil for years to achieve a role that doesn’t suit you? "Staff Engineer: Leadership beyond the management track" is a pragmatic look at attaining and operating in these Staff-plus roles.

Think Like a Programmer: An Introduction to Creative Problem Solving


V. Anton Spraul - 2012
    In this one-of-a-kind text, author V. Anton Spraul breaks down the ways that programmers solve problems and teaches you what other introductory books often ignore: how to Think Like a Programmer. Each chapter tackles a single programming concept, like classes, pointers, and recursion, and open-ended exercises throughout challenge you to apply your knowledge. You'll also learn how to:Split problems into discrete components to make them easier to solve Make the most of code reuse with functions, classes, and libraries Pick the perfect data structure for a particular job Master more advanced programming tools like recursion and dynamic memory Organize your thoughts and develop strategies to tackle particular types of problems Although the book's examples are written in C++, the creative problem-solving concepts they illustrate go beyond any particular language; in fact, they often reach outside the realm of computer science. As the most skillful programmers know, writing great code is a creative art—and the first step in creating your masterpiece is learning to Think Like a Programmer.

Linux System Programming: Talking Directly to the Kernel and C Library


Robert Love - 2007
    With this comprehensive book, Linux kernel contributor Robert Love provides you with a tutorial on Linux system programming, a reference manual on Linux system calls, and an insider’s guide to writing smarter, faster code.Love clearly distinguishes between POSIX standard functions and special services offered only by Linux. With a new chapter on multithreading, this updated and expanded edition provides an in-depth look at Linux from both a theoretical and applied perspective over a wide range of programming topics, including:A Linux kernel, C library, and C compiler overviewBasic I/O operations, such as reading from and writing to filesAdvanced I/O interfaces, memory mappings, and optimization techniquesThe family of system calls for basic process managementAdvanced process management, including real-time processesThread concepts, multithreaded programming, and PthreadsFile and directory managementInterfaces for allocating memory and optimizing memory accessBasic and advanced signal interfaces, and their role on the systemClock management, including POSIX clocks and high-resolution timers

The Charcoal Foundry


David J. Gingery - 1980
    It really is cheap and easy with a simple solid fuel furnace. Here are plans to build the melting furnace and instructions for basic pattern making and molding to get your shop project under way. Charcoal is the fuel and aluminum and zinc alloys are the metals to cast. None of the pulsation or roar associated with gas fired furnaces. Build your own molding bench and flasks. Make your own melting pots and most of the simple tools required. Discover how cheap and easy it is. Even if you already have a lathe and other equipment this simple foundry setup will greatly expand the capacity of your shop by providing you with a supply of cheap castings for your projects. Discover why so many shop hands say "Metal Casting has opened a whole new world of shop experience". Heavily illustrated with many photographs that will show you step - by - step how to build a foundry.

Machinery's Handbook


Erik Oberg - 1914
    The speeds and feeds section has been revised, updated and expanded to include new materials, more cutting tools, and tool life estimates. The welding section has been rewritten to incorporate recent developments, the numerical control section has been expanded and rearranged to facilitate use, and logarithm and trigonometry tables have been reinstated. New to this edition are sections on bolt tightening torques, motion control sections, ISO 9000, lasers, dividing heads, bandsaws (including speeds and feeds), electrical discharge machining, retaining rings, machinability of wood, and collets. In addition, all the practical information and data has been reviewed and updated where necessary.

More about Software Requirements: Thorny Issues and Practical Advice: Thorny Issues and Practical Advice


Karl Wiegers - 2005
    Too often, lessons about requirements engineering processes lack the no-nonsense guidance that supports real-world solutions. Complementing the best practices presented in his book, Software Requirements, Second Edition, requirements engineering authority Karl Wiegers tackles even more of the real issues head-on in this book. With straightforward, professional advice and practical solutions based on actual project experiences, this book answers many of the tough questions raised by industry professionals. From strategies for estimating and working with customers to the nuts and bolts of documenting requirements, this essential companion gives developers, analysts, and managers the cosmic truths that apply to virtually every software development project. Discover how to: - Make the business case for investing in better requirements practices - Generate estimates using three specific techniques - Conduct inquiries to elicit meaningful business and user requirements - Clearly document project scope - Implement use cases, scenarios, and user stories effectively - Improve inspections and peer reviews - Write requirements that avoid ambiguity

13 Things That Don't Make Sense: The Most Baffling Scientific Mysteries of Our Time


Michael Brooks - 2008
    The effects of homeopathy don’t go away under rigorous scientific conditions. The laws of nature aren’t what they used to be. Thirty years on, no one has an explanation for a seemingly intelligent signal received from outer space. The US Department of Energy is re-examining cold fusion because the experimental evidence seems too solid to ignore. The placebo effect is put to work in medicine while doctors can’t agree whether it even exists.In an age when science is supposed to be king, scientists are beset by experimental results they simply can’t explain. But, if the past is anything to go by, these anomalies contain the seeds of future revolutions. While taking readers on an entertaining tour d’horizon of the strangest of scientific findings – involving everything from our lack of free will to Martian methane that offers new evidence of life on the planet – Michael Brooks argues that the things we don’t understand are the key to what we are about to discover.This mind-boggling but entirely accessible survey of the outer limits of human knowledge is based on a short article by Michael Brooks for New Scientist magazine. It became the sixth most circulated story on the internet in 2005, and provoked widespread comment and compliments (Google “13 things that do not make sense” to see).Michael Brooks has now dug deeply into those mysteries, with extraordinary results.

The Art of Tinkering: Meet 150+ Makers Working at the Intersection of Art, Science Technology


Karen Wilkinson - 2013
    Join 150+ makers as they share the stories behind their beautiful and bold work—and use the special conductive ink on the cover to do some tinkering yourself!Brought to you by the Exploratorium’s Tinkering Studio.

Python Crash Course: A Hands-On, Project-Based Introduction to Programming


Eric Matthes - 2015
    You'll also learn how to make your programs interactive and how to test your code safely before adding it to a project. In the second half of the book, you'll put your new knowledge into practice with three substantial projects: a Space Invaders-inspired arcade game, data visualizations with Python's super-handy libraries, and a simple web app you can deploy online.As you work through Python Crash Course, you'll learn how to: Use powerful Python libraries and tools, including matplotlib, NumPy, and PygalMake 2D games that respond to keypresses and mouse clicks, and that grow more difficult as the game progressesWork with data to generate interactive visualizationsCreate and customize simple web apps and deploy them safely onlineDeal with mistakes and errors so you can solve your own programming problemsIf you've been thinking seriously about digging into programming, Python Crash Course will get you up to speed and have you writing real programs fast. Why wait any longer? Start your engines and code!

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.

Design Patterns: Elements of Reusable Object-Oriented Software


Erich Gamma - 1994
    Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves.The authors begin by describing what patterns are and how they can help you design object-oriented software. They then go on to systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems. With Design Patterns as your guide, you will learn how these important patterns fit into the software development process, and how you can leverage them to solve your own design problems most efficiently. Each pattern describes the circumstances in which it is applicable, when it can be applied in view of other design constraints, and the consequences and trade-offs of using the pattern within a larger design. All patterns are compiled from real systems and are based on real-world examples. Each pattern also includes code that demonstrates how it may be implemented in object-oriented programming languages like C++ or Smalltalk.

Journey through Genius: The Great Theorems of Mathematics


William Dunham - 1990
    Now William Dunham gives them the attention they deserve.Dunham places each theorem within its historical context and explores the very human and often turbulent life of the creator — from Archimedes, the absentminded theoretician whose absorption in his work often precluded eating or bathing, to Gerolamo Cardano, the sixteenth-century mathematician whose accomplishments flourished despite a bizarre array of misadventures, to the paranoid genius of modern times, Georg Cantor. He also provides step-by-step proofs for the theorems, each easily accessible to readers with no more than a knowledge of high school mathematics.A rare combination of the historical, biographical, and mathematical, Journey Through Genius is a fascinating introduction to a neglected field of human creativity.

The Visual Display of Quantitative Information


Edward R. Tufte - 1983
    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. This is the second edition of The Visual Display of Quantitative Information. Recently published, this new edition provides excellent color reproductions of the many graphics of William Playfair, adds color to other images, and includes all the changes and corrections accumulated during 17 printings of the first edition.

Expert Card Technique


Jean Hugard - 1940
    You may try to cover up by doing a more difficult trick and fail again. The way out of this dilemma, however, is not immediate, but it is reliable: a surer mastery of technique. This means the proper instruction book, and practice.In this definitive work on card technique, step-by-step instructions teach you the correct methods for the basic manipulations and the more advanced flourishes, and only then allow you to learn tricks. Offering the most foolproof methods available, Jean Hugard and Fredrick Braue explain such basic manipulations as the palm, the shuffle, the lift, the side slip, the pass, the glimpse, the jog, and the reverse. They detail various false deals, crimps, and changes and the more advanced execution needed for forces, fans, and the use of the prearranged deck. Also presented is a wide variety of tricks, including discoveries, self-working tricks, one-handed tricks, stranger cards, and such individually famous tricks as the four aces, the rising cards, and the Zingone spread. In addition, the authors include a complete compendium of shakedown sleights — to warn the card player and aid the entertainer — and a performer's guide to misdirection and patter.Many of the methods explained were revealed here for the first time, while many previously known tricks are presented in improved versions. In every case the aim is simplicity of technique for the purpose of mystifying an audience, not technique for the sake of technique. An unsurpassed collection of methods and manipulations, this classic work will help any aspiring magician to achieve expert card technique.

Why Buildings Fall Down: Why Structures Fail


Matthys Levy - 1992
    The stories that make up Why Buildings Fall Down are in the end very human ones, tales of the interaction of people and nature, of architects, engineers, builders, materials, and natural forces all coming together in sometimes dramatic (and always instructive) ways.