Thinking in Java


Bruce Eckel - 1998
    The author's take on the essence of Java as a new programming language and the thorough introduction to Java's features make this a worthwhile tutorial. Thinking in Java begins a little esoterically, with the author's reflections on why Java is new and better. (This book's choice of font for chapter headings is remarkably hard on the eyes.) The author outlines his thoughts on why Java will make you a better programmer, without all the complexity. The book is better when he presents actual language features. There's a tutorial to basic Java types, keywords, and operators. The guide includes extensive source code that is sometimes daunting (as with the author's sample code for all the Java operators in one listing.) As such, this text will be most useful for the experienced developer. The text then moves on to class design issues, when to use inheritance and composition, and related topics of information hiding and polymorphism. (The treatment of inner classes and scoping will likely seem a bit overdone for most readers.) The chapter on Java collection classes for both Java Developer's Kit (JDK) 1.1 and the new classes, such as sets, lists, and maps, are much better. There's material in this chapter that you are unlikely to find anywhere else. Chapters on exception handling and programming with type information are also worthwhile, as are the chapters on the new Swing interface classes and network programming. Although it adopts somewhat of a mixed-bag approach, Thinking in Java contains some excellent material for the object-oriented developer who wants to see what all the fuss is about with Java.

Software Craftsmanship: The New Imperative


