Coders at Work


Book Description

Peter Seibel interviews 15 of the most interesting computer programmers alive today in Coders at Work, offering a companion volume to Apress’s highly acclaimed best-seller Founders at Work by Jessica Livingston. As the words “at work” suggest, Peter Seibel focuses on how his interviewees tackle the day-to-day work of programming, while revealing much more, like how they became great programmers, how they recognize programming talent in others, and what kinds of problems they find most interesting. Hundreds of people have suggested names of programmers to interview on the Coders at Work web site: www.codersatwork.com. The complete list was 284 names. Having digested everyone’s feedback, we selected 15 folks who’ve been kind enough to agree to be interviewed: Frances Allen: Pioneer in optimizing compilers, first woman to win the Turing Award (2006) and first female IBM fellow Joe Armstrong: Inventor of Erlang Joshua Bloch: Author of the Java collections framework, now at Google Bernie Cosell: One of the main software guys behind the original ARPANET IMPs and a master debugger Douglas Crockford: JSON founder, JavaScript architect at Yahoo! L. Peter Deutsch: Author of Ghostscript, implementer of Smalltalk-80 at Xerox PARC and Lisp 1.5 on PDP-1 Brendan Eich: Inventor of JavaScript, CTO of the Mozilla Corporation Brad Fitzpatrick: Writer of LiveJournal, OpenID, memcached, and Perlbal Dan Ingalls: Smalltalk implementor and designer Simon Peyton Jones: Coinventor of Haskell and lead designer of Glasgow Haskell Compiler Donald Knuth: Author of The Art of Computer Programming and creator of TeX Peter Norvig: Director of Research at Google and author of the standard text on AI Guy Steele: Coinventor of Scheme and part of the Common Lisp Gang of Five, currently working on Fortress Ken Thompson: Inventor of UNIX Jamie Zawinski: Author of XEmacs and early Netscape/Mozilla hacker




Programmers at Work


Book Description




Who Says Women Can't Be Computer Programmers?


Book Description

A picture book biography of Ada Lovelace, the woman recognized today as history’s first computer programmer—she imagined them 100 years before they existed! In the early nineteenth century lived Ada Byron: a young girl with a wild and wonderful imagination. The daughter of internationally acclaimed poet Lord Byron, Ada was tutored in science and mathematics from a very early age. But Ada’s imagination was never meant to be tamed and, armed with the fundamentals of math and engineering, she came into her own as a woman of ideas—equal parts mathematician and philosopher. From her whimsical beginnings as a gifted child to her most sophisticated notes on Charles Babbage’s Analytical Engine, this book celebrates the woman recognized today as the first computer programmer. This title has Common Core connections. Christy Ottaviano Books




Programming Interviews Exposed


Book Description

The pressure is on during the interview process but with the right preparation, you can walk away with your dream job. 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 book Tips 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.




The Healthy Programmer


Book Description

Printed in full color. To keep doing what you love, you need to maintain your own systems, not just the ones you write code for. Regular exercise and proper nutrition help you learn, remember, concentrate, and be creative--skills critical to doing your job well. Learn how to change your work habits, master exercises that make working at a computer more comfortable, and develop a plan to keep fit, healthy, and sharp for years to come. Small changes to your habits can improve your health--without getting in the way of your work. The Healthy Programmer gives you a daily plan of action that's incremental and iterative just like the software development processes you're used to. Every tip, trick, and best practice is backed up by the advice of doctors, scientists, therapists, nutritionists, and numerous fitness experts. We'll review the latest scientific research to understand how being healthy is good for your body and mind. You'll start by adding a small amount of simple activity to your day--no trips to the gym needed. You'll learn how to mitigate back pain, carpal tunnel syndrome, headaches, and many other common sources of pain. You'll also learn how to refactor your diet to properly fuel your body without gaining weight or feeling hungry. Then, you'll turn the exercises and activities into a pragmatic workout methodology that doesn't interfere with the demands of your job and may actually improve your cognitive skills. You'll also learn the secrets of prominent figures in the software community who turned their health around by making diet and exercise changes. Throughout, you'll track your progress with a "companion iPhone app". Finally, you'll learn how to make your healthy lifestyle pragmatic, attainable, and fun. If you're going to live well, you should enjoy it. Disclaimer This book is intended only as an informative guide for those wishing to know more about health issues. In no way is this book intended to replace, countermand, or conflict with the advice given to you by your own healthcare provider including Physician, Nurse Practitioner, Physician Assistant, Registered Dietician, and other licensed professionals. Keep in mind that results vary from person to person. This book is not intended as a substitute for medical or nutritional advice from a healthcare provider or dietician. Some people have a medical history and/or condition and/or nutritional requirements that warrant individualized recommendations and, in some cases, medications and healthcare surveillance. Do not start, stop, or change medication and dietary recommendations without professional medical and/or Registered Dietician advice. A healthcare provider should be consulted if you are on medication or if there are any symptoms that may require diagnosis or medical attention. Do not change your diet if you are ill, or on medication except under the supervision of a healthcare provider. Neither this, nor any other book or discussion forum is intended to take the place of personalized medical care of treatment provided by your healthcare provider. This book was current as of January, 2013 and as new information becomes available through research, experience, or changes to product contents, some of the data in this book may become invalid. You should seek the most up to date information on your medical care and treatment from your health care professional. The ultimate decision concerning care should be made between you and your healthcare provider. Information in this book is general and is offered with no guarantees on the part of the author, editor or The Pragmatic Programmers, LLC. The author, editors and publisher disclaim all liability in connection with the use of this book.




The Productive Programmer


Book Description

