Book picks similar to
Excel 2000 Formulas by John Walkenbach
nonfiction
coding
computer-books
programming
The Google Resume: How to Prepare for a Career and Land a Job at Apple, Microsoft, Google, or Any Top Tech Company
Gayle Laakmann McDowell - 2011
Gayle Laakmann McDowell worked in Google Engineering for three years, where she served on the hiring committee and interviewed over 120 candidates. She interned for Microsoft and Apple, and interviewed with and received offers from ten tech firms. If you're a student, you'll learn what to study and how to prepare while in school, as well as what career paths to consider. If you're a job seeker, you'll get an edge on your competition by learning about hiring procedures and making yourself stand out from other candidates. Covers key concerns like what to major in, which extra-curriculars and other experiences look good, how to apply, how to design and tailor your resume, how to prepare for and excel in the interview, and much more Author was on Google's hiring committee; interned at Microsoft and Apple; has received job offers from more than 10 tech firms; and runs CareerCup.com, a site devoted to tech jobs Get the only comprehensive guide to working at some of America's most dynamic, innovative, and well-paying tech companies with The Google Resume.
Unity in Action
Joseph Hocking - 2015
You'll master the Unity toolset from the ground up, adding the skills you need to go from application coder to game developer. Based on Unity version 5.About the BookThis book helps readers build successful games with the Unity game development platform. You will use the powerful C# language, Unity's intuitive workflow tools, and a state-of-the-art rendering engine to build and deploy mobile, desktop, and console games. Unity's single codebase approach minimizes inefficient switching among development tools and concentrates your attention on making great interactive experiences.Unity in Action teaches you how to write and deploy games. You'll master the Unity toolset from the ground up, adding the skills you need to go from application coder to game developer. Each sample project illuminates specific Unity features and game development strategies. As you read and practice, you'll build up a well-rounded skill set for creating graphically driven 2D and 3D game applications.You'll need to know how to program, in C# or a similar OO language. No previous Unity experience or game development knowledge is assumed.
The Effective Engineer: How to Leverage Your Efforts In Software Engineering to Make a Disproportionate and Meaningful Impact
Edmond Lau - 2015
I'm going to share that mindset with you — along with hundreds of actionable techniques and proven habits — so you can shortcut those years.Introducing The Effective Engineer — the only book designed specifically for today's software engineers, based on extensive interviews with engineering leaders at top tech companies, and packed with hundreds of techniques to accelerate your career.For two years, I embarked on a quest seeking an answer to one question:How do the most effective engineers make their efforts, their teams, and their careers more successful?I interviewed and collected stories from engineering VPs, directors, managers, and other leaders at today's top software companies: established, household names like Google, Facebook, Twitter, and LinkedIn; rapidly growing mid-sized companies like Dropbox, Square, Box, Airbnb, and Etsy; and startups like Reddit, Stripe, Instagram, and Lyft.These leaders shared stories about the most valuable insights they've learned and the most common and costly mistakes that they've seen engineers — sometimes themselves — make.This is just a small sampling of the hard questions I posed to them:- What engineering qualities correlate with future success?- What have you done that has paid off the highest returns?- What separates the most effective engineers you've worked with from everyone else?- What's the most valuable lesson your team has learned in the past year?- What advice do you give to new engineers on your team? Everyone's story is different, but many of the lessons share common themes.You'll get to hear stories like:- How did Instagram's team of 5 engineers build and support a service that grew to over 40 million users by the time the company was acquired?- How and why did Quora deploy code to production 40 to 50 times per day?- How did the team behind Google Docs become the fastest acquisition to rewrite its software to run on Google's infrastructure?- How does Etsy use continuous experimentation to design features that are guaranteed to increase revenue at launch?- How did Facebook's small infrastructure team effectively operate thousands of database servers?- How did Dropbox go from barely hiring any new engineers to nearly tripling its team size year-over-year? What's more, I've distilled their stories into actionable habits and lessons that you can follow step-by-step to make your career and your team more successful.The skills used by effective engineers are all learnable.And I'll teach them to you. With The Effective Engineer, I'll teach you a unifying framework called leverage — the value produced per unit of time invested — that you can use to identify the activities that produce disproportionate results.Here's a sneak peek at some of the lessons you'll learn. You'll learn how to:- Prioritize the right projects and tasks to increase your impact.- Earn more leeway from your peers and managers on your projects.- Spend less time maintaining and fixing software and more time building and shipping new features.- Produce more accurate software estimates.- Validate your ideas cheaply to reduce wasted work.- Navigate organizational and people-related bottlenecks.- Find the appropriate level of code reviews, testing, abstraction, and technical debt to balance speed and quality.- Shorten your debugging workflow to increase your iteration speed.
Growing Object-Oriented Software, Guided by Tests
Steve Freeman - 2009
This one's a keeper." --Robert C. Martin "If you want to be an expert in the state of the art in TDD, you need to understand the ideas in this book."--Michael Feathers Test-Driven Development (TDD) is now an established technique for delivering better software faster. TDD is based on a simple idea: Write tests for your code before you write the code itself. However, this simple idea takes skill and judgment to do well. Now there's a practical guide to TDD that takes you beyond the basic concepts. Drawing on a decade of experience building real-world systems, two TDD pioneers show how to let tests guide your development and "grow" software that is coherent, reliable, and maintainable. Steve Freeman and Nat Pryce describe the processes they use, the design principles they strive to achieve, and some of the tools that help them get the job done. Through an extended worked example, you'll learn how TDD works at multiple levels, using tests to drive the features and the object-oriented structure of the code, and using Mock Objects to discover and then describe relationships between objects. Along the way, the book systematically addresses challenges that development teams encounter with TDD--from integrating TDD into your processes to testing your most difficult features. Coverage includes - Implementing TDD effectively: getting started, and maintaining your momentum throughout the project - Creating cleaner, more expressive, more sustainable code - Using tests to stay relentlessly focused on sustaining quality - Understanding how TDD, Mock Objects, and Object-Oriented Design come together in the context of a real software development project - Using Mock Objects to guide object-oriented designs - Succeeding where TDD is difficult: managing complex test data, and testing persistence and concurrency
Build Awesome Command-Line Applications in Ruby: Control Your Computer, Simplify Your Life
David B. Copeland - 2012
With its simple commands, flags, and parameters, a well-formed command-line application is the quickest way to automate a backup, a build, or a deployment and simplify your life. As Ruby pro David Copeland explains, writing a command-line application that is self-documenting, robust, adaptable and forever useful is easier than you might think. Ruby is particularly suited to this task, since it combines high-level abstractions with "close to the metal" system interaction wrapped up in a concise, readable syntax. Moreover, Ruby has the support of a rich ecosystem of open-source tools and libraries. Ten insightful chapters each explain and demonstrate a command-line best practice. You'll see how to use these tools to elevate the lowliest automation script to a maintainable, polished application. You'll learn how to use free, open source parsers to create user-friendly command-line interfaces as well as command suites. You'll see how to use defaults to keep options simple for everyday users, while giving advanced users options for more complex tasks. There's no reason a command-line application should lack documentation, whether it's part of a help command or a man page; you'll find out when and how to use both. Your journey from command-line novice to pro ends with a look at valuable approaches to testing your apps, and includes some fun techniques for outside-the-box, colorful interfaces that will delight your users. With Ruby, the command line is not dead. Long live the command line.What You Need: All you'll need is Ruby, and the ability to install a few gems along the way. Examples written for Ruby 1.9.2, but 1.8.7 should work just as well.
Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today's Computers
John MacCormick - 2012
A simple web search picks out a handful of relevant needles from the world's biggest haystack: the billions of pages on the World Wide Web. Uploading a photo to Facebook transmits millions of pieces of information over numerous error-prone network links, yet somehow a perfect copy of the photo arrives intact. Without even knowing it, we use public-key cryptography to transmit secret information like credit card numbers; and we use digital signatures to verify the identity of the websites we visit. How do our computers perform these tasks with such ease? This is the first book to answer that question in language anyone can understand, revealing the extraordinary ideas that power our PCs, laptops, and smartphones. Using vivid examples, John MacCormick explains the fundamental "tricks" behind nine types of computer algorithms, including artificial intelligence (where we learn about the "nearest neighbor trick" and "twenty questions trick"), Google's famous PageRank algorithm (which uses the "random surfer trick"), data compression, error correction, and much more. These revolutionary algorithms have changed our world: this book unlocks their secrets, and lays bare the incredible ideas that our computers use every day.
Writing Secure Code
Michael Howard - 2001
You need to assume it will run in the most hostile environments imaginable -- and design, code, and test accordingly. Writing Secure Code, Second Edition shows you how. This edition draws on the lessons learned and taught throughout Microsoft during the firm s massive 2002 Windows Security Push. It s a huge upgrade to the respected First Edition, with new coverage across the board. Michael Howard and David LeBlanc first help you define what security means to your customers -- and implement a three-pronged strategy for securing design, defaults, and deployment. There s especially useful coverage of threat modeling -- decomposing your application, identifying threats, ranking them, and mitigating them. Then, it s on to in-depth coverage of today s key security issues from the developer s standpoint. Everyone knows buffer overruns are bad: Here s a full chapter on avoiding them. You ll learn how to establish appropriate access controls and default to running with least privilege. There s detailed coverage of overcoming attacks on cryptography (for example, avoiding poor random numbers and bit-flipping attacks). You ll learn countermeasures for virtually every form of user input attack, from malicious database updates to cross-site scripting. We ve just scratched the surface: There are authoritative techniques for securing sockets and RPC, protecting against DOS attacks, building safer .NET applications, reviewing and testing code, adding privacy features, and even writing high-quality security documentation. Following these techniques won t just improve security -- it ll dramatically improve robustness and reliability, too. Bill CamardaBill Camarda is a consultant, writer, and web/multimedia content developer. His 15 books include Special Edition Using Word 2000 and Upgrading & Fixing Networks For Dummies®, Second Edition.
Mastering Bitcoin: Unlocking Digital Cryptocurrencies
Andreas M. Antonopoulos - 2014
Whether you're building the next killer app, investing in a startup, or simply curious about the technology, this practical book is essential reading.Bitcoin, the first successful decentralized digital currency, is still in its infancy and it's already spawned a multi-billion dollar global economy. This economy is open to anyone with the knowledge and passion to participate. Mastering Bitcoin provides you with the knowledge you need (passion not included).This book includes:A broad introduction to bitcoin--ideal for non-technical users, investors, and business executivesAn explanation of the technical foundations of bitcoin and cryptographic currencies for developers, engineers, and software and systems architectsDetails of the bitcoin decentralized network, peer-to-peer architecture, transaction lifecycle, and security principlesOffshoots of the bitcoin and blockchain inventions, including alternative chains, currencies, and applicationsUser stories, analogies, examples, and code snippets illustrating key technical concepts
Advanced Apex Programming for Salesforce.com and Force.com
Dan Appleman - 2012
Intended for developers who are already familiar with the Apex language, and experienced Java and C# developers who are moving to Apex, this book starts where the Force.com documentation leaves off. Instead of trying to cover all of the features of the platform, Advanced Apex programming focuses entirely on the Apex language and core design patterns. You’ll learn how to truly think in Apex – to embrace limits and bulk patterns. You’ll see how to develop architectures for efficient and reliable trigger handling, and for asynchronous operations. You’ll discover that best practices differ radically depending on whether you are building software for a specific organization or for a managed package. And you’ll find approaches for incorporating testing and diagnostic code that can dramatically improve the reliability and deployment of Apex software, and reduce your lifecycle and support costs. Based on his experience both as a consultant and as architect of a major AppExchange package, Dan Appleman focuses on the real-world problems and issues that are faced by Apex developers every day, along with the obscure problems and surprises that can sneak up on you if you are unprepared.
Madoff Talks: Uncovering the Untold Story Behind the Most Notorious Ponzi Scheme in History
Jim Campbell - 2021
Arrested for fraud in 2008--during the depths of the global financial crisis--the 70-year-old market maker, investment advisor, and former chairman of the NASDAQ had orchestrated the largest Ponzi scheme in world history, fleecing thousands of investors across the globe to the tune of $65 billion. To this day, questions remain: Why did he do it? How did he get away with it for so long? What did his family know? Who is the elusive Bernie Madoff?In Madoff Talks, author Jim Campbell presents the most comprehensive, insider account of the Madoff saga to date. Based on exclusive interviews with all the players--the Madoff family and their associates, the Wall Street wheelers and dealers, the army of lawyers, analysts, and investigators, the victims of the scheme, and Bernie Madoff himself--the book reveals: what motivated a respected financier to commit such a massive fraud--and why he thought he could get away with ithow Madoff managed to keep the scheme hidden in plain sight--despite numerous SEC investigationsthe shocking failures of Wall Street oversight--and how it could happen againthe true scale of the investment losses―and the victims' ongoing fight for justicewhat Ruth Madoff and the rest of the family knew--and how it shattered their livesMadoff Talks features the first, and likely only, interviews with Ruth Madoff and defense attorney Ira Sorkin, for which Bernie waived attorney-client privilege, as well as never-before-published details from the author's personal communications with Bernie Madoff in prison. A vivid, powerful piece of investigative reporting, the book takes us behind the headlines to show the full human cost of Madoff's crimes, and offers a cogent analysis of the reforms necessary to prevent it from happening again.Meticulously researched and relentlessly riveting, Madoff Talks is the full story of an American tragedy.
Site Reliability Engineering: How Google Runs Production Systems
Betsy Beyer - 2016
So, why does conventional wisdom insist that software engineers focus primarily on the design and development of large-scale computing systems?In this collection of essays and articles, key members of Google's Site Reliability Team explain how and why their commitment to the entire lifecycle has enabled the company to successfully build, deploy, monitor, and maintain some of the largest software systems in the world. You'll learn the principles and practices that enable Google engineers to make systems more scalable, reliable, and efficient--lessons directly applicable to your organization.This book is divided into four sections: Introduction--Learn what site reliability engineering is and why it differs from conventional IT industry practicesPrinciples--Examine the patterns, behaviors, and areas of concern that influence the work of a site reliability engineer (SRE)Practices--Understand the theory and practice of an SRE's day-to-day work: building and operating large distributed computing systemsManagement--Explore Google's best practices for training, communication, and meetings that your organization can use
From Dreamer to Dreamfinder: A Life and Lessons Learned in 40 Years Behind a Name Tag
Ron Schneider - 2012
It's an intimate look into the creative worlds of Disney, Universal, and Six Flags Magic Mountain; a no-holds-barred memoir filled with wild characters and wilder concepts, complete with a step-by-step guide to how the magic is made!
The Nomadic Developer: Surviving and Thriving in the World of Technology Consulting
Aaron Erickson - 2009
More and more often, those companies look to technology consultants to fulfill their needs. There are real advantages to being a consultant. You make contacts with a lot of different people; you get exposure to many industries; and most important, unlike a software developer in the IT department for a brick-and-mortar company, as a technology consultant, you are the profit center…so long as you are billing. Consulting can be hugely rewarding—but it’s easy to fail if you are unprepared. To succeed, you need a mentor who knows the lay of the land. Aaron Erickson is your mentor, and this is your guidebook. Erickson has done it all—from Practice Leadership to the lowest level project work. In The Nomadic Developer, he brings together his hardwon insights on becoming successful and achieving success through tough times and relentless change. You’ll find 100% practical advice and real experiences—his own and annotations from those in the trenches. In addition, renowned consultants—such as David Chappell, Bruce Eckel, Deborah Kurata, and Ted Neward—share some of their hard-earned lessons. With this useful guidebook, you can Objectively assess whether the consultant’s life makes sense for you Break into thebusiness and build a career path that works Avoid the Seven Deadly Firms by identifying unscrupulous technology consultancies and avoiding their traps and pitfalls Understand the business models and mechanics that virtually all consulting firms use Master secret consulting success tips that are typically left unstated or overlooked Gain a competitive advantage by adding more value than your competitors Continue your professional development so you stay billable even during bad times Profit from both fixed-bid and time-and-materials projects Build a personal brand that improves your resiliency no matter what happens
Core J2EE Patterns: Best Practices and Design Strategies
Deepak Alur - 2001
What's been lacking is the expertise to fuse them into solutions to real-world problems. These patterns are the intellectual mortar for J2EE software construction." John Vlissides, co-author of Design Patterns, the "Gang of Four" book"The authors of Core J2EE Patterns have harvested a really useful set of patterns. They show how to apply these patterns and how to refactor your system to take advantage of them. It's just like having a team of experts sitting at your side."Grady Booch, Chief Scientist, Rational Software Corporation "The authors do a great job describing useful patterns for application architectures. The section on refactoring is worth the price of the entire book!"Craig McClanahan, Struts Lead Architect and Specification Lead for JavaServer Faces "Core J2EE Patterns is the gospel that should accompany every J2EE application server...Built upon the in-the-trenches expertise of its veteran architect authors, this volume unites the platform's many technologies and APIs in a way that application architects can use, and provides insightful answers to the whys, whens, and hows of the J2EE platform."Sean Neville, JRun Enterprise Architect, MacromediaDevelopers often confuse learning the technology with learning to design with the technology. In this book, senior architects from the Sun Java Center share their cumulative design experience on Java 2 Platform, Enterprise Edition (J2EE) technology.The primary focus of the book is on patterns, best practices, design strategies, and proven solutions using the key J2EE technologies including JavaServer Pages(TM) (JSP(TM)), Servlets, Enterprise JavaBeans(TM) (EJB(TM)), and Java(TM) Message Service (JMS) APIs. The J2EE Pattern Catalog with 21 patterns and numerous strategies is presented to document and promote best practices for these technologies.Core J2EE Patterns, Second Edition offers the following: J2EE Pattern Catalog with 21 patternsfully revised and newly documented patterns providing proven solutions for enterprise applications Design strategies for the presentation tier, business tier, and integration tier Coverage of servlets, JSP, EJB, JMS, and Web Services J2EE technology bad practices Refactorings to improve existing designs using patterns Fully illustrated with UML diagrams Extensive sample code for patterns, strategies, and refactorings
Code: The Hidden Language of Computer Hardware and Software
Charles Petzold - 1999
And through CODE, we see how this ingenuity and our very human compulsion to communicate have driven the technological innovations of the past two centuries. Using everyday objects and familiar language systems such as Braille and Morse code, author Charles Petzold weaves an illuminating narrative for anyone who’s ever wondered about the secret inner life of computers and other smart machines. It’s a cleverly illustrated and eminently comprehensible story—and along the way, you’ll discover you’ve gained a real context for understanding today’s world of PCs, digital media, and the Internet. No matter what your level of technical savvy, CODE will charm you—and perhaps even awaken the technophile within.