Pete McBreen - 2001
    Software Craftsmanship transcends software engineering, demonstrating that quality software can't simply be manufactured: it must be built by craftspeople with pride in their work, and a personal commitment to excellence. In Software Craftsmanship, Pete McBreen focuses on the craft of software development, explaining why current software engineering techniques often fail, and offering programmers a new path to excellence. Just as the modern carpenter benefits from better tools, materials, and understanding, the modern programmer can benefit from better computers, reusable components, and more robust languages -- but only if he or she is prepared to treat the software profession as a true craft. McBreen explains what software craftsmanship means, how its affects users, and how it changes the developer's relationship with customers. He introduces the concepts of software apprentices and journeymen, shows what can (and can't) be learned from the software engineering movement, and presents specific steps you can take now to move towards craftsmanship in your work -- and your organization.

The User Experience Team of One: A Research and Design Survival Guide


Leah Buley - 2013
    Whether you want to cross over into user experience or you're a seasoned practitioner trying to drag your organization forward, this book gives you tools and insight for doing more with less.

Practices of an Agile Developer: Working in the Real World


Venkat Subramaniam - 2006
    You'll learn pragmatic ways of approaching the development process and your personal coding techniques. You'll learn about your own attitudes, issues with working on a team, and how to best manage your learning, all in an iterative, incremental, agile style. You'll see how to apply each practice, and what benefits you can expect. Bottom line: This book will make you a better developer.

The Four Steps to the Epiphany: Successful Strategies for Startups That Win


Steve Blank - 2003
    Step-by-step strategy of how to successfully organize sales, marketing and business development for a new product or company. The book offers insight into what makes some startups successful and leaves others selling off their furniture. Packed with concrete examples, the book will leave you with new skills to organize sales, marketing and your business for success.

The Fifth Discipline: The Art & Practice of The Learning Organization


Peter M. Senge - 1990
    As Senge makes clear, in the long run the only sustainable competitive advantage is your organization’s ability to learn faster than the competition. The leadership stories in the book demonstrate the many ways that the core ideas in The Fifth Discipline, many of which seemed radical when first published in 1990, have become deeply integrated into people’s ways of seeing the world and their managerial practices. In The Fifth Discipline, Senge describes how companies can rid themselves of the learning “disabilities” that threaten their productivity and success by adopting the strategies of learning organizations—ones in which new and expansive patterns of thinking are nurtured, collective aspiration is set free, and people are continually learning how to create results they truly desire. The updated and revised Currency edition of this business classic contains over one hundred pages of new material based on interviews with dozens of practitioners at companies like BP, Unilever, Intel, Ford, HP, Saudi Aramco, and organizations like Roca, Oxfam, and The World Bank. It features a new Foreword about the success Peter Senge has achieved with learning organizations since the book’s inception, as well as new chapters on Impetus (getting started), Strategies, Leaders’ New Work, Systems Citizens, and Frontiers for the Future. Mastering the disciplines Senge outlines in the book will:• Reignite the spark of genuine learning driven by people focused on what truly matters to them• Bridge teamwork into macro-creativity• Free you of confining assumptions and mindsets• Teach you to see the forest and the trees• End the struggle between work and personal time

Practical Vim: Edit Text at the Speed of Thought


Drew Neil - 2012
    It's available on almost every OS--if you master the techniques in this book, you'll never need another text editor. Practical Vim shows you 120 vim recipes so you can quickly learn the editor's core functionality and tackle your trickiest editing and writing tasks. Vim, like its classic ancestor vi, is a serious tool for programmers, web developers, and sysadmins. No other text editor comes close to Vim for speed and efficiency; it runs on almost every system imaginable and supports most coding and markup languages. Learn how to edit text the "Vim way:" complete a series of repetitive changes with The Dot Formula, using one keystroke to strike the target, followed by one keystroke to execute the change. Automate complex tasks by recording your keystrokes as a macro. Run the same command on a selection of lines, or a set of files. Discover the "very magic" switch, which makes Vim's regular expression syntax more like Perl's. Build complex patterns by iterating on your search history. Search inside multiple files, then run Vim's substitute command on the result set for a project-wide search and replace. All without installing a single plugin! You'll learn how to navigate text documents as fast as the eye moves--with only a few keystrokes. Jump from a method call to its definition with a single command. Use Vim's jumplist, so that you can always follow the breadcrumb trail back to the file you were working on before. Discover a multilingual spell-checker that does what it's told.Practical Vim will show you new ways to work with Vim more efficiently, whether you're a beginner or an intermediate Vim user. All this, without having to touch the mouse.What You Need: Vim version 7

The Senior Software Engineer


David B. Copeland - 2013
    This book isn't about that - it's about everything else. As such, there's very little code inside, meaning everyone from PHP hackers to hardcore embedded C programmers will get a lot out of it.This book covers 10 topics crucial to being an amazing developer:Focus on Delivering ResultsFix Bugs Efficiently and CleanlyAdd Features with EaseDeal With Technical Debt and SlopPlay Well With OthersMake Technical DecisionsBootstrap a Greenfield SystemLearn to WriteInterview Potential Co-WorkersLead a Team

Hacking Growth: How Today's Fastest-Growing Companies Drive Breakout Success


Sean Ellis - 2017
    It seems hard to believe today, but there was a time when Airbnb was the best-kept secret of travel hackers and couch surfers, Pinterest was a niche web site frequented only by bakers and crafters, LinkedIn was an exclusive network for C-suite executives and top-level recruiters, Facebook was MySpace's sorry step-brother, and Uber was a scrappy upstart that didn't stand a chance against the Goliath that was New York City Yellow Cabs.So how did these companies grow from these humble beginnings into the powerhouses they are today? Contrary to popular belief, they didn't explode to massive worldwide popularity simply by building a great product then crossing their fingers and hoping it would catch on. There was a studied, carefully implemented methodology behind these companies' extraordinary rise. That methodology is called Growth Hacking, and it's practitioners include not just today's hottest start-ups, but also companies like IBM, Walmart, and Microsoft as well as the millions of entrepreneurs, marketers, managers and executives who make up the community of GrowthHackers.com.Think of the Growth Hacking methodology as doing for market-share growth what Lean Start-Up did for product development, and Scrum did for productivity. It involves cross-functional teams and rapid-tempo testing and iteration that focuses customers attaining them, retaining them, engaging them, and motivating them to come back and buy more. An accessible and practical toolkit that teams and companies in all industries can use to increase their customer base and market share, this book walks readers through the process of creating and executing their own custom-made growth hacking strategy. It is a must read for any marketer, entrepreneur, innovator or manger looking to replace wasteful big bets and "spaghetti-on-the-wall" approaches with more consistent, replicable, cost-effective, and data-driven results.

The Art of Readable Code


Dustin Boswell - 2010
    Over the past five years, authors Dustin Boswell and Trevor Foucher have analyzed hundreds of examples of "bad code" (much of it their own) to determine why they’re bad and how they could be improved. Their conclusion? You need to write code that minimizes the time it would take someone else to understand it—even if that someone else is you.This book focuses on basic principles and practical techniques you can apply every time you write code. Using easy-to-digest code examples from different languages, each chapter dives into a different aspect of coding, and demonstrates how you can make your code easy to understand.Simplify naming, commenting, and formatting with tips that apply to every line of codeRefine your program’s loops, logic, and variables to reduce complexity and confusionAttack problems at the function level, such as reorganizing blocks of code to do one task at a timeWrite effective test code that is thorough and concise—as well as readable"Being aware of how the code you create affects those who look at it later is an important part of developing software. The authors did a great job in taking you through the different aspects of this challenge, explaining the details with instructive examples." —Michael Hunger, passionate Software Developer

Presentation Zen: Simple Ideas on Presentation Design and Delivery


Garr Reynolds - 2007
    Presentation Zen challenges the conventional wisdom of making "slide presentations" in today’s world and encourages you to think differently and more creatively about the preparation, design, and delivery of your presentations. Garr shares lessons and perspectives that draw upon practical advice from the fields of communication and business. Combining solid principles of design with the tenets of Zen simplicity, this book will help you along the path to simpler, more effective presentations.--back cover

The Unwritten Laws of Business


W.J. King - 1944
    The Unwritten Laws of Business is such a book. Originally published over 60 years ago as The Unwritten Laws of Engineering, it has sold over 100,000 copies, despite the fact that it has never been available before to general readers. Fully revised for business readers today, here are but a few of the gems you’ll find in this little-known business classic: If you take care of your present job well, the future will take care of itself.The individual who says nothing is usually credited with having nothing to say.Whenever you are performing someone else’s function, you are probably neglecting your own.Martyrdom only rarely makes heroes, and in the business world, such heroes and martyrs often find themselves unemployed.Refreshingly free of the latest business fads and jargon, this is a book that is wise and insightful, capturing and distilling the timeless truths and principles that underlie management and business the world over.The little book with the big history.In the summer of 2005, Business 2.0 published a cover story on Raytheon CEO William Swanson’s self-published pamphlet, Swanson’s Unwritten Rules of Management. Lauded by such chief executives as Jack Welch and Warren Buffett, the booklet becamea quiet phenomenon. As it turned out, much of Swanson’s book drew from a classic of business literature that has been in print for more than sixty years. Now, in a new edition revised and updated for business readers today, we are reissuing the 1944 classic that inspired a number of Swanson’s “rules”: The Unwritten Laws of Business. Filled with sage advice and written in a spare, engaging style, The Unwritten Laws of Business offers insights on working with others, reporting to a boss, organizing a project, running a meeting, advancing your career, and more. Here’s just a sprinkling of the old-fashioned, yet surprisingly relevant, wisdom you’ll find in these pages:If you have no intention of listening to, considering, and perhaps using, someone’s opinion, don’t ask for it.Count any meeting a failure that does not end up with a definite understanding as to what’s going to be done, who’s going to do it, and when.The common belief that everyone can do anything if they just try hard enough is a formula for inefficiency at best and for complete failure at worst.It is natural enough to “look out for Number One first,” but when you do, your associates will be noticeably disinclined to look out for you.Whether you’re a corporate neophyte or seasoned manager, this charming book reveals everything you need to know about the “unwritten” laws of business.

Exercises in Programming Style


Cristina Videira Lopes - 2014
    It is designed to be used in conjunction with code provided on an online repository. The book complements and explains the raw code in a way that is accessible to anyone who regularly practices the art of programming. The book can also be used in advanced programming courses in computer science and software engineering programs.The book contains 33 different styles for writing the term frequency task. The styles are grouped into nine categories: historical, basic, function composition, objects and object interactions, reflection and metaprogramming, adversity, data-centric, concurrency, and interactivity. The author verbalizes the constraints in each style and explains the example programs. Each chapter first presents the constraints of the style, next shows an example program, and then gives a detailed explanation of the code. Most chapters also have sections focusing on the use of the style in systems design as well as sections describing the historical context in which the programming style emerged.

Refactoring UI


Adam Wathan - 2018
    Learn how to design beautiful user interfaces by yourself using specific tactics explained from a developer's point-of-view.

The Art of Doing Science and Engineering: Learning to Learn


Richard Hamming - 1996
    By presenting actual experiences and analyzing them as they are described, the author conveys the developmental thought processes employed and shows a style of thinking that leads to successful results is something that can be learned. Along with spectacular successes, the author also conveys how failures contributed to shaping the thought processes. Provides the reader with a style of thinking that will enhance a person's ability to function as a problem-solver of complex technical issues. Consists of a collection of stories about the author's participation in significant discoveries, relating how those discoveries came about and, most importantly, provides analysis about the thought processes and reasoning that took place as the author and his associates progressed through engineering problems.