Anyone who develops software for a living needs a proven way to produce it better, faster, and cheaper. The Productive Programmer offers critical timesaving and productivity tools that you can adopt right away, no matter what platform you use. Master developer Neal Ford not only offers advice on the mechanics of productivity-how to work smarter, spurn interruptions, get the most out your computer, and avoid repetition-he also details valuable practices that will help you elude common traps, improve your code, and become more valuable to your team. You'll learn to: Write the test before you write the code Manage the lifecycle of your objects fastidiously Build only what you need now, not what you might need later Apply ancient philosophies to software development Question authority, rather than blindly adhere to standards Make hard things easier and impossible things possible through meta-programming Be sure all code within a method is at the same level of abstraction Pick the right editor and assemble the best tools for the job This isn't theory, but the fruits of Ford's real-world experience as an Application Architect at the global IT consultancy ThoughtWorks. Whether you're a beginner or a pro with years of experience, you'll improve your work and your career with the simple and straightforward principles in The Productive Programmer.




LaserWriter II


Book Description

A WIRED Pick for the 7 Books You Need to Read This Winter and one of Vox's 11 Titles Not to Miss From the incomparable New York Times and New Yorker illustrator Tamara Shopsin, a debut novel about a NYC printer repair technician who comes of age alongside the Apple computer—featuring original artistic designs by the author. LaserWriter II is a coming-of-age tale set in the legendary 90s indie NYC Mac repair shop TekServe—a voyage back in time to when the internet was new, when New York City was gritty, and when Apple made off-beat computers for weirdos. Our guide is Claire, a 19-year-old who barely speaks to her bohemian co-workers, but knows when it’s time to snap on an antistatic bracelet. Tamara Shopsin brings us a classically New York novel that couldn’t feel more timely. Interweaving the history of digital technology with a tale both touchingly human and delightfully technical, Shopsin brings an idiosyncratic cast of characters to life with a light touch, a sharp eye, and an unmistakable voice. Filled with pixelated philosophy and lots of printers, LaserWriter II is, at its heart, a parable about an apple.




Working with Coders


Book Description

Get introduced to the fascinating world inhabited by the professional software developer. Aimed at a non-technical audience, this book aims to de-obfuscate the jargon, explain the various activities that coders undertake, and analyze the specific pressures, priorities, and preoccupations that developers are prone to. In each case it offers pragmatic advice on how to use this knowledge to make effective business decisions and work productively with software teams. Software projects are, all too often, utter nightmares for everyone involved. Depending on which study you read, between 60 and 90 percent of all software projects are completed late, run over budget, or deliver an inferior quality end product. This blight affects everyone from large organizations trying to roll out business change to tiny startups desperately trying to launch their MVP before the money runs out. While there has been much attention devoted to understanding these failings, leading to the development of entire management methodologies aimed at reducing the failure rate, such new processes have had, at best, limited success in delivering better results. Based on a decade spent exploring the world of software, Patrick Gleeson argues that the underlying reason for the high failure rate of software projects is that software development, being a deeply arcane and idiosyncratic process, tends to be thoroughly and disastrously misunderstood by managers and leaders. So long as the people tasked with making decisions about software projects are unaware of these idiosyncrasies and their ramifications, software projects will be delivered late, software products will be unfit for purpose, and relations between software developers and their non-technical colleagues will be strained. Even the most potent modern management tools are ineffective when wielded blindly. To anyone who employs, contracts, manages, or works with software developers, Working with Coders: A Guide to Software Development for the Perplexed Non-Techie delivers the understanding necessary to reduce friction and inefficiencies at the intersection between software development teams and their non-technical colleagues. What You'll Learn Discover why software projects are so commonly delivered late and with an abysmal end product Examine why the relationship between coders and their non-technical colleagues is often strained Understand how the software development process works and how to support it effectively Decipher and use the jargon of software development Keep a team of coders happy and improve the odds of successful software project delivery Who This Book Is For Anyone who employs, contracts, or manages software developers—such as tech startup CEOs, project managers, and clients of digital agencies—and wishes the relationship were easier and more productive. The secondary readership is software developers who want to find ways of working more effectively as part of a team.




The Developer's Code


Book Description

You're already a great coder, but awesome coding chops aren't always enough to get you through your toughest projects. You need these 50+ nuggets of wisdom. Veteran programmers: reinvigorate your passion for developing web applications. New programmers: here's the guidance you need to get started. With this book, you'll think about your job in new and enlightened ways. The Developer's Code isn't about the code you write, it's about the code you live by. There are no trite superlatives here. Packed with lessons learned from more than a decade of software development experience, author Ka Wai Cheung takes you through the programming profession from nearly every angle to uncover ways of sustaining a healthy connection with your work. You'll see how to stay productive even on the longest projects. You'll create a workflow that works with you, not against you. And you'll learn how to deal with clients whose goals don't align with your own. If you don't handle them just right, issues such as these can crush even the most seasoned, motivated developer. But with the right approach, you can transcend these common problems and become the professional developer you want to be. In more than 50 nuggets of wisdom, you'll learn: Why many traditional approaches to process and development roles in this industry are wrong - and how to sniff them out. Why you must always say "no" to the software pet project and open-ended timelines. How to incorporate code generation into your development process, and why its benefits go far beyond just faster code output. What to do when your client or end user disagrees with an approach you believe in. How to pay your knowledge forward to future generations of programmers through teaching and evangelism. If you're in this industry for the long run, you'll be coming back to this book again and again.




Go To


Book Description

Lohr chronicles the history of software from the early days of complex mathematical codes mastered by a few thousand to today's era of user-friendly software and millions of programmers worldwide.