Download or read book Modern Software Engineering written by David Farley and published by Addison-Wesley Professional. This book was released on 2021-11-16 with total page 479 pages. Available in PDF, EPUB and Kindle. Book excerpt: Improve Your Creativity, Effectiveness, and Ultimately, Your Code In Modern Software Engineering, continuous delivery pioneer David Farley helps software professionals think about their work more effectively, manage it more successfully, and genuinely improve the quality of their applications, their lives, and the lives of their colleagues. Writing for programmers, managers, and technical leads at all levels of experience, Farley illuminates durable principles at the heart of effective software development. He distills the discipline into two core exercises: learning and exploration and managing complexity. For each, he defines principles that can help you improve everything from your mindset to the quality of your code, and describes approaches proven to promote success. Farley's ideas and techniques cohere into a unified, scientific, and foundational approach to solving practical software development problems within realistic economic constraints. This general, durable, and pervasive approach to software engineering can help you solve problems you haven't encountered yet, using today's technologies and tomorrow's. It offers you deeper insight into what you do every day, helping you create better software, faster, with more pleasure and personal fulfillment. Clarify what you're trying to accomplish Choose your tools based on sensible criteria Organize work and systems to facilitate continuing incremental progress Evaluate your progress toward thriving systems, not just more "legacy code" Gain more value from experimentation and empiricism Stay in control as systems grow more complex Achieve rigor without too much rigidity Learn from history and experience Distinguish "good" new software development ideas from "bad" ones Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Download or read book Building Mobile Apps at Scale written by Gergely Orosz and published by . This book was released on 2021-04-06 with total page 238 pages. Available in PDF, EPUB and Kindle. Book excerpt: While there is a lot of appreciation for backend and distributed systems challenges, there tends to be less empathy for why mobile development is hard when done at scale. This book collects challenges engineers face when building iOS and Android apps at scale, and common ways to tackle these. 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. The book covers iOS and Android mobile app challenges on these dimensions: Challenges due to the unique nature of mobile applications compared to the web, and to the backend. App complexity challenges. How do you deal with increasingly complicated navigation patterns? What about non-deterministic event combinations? How do you localize across several languages, and how do you scale your automated and manual tests? Challenges due to large engineering teams. The larger the mobile team, the more challenging it becomes to ensure a consistent architecture. If your company builds multiple apps, how do you balance not rewriting everything from scratch while moving at a fast pace, over waiting on "centralized" teams? Cross-platform approaches. The tooling to build mobile apps keeps changing. New languages, frameworks, and approaches that all promise to address the pain points of mobile engineering keep appearing. But which approach should you choose? Flutter, React Native, Cordova? Native apps? Reuse business logic written in Kotlin, C#, C++ or other languages? What engineering approaches do "world-class" mobile engineering teams choose in non-functional aspects like code quality, compliance, privacy, compliance, or with experimentation, performance, or app size?
Download or read book Become an Effective Software Engineering Manager written by James Stanier and published by Pragmatic Bookshelf. This book was released on 2020-06-09 with total page 398 pages. Available in PDF, EPUB and Kindle. Book excerpt: Software startups make global headlines every day. As technology companies succeed and grow, so do their engineering departments. In your career, you'll may suddenly get the opportunity to lead teams: to become a manager. But this is often uncharted territory. How can you decide whether this career move is right for you? And if you do, what do you need to learn to succeed? Where do you start? How do you know that you're doing it right? What does "it" even mean? And isn't management a dirty word? This book will share the secrets you need to know to manage engineers successfully. Going from engineer to manager doesn't have to be intimidating. Engineers can be managers, and fantastic ones at that. Cast aside the rhetoric and focus on practical, hands-on techniques and tools. You'll become an effective and supportive team leader that your staff will look up to. Start with your transition to being a manager and see how that compares to being an engineer. Learn how to better organize information, feel productive, and delegate, but not micromanage. Discover how to manage your own boss, hire and fire, do performance and salary reviews, and build a great team. You'll also learn the psychology: how to ship while keeping staff happy, coach and mentor, deal with deadline pressure, handle sensitive information, and navigate workplace politics. Consider your whole department. How can you work with other teams to ensure best practice? How do you help form guilds and committees and communicate effectively? How can you create career tracks for individual contributors and managers? How can you support flexible and remote working? How can you improve diversity in the industry through your own actions? This book will show you how. Great managers can make the world a better place. Join us.
Download or read book Software Engineering at Google written by Titus Winters and published by O'Reilly Media. This book was released on 2020-02-28 with total page 602 pages. Available in PDF, EPUB and Kindle. Book excerpt: Today, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes this difference between programming and software engineering. How can software engineers manage a living codebase that evolves and responds to changing requirements and demands over the length of its life? Based on their experience at Google, software engineers Titus Winters and Hyrum Wright, along with technical writer Tom Manshreck, present a candid and insightful look at how some of the worldâ??s leading practitioners construct and maintain software. This book covers Googleâ??s unique engineering culture, processes, and tools and how these aspects contribute to the effectiveness of an engineering organization. Youâ??ll explore three fundamental principles that software organizations should keep in mind when designing, architecting, writing, and maintaining code: How time affects the sustainability of software and how to make your code resilient over time How scale affects the viability of software practices within an engineering organization What trade-offs a typical engineer needs to make when evaluating design and development decisions
Download or read book The Productive Programmer written by Neal Ford and published by "O'Reilly Media, Inc.". This book was released on 2008-07-03 with total page 226 pages. Available in PDF, EPUB and Kindle. Book excerpt: 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.
Download or read book Building Scalable Web Sites written by Cal Henderson and published by "O'Reilly Media, Inc.". This book was released on 2006-05-16 with total page 348 pages. Available in PDF, EPUB and Kindle. Book excerpt: Building, scaling, and optimizing the next generation of Web applications.
Download or read book Optimized C written by Kurt Guntheroth and published by "O'Reilly Media, Inc.". This book was released on 2016-04-27 with total page 387 pages. Available in PDF, EPUB and Kindle. Book excerpt: In today’s fast and competitive world, a program’s performance is just as important to customers as the features it provides. This practical guide teaches developers performance-tuning principles that enable optimization in C++. You’ll learn how to make code that already embodies best practices of C++ design run faster and consume fewer resources on any computer—whether it’s a watch, phone, workstation, supercomputer, or globe-spanning network of servers. Author Kurt Guntheroth provides several running examples that demonstrate how to apply these principles incrementally to improve existing code so it meets customer requirements for responsiveness and throughput. The advice in this book will prove itself the first time you hear a colleague exclaim, “Wow, that was fast. Who fixed something?” Locate performance hot spots using the profiler and software timers Learn to perform repeatable experiments to measure performance of code changes Optimize use of dynamically allocated variables Improve performance of hot loops and functions Speed up string handling functions Recognize efficient algorithms and optimization patterns Learn the strengths—and weaknesses—of C++ container classes View searching and sorting through an optimizer’s eye Make efficient use of C++ streaming I/O functions Use C++ thread-based concurrency features effectively
Download or read book Skills of a Successful Software Engineer written by Fernando Doglio and published by Simon and Schuster. This book was released on 2022-08-16 with total page 190 pages. Available in PDF, EPUB and Kindle. Book excerpt: Skills to grow from a solo coder into a productive member of a software development team, with seasoned advice on everything from refactoring to acing an interview. In Skills of a Successful Software Engineer you will learn: The skills you need to succeed on a software development team Best practices for writing maintainable code Testing and commenting code for others to read and use Refactoring code you didn’t write What to expect from a technical interview process How to be a tech leader Getting around gatekeeping in the tech community Skills of a Successful Software Engineer is a best practices guide for succeeding on a software development team. The book reveals how to optimize both your code and your career, from achieving a good work-life balance to writing the kind of bug-free code delivered by pros. You’ll master essential skills that you might not have learned as a solo coder, including meaningful code commenting, unit testing, and using refactoring to speed up feature delivery. Timeless advice on acing interviews and setting yourself up for leadership will help you throughout your career. Crack open this one-of-a-kind guide, and you’ll soon be working in the professional manner that software managers expect. About the technology Success as a software engineer requires technical knowledge, flexibility, and a lot of persistence. Knowing how to work effectively with other developers can be the difference between a fulfilling career and getting stuck in a life-sucking rut. This brilliant book guides you through the essential skills you need to survive and thrive on a software engineering team. About the book Skills of a Successful Software Engineer presents techniques for working on software projects collaboratively. In it, you’ll build technical skills, such as writing simple code, effective testing, and refactoring, that are essential to creating software on a team. You’ll also explore soft skills like how to keep your knowledge up to date, interacting with your team leader, and even how to get a job you’ll love. What's inside Best practices for writing and documenting maintainable code Testing and refactoring code you didn’t write What to expect in a technical interview How to thrive on a development team About the reader For working and aspiring software engineers. About the author Fernando Doglio has twenty years of experience in the software industry, where he has worked on everything from web development to big data. Table of Contents 1 Becoming a successful software engineer 2 Writing code everyone can read 3 Unit testing: delivering code that works 4 Refactoring existing code (or Refactoring doesn’t mean rewriting code) 5 Tackling the personal side of coding 6 Interviewing for your place on the team 7 Working as part of a team 8 Understanding team leadership
Download or read book The Complete Software Developer s Career Guide written by John Z. Sonmez and published by Simple Programmer, LLC. This book was released on 2017 with total page 796 pages. Available in PDF, EPUB and Kindle. Book excerpt: "Early in his software developer career, John Sonmez discovered that technical knowledge alone isn't enough to break through to the next income level - developers need "soft skills" like the ability to learn new technologies just in time, communicate clearly with management and consulting clients, negotiate a fair hourly rate, and unite teammates and coworkers in working toward a common goal. Today John helps more than 1.4 million programmers every year to increase their income by developing this unique blend of skills. Who Should Read This Book? Entry-Level Developers - This book will show you how to ensure you have the technical skills your future boss is looking for, create a resume that leaps off a hiring manager's desk, and escape the "no work experience" trap. Mid-Career Developers - You'll see how to find and fill in gaps in your technical knowledge, position yourself as the one team member your boss can't live without, and turn those dreaded annual reviews into chance to make an iron-clad case for your salary bump. Senior Developers - This book will show you how to become a specialist who can command above-market wages, how building a name for yourself can make opportunities come to you, and how to decide whether consulting or entrepreneurship are paths you should pursue. Brand New Developers - In this book you'll discover what it's like to be a professional software developer, how to go from "I know some code" to possessing the skills to work on a development team, how to speed along your learning by avoiding common beginner traps, and how to decide whether you should invest in a programming degree or 'bootcamp.'"--
Download or read book Requirements Engineering for Software and Systems Second Edition written by Phillip A. Laplante and published by CRC Press. This book was released on 2013-10-17 with total page 326 pages. Available in PDF, EPUB and Kindle. Book excerpt: As requirements engineering continues to be recognized as the key to on-time and on-budget delivery of software and systems projects, many engineering programs have made requirements engineering mandatory in their curriculum. In addition, the wealth of new software tools that have recently emerged is empowering practicing engineers to improve their requirements engineering habits. However, these tools are not easy to use without appropriate training. Filling this need, Requirements Engineering for Software and Systems, Second Edition has been vastly updated and expanded to include about 30 percent new material. In addition to new exercises and updated references in every chapter, this edition updates all chapters with the latest applied research and industry practices. It also presents new material derived from the experiences of professors who have used the text in their classrooms. Improvements to this edition include: An expanded introductory chapter with extensive discussions on requirements analysis, agreement, and consolidation An expanded chapter on requirements engineering for Agile methodologies An expanded chapter on formal methods with new examples An expanded section on requirements traceability An updated and expanded section on requirements engineering tools New exercises including ones suitable for research projects Following in the footsteps of its bestselling predecessor, the text illustrates key ideas associated with requirements engineering using extensive case studies and three common example systems: an airline baggage handling system, a point-of-sale system for a large pet store chain, and a system for a smart home. This edition also includes an example of a wet well pumping system for a wastewater treatment station. With a focus on software-intensive systems, but highly applicable to non-software systems, this text provides a probing and comprehensive review of recent developments in requirements engineering in high integrity systems.
Download or read book Staff Engineer written by Will Larson and published by . This book was released on 2021-02-28 with total page pages. Available in PDF, EPUB and Kindle. Book excerpt: At most technology companies, you'll reach Senior Software Engineer, the career level for software engineers, in five to eight years. At that career level, you'll no longer be required to work towards the next pro? motion, and being promoted beyond it is exceptional rather than ex? pected. 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 en? gineering management career path, like Camille Fournier's The Man? ager's Path, Julie Zhuo's The Making of a Manager, Lara Hogan's Re? silient Management and my own, An Elegant Puzzle. The manage? ment career isn't an easy one, but increasingly there are maps avail? able for navigating it.On the other hand, the transition into Staff Engineer, and its further evolutions like Principal and Distinguished Engineer, remains chal? lenging 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 operate in these Staff-plus roles.
Download or read book Soft Skills written by John Sonmez and published by . This book was released on 2020-11 with total page 502 pages. Available in PDF, EPUB and Kindle. Book excerpt: For most software developers, coding is the fun part. The hard bits are dealing with clients, peers, and managers and staying productive, achieving financial security, keeping yourself in shape, and finding true love. This book is here to help. Soft Skills: The Software Developer's Life Manual is a guide to a well-rounded, satisfying life as a technology professional. In it, developer and life coach John Sonmez offers advice to developers on important subjects like career and productivity, personal finance and investing, and even fitness and relationships. Arranged as a collection of 71 short chapters, this fun listen invites you to dip in wherever you like. A "Taking Action" section at the end of each chapter tells you how to get quick results. Soft Skills will help make you a better programmer, a more valuable employee, and a happier, healthier person.
Download or read book The Software Developer s Career Handbook written by Michael Lopp and published by "O'Reilly Media, Inc.". This book was released on 2023-08-09 with total page 235 pages. Available in PDF, EPUB and Kindle. Book excerpt: At some point in your career, you'll realize there's more to being a software engineer than dealing with code. Is it time to become a manager? Or join a startup? In this insightful and entertaining book, Michael Lopp recalls his own make-or-break moments with Silicon Valley giants such as Apple, Slack, Pinterest, Palantir, Netscape, and Symantec to help you make better, more mindful career decisions. With more than 40 stand-alone stories, Lopp walks through a complete job lifecycle, starting with the interview and ending with the realization that it might be time to move on. You'll learn how to handle baffling circumstances in your job, understand what you want from your career, and discover how to thrive in your workplace. Learn how to navigate areas of your job that don't involve writing code Identify how the aspects you enjoy will affect your next career steps Build and maintain key relationships and interactions within your community Make choices that will help you have a "deliberate career" Recognize what's important to your manager and work on things that matter
Download or read book How to Become an Expert Software Engineer and Get Any Job You Want written by Marcus Tomlinson and published by Createspace Independent Publishing Platform. This book was released on 2016-01-01 with total page 166 pages. Available in PDF, EPUB and Kindle. Book excerpt: Want to know the secret to becoming an expert software engineer and getting any job you want? The answer is simple: Experience. Although, the only valuable form of experience you can add to your résumé, is the kind you can actually prove to have earned. So, how do you gain tangible experience in skills your current job can't offer you? Get back to programming for fun! What better way is there to prove a skill in coding than with code itself? Not only is writing open source software a great way to learn and acquire new skills, it's a brilliant way to gain real world experience that you can legitimately claim on your résumé! In this book, I will show you the system I use to design, develop, and deliver open source projects, steer you away from the mistakes I've made along the way, and help you build an impressive résumé of projects that'll get you that job you've always wanted, and in time, will earn you the right to call yourself an expert.
Download or read book Deep Learning for Coders with fastai and PyTorch written by Jeremy Howard and published by O'Reilly Media. This book was released on 2020-06-29 with total page 624 pages. Available in PDF, EPUB and Kindle. Book excerpt: Deep learning is often viewed as the exclusive domain of math PhDs and big tech companies. But as this hands-on guide demonstrates, programmers comfortable with Python can achieve impressive results in deep learning with little math background, small amounts of data, and minimal code. How? With fastai, the first library to provide a consistent interface to the most frequently used deep learning applications. Authors Jeremy Howard and Sylvain Gugger, the creators of fastai, show you how to train a model on a wide range of tasks using fastai and PyTorch. You’ll also dive progressively further into deep learning theory to gain a complete understanding of the algorithms behind the scenes. Train models in computer vision, natural language processing, tabular data, and collaborative filtering Learn the latest deep learning techniques that matter most in practice Improve accuracy, speed, and reliability by understanding how deep learning models work Discover how to turn your models into web applications Implement deep learning algorithms from scratch Consider the ethical implications of your work Gain insight from the foreword by PyTorch cofounder, Soumith Chintala
Download or read book The Self Taught Programmer written by Cory Althoff and published by Robinson. This book was released on 2022-01-13 with total page 368 pages. Available in PDF, EPUB and Kindle. Book excerpt:
Download or read book Guide to the Software Engineering Body of Knowledge Swebok r written by IEEE Computer Society and published by . This book was released on 2014 with total page 348 pages. Available in PDF, EPUB and Kindle. Book excerpt: In the Guide to the Software Engineering Body of Knowledge (SWEBOK(R) Guide), the IEEE Computer Society establishes a baseline for the body of knowledge for the field of software engineering, and the work supports the Society's responsibility to promote the advancement of both theory and practice in this field. It should be noted that the Guide does not purport to define the body of knowledge but rather to serve as a compendium and guide to the knowledge that has been developing and evolving over the past four decades. Now in Version 3.0, the Guide's 15 knowledge areas summarize generally accepted topics and list references for detailed information. The editors for Version 3.0 of the SWEBOK(R) Guide are Pierre Bourque (Ecole de technologie superieure (ETS), Universite du Quebec) and Richard E. (Dick) Fairley (Software and Systems Engineering Associates (S2EA)).