Author: Titus Winters
Publisher: O'Reilly Media
ISBN: 1492082767
Category : Computers
Languages : en
Pages : 602
Book Description
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
I Am a Software Engineer and I Am in Charge
Author: Michael Doyle
Publisher:
ISBN:
Category :
Languages : en
Pages : 152
Book Description
I am a Software Engineer and I am in Charge is a real-world, practical book that helps you increase your impact and satisfaction at work no matter who you work with.Each of the 7 chapters has the following structure specifically designed to generate insight and move you to action.Why it mattersA brief introduction to the chapter that offers questions for you to experiment with your current belief about the topic of the chapter. For example, if you believe you can't ask a colleague you admire to be your mentor, then what could you do if you changed that belief?The storyA fictional story following the protagonist, Sandrine who left her company to get a higher-level role and found that despite the "promotion" everything still feels the same, the people around her are clueless.In each chapter, Sandrine learns something from the people she interacts with that gets her thinking in a new way enabling her to take different actions.Sandrine is not perfect though, she makes slip-ups, promises to change but goes back to old habits, plans for things a certain way only to discover it doesn't play out that way-just like in real life.What do we learn from the storyHere we talk about the lesson from the story, and ask you, the reader, what you will do with your new knowledge and insights.The experimentsAt the end of each chapter, there are 3 experiments for you to try. You can choose to do one or more of them to see what happens when you put yourself in Sandrine's shoes.Follow Sandrine on her journey to see for yourself how she solved her problems and increased her impact and satisfaction and in the process find a way to increase yours.By the end of the book you'll have learned: How your words influence your actionsHow to prosper from feedbackHow to set goals that inspireHow to work with others to create a better solutionHow to use failure as a data point to inform your learnin
Publisher:
ISBN:
Category :
Languages : en
Pages : 152
Book Description
I am a Software Engineer and I am in Charge is a real-world, practical book that helps you increase your impact and satisfaction at work no matter who you work with.Each of the 7 chapters has the following structure specifically designed to generate insight and move you to action.Why it mattersA brief introduction to the chapter that offers questions for you to experiment with your current belief about the topic of the chapter. For example, if you believe you can't ask a colleague you admire to be your mentor, then what could you do if you changed that belief?The storyA fictional story following the protagonist, Sandrine who left her company to get a higher-level role and found that despite the "promotion" everything still feels the same, the people around her are clueless.In each chapter, Sandrine learns something from the people she interacts with that gets her thinking in a new way enabling her to take different actions.Sandrine is not perfect though, she makes slip-ups, promises to change but goes back to old habits, plans for things a certain way only to discover it doesn't play out that way-just like in real life.What do we learn from the storyHere we talk about the lesson from the story, and ask you, the reader, what you will do with your new knowledge and insights.The experimentsAt the end of each chapter, there are 3 experiments for you to try. You can choose to do one or more of them to see what happens when you put yourself in Sandrine's shoes.Follow Sandrine on her journey to see for yourself how she solved her problems and increased her impact and satisfaction and in the process find a way to increase yours.By the end of the book you'll have learned: How your words influence your actionsHow to prosper from feedbackHow to set goals that inspireHow to work with others to create a better solutionHow to use failure as a data point to inform your learnin
Software Engineering at Google
Author: Titus Winters
Publisher: O'Reilly Media
ISBN: 1492082767
Category : Computers
Languages : en
Pages : 602
Book Description
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
Publisher: O'Reilly Media
ISBN: 1492082767
Category : Computers
Languages : en
Pages : 602
Book Description
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
Optimized C++
Author: Kurt Guntheroth
Publisher: "O'Reilly Media, Inc."
ISBN: 1491922036
Category : Computers
Languages : en
Pages : 387
Book Description
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
Publisher: "O'Reilly Media, Inc."
ISBN: 1491922036
Category : Computers
Languages : en
Pages : 387
Book Description
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
Changing Your Team From The Inside
Author: Alexis Monville
Publisher: Lulu.com
ISBN: 138745496X
Category : Business & Economics
Languages : en
Pages : 192
Book Description
Change Management needs to change. Change Management is so important that... What if there was no need for change management because we are continuously improving our way of working? This book is about you fostering that change from the inside! This book equips you to make a positive change in your organization starting from the one place you can guarantee success - you. Each chapter turns insight into actions that you can use straight away to build momentum and create lasting change from yourself to your team, from your team to other teams, and from other teams to the entire organization. If you're looking to make a change in your organization but don't know where to begin, worried that nobody will listen to you, or fear you'll burn bridges along the way then Changing Your Team From The Inside will give you a plan, increase your influence, and help you build high impact, sustainable relationships in the process. This book has everything you need to build high impact, sustainable teams.
Publisher: Lulu.com
ISBN: 138745496X
Category : Business & Economics
Languages : en
Pages : 192
Book Description
Change Management needs to change. Change Management is so important that... What if there was no need for change management because we are continuously improving our way of working? This book is about you fostering that change from the inside! This book equips you to make a positive change in your organization starting from the one place you can guarantee success - you. Each chapter turns insight into actions that you can use straight away to build momentum and create lasting change from yourself to your team, from your team to other teams, and from other teams to the entire organization. If you're looking to make a change in your organization but don't know where to begin, worried that nobody will listen to you, or fear you'll burn bridges along the way then Changing Your Team From The Inside will give you a plan, increase your influence, and help you build high impact, sustainable relationships in the process. This book has everything you need to build high impact, sustainable teams.
Agile Web Development with Rails 6
Author: Sam Ruby
Publisher: Pragmatic Bookshelf
ISBN: 1680507532
Category : Computers
Languages : en
Pages : 628
Book Description
Learn Rails the way the Rails core team recommends it, along with the tens of thousands of developers who have used this broad, far-reaching tutorial and reference. If you're new to Rails, you'll get step-by-step guidance. If you're an experienced developer, get the comprehensive, insider information you need for the latest version of Ruby on Rails. The new edition of this award-winning classic is completely updated for Rails 6 and Ruby 2.6, with information on system testing, Webpack, and advanced JavaScript. Ruby on Rails helps you produce high-quality, beautiful-looking web applications quickly - you concentrate on creating the application, and Rails takes care of the details. Rails 6 brings many improvements, and this edition is updated to cover the new features and changes in best practices. We start with a step-by-step walkthrough of building a real application, and in-depth chapters look at the built-in Rails features. Follow along with an extended tutorial as you write a web-based store application. Eliminate tedious configuration and housekeeping, seamlessly incorporate Ajax and JavaScript, send and receive emails, manage background jobs with ActiveJob, and build real-time features using WebSockets and ActionCable. Test your applications as you write them using the built-in unit, integration, and system testing frameworks, internationalize your applications, and deploy your applications easily and securely. New in this edition is coverage of Action Mailer, which allows you to receive emails in your app as well as ActionText, a zero-configuration rich text editing feature. Rails 1.0 was released in December 2005. This book was there from the start, and didn't just evolve alongside Rails, it evolved with Rails. It has been developed in consultation with the Rails core team. In fact, Rails itself is tested against the code in this book. What You Need: All you need is a Windows, Mac OS X, or Linux machine to do development on. This book will take you through the steps to install Rails and its dependencies. If you aren't familiar with the Ruby programming language, this book contains a chapter that covers the basics necessary to understand the material in the book.
Publisher: Pragmatic Bookshelf
ISBN: 1680507532
Category : Computers
Languages : en
Pages : 628
Book Description
Learn Rails the way the Rails core team recommends it, along with the tens of thousands of developers who have used this broad, far-reaching tutorial and reference. If you're new to Rails, you'll get step-by-step guidance. If you're an experienced developer, get the comprehensive, insider information you need for the latest version of Ruby on Rails. The new edition of this award-winning classic is completely updated for Rails 6 and Ruby 2.6, with information on system testing, Webpack, and advanced JavaScript. Ruby on Rails helps you produce high-quality, beautiful-looking web applications quickly - you concentrate on creating the application, and Rails takes care of the details. Rails 6 brings many improvements, and this edition is updated to cover the new features and changes in best practices. We start with a step-by-step walkthrough of building a real application, and in-depth chapters look at the built-in Rails features. Follow along with an extended tutorial as you write a web-based store application. Eliminate tedious configuration and housekeeping, seamlessly incorporate Ajax and JavaScript, send and receive emails, manage background jobs with ActiveJob, and build real-time features using WebSockets and ActionCable. Test your applications as you write them using the built-in unit, integration, and system testing frameworks, internationalize your applications, and deploy your applications easily and securely. New in this edition is coverage of Action Mailer, which allows you to receive emails in your app as well as ActionText, a zero-configuration rich text editing feature. Rails 1.0 was released in December 2005. This book was there from the start, and didn't just evolve alongside Rails, it evolved with Rails. It has been developed in consultation with the Rails core team. In fact, Rails itself is tested against the code in this book. What You Need: All you need is a Windows, Mac OS X, or Linux machine to do development on. This book will take you through the steps to install Rails and its dependencies. If you aren't familiar with the Ruby programming language, this book contains a chapter that covers the basics necessary to understand the material in the book.
Software Architecture in Practice
Author: Len Bass
Publisher: Addison-Wesley Professional
ISBN: 9780321154958
Category : Computers
Languages : en
Pages : 572
Book Description
This is the eagerly-anticipated revision to one of the seminal books in the field of software architecture which clearly defines and explains the topic.
Publisher: Addison-Wesley Professional
ISBN: 9780321154958
Category : Computers
Languages : en
Pages : 572
Book Description
This is the eagerly-anticipated revision to one of the seminal books in the field of software architecture which clearly defines and explains the topic.
An Elegant Puzzle
Author: Will Larson
Publisher: Stripe Press
ISBN: 1953953336
Category : Computers
Languages : en
Pages : 281
Book Description
A human-centric guide to solving complex problems in engineering management, from sizing teams to handling technical debt. There’s a saying that people don’t leave companies, they leave managers. Management is a key part of any organization, yet the discipline is often self-taught and unstructured. Getting to the good solutions for complex management challenges can make the difference between fulfillment and frustration for teams—and, ultimately, between the success and failure of companies. Will Larson’s An Elegant Puzzle focuses on the particular challenges of engineering management—from sizing teams to handling technical debt to performing succession planning—and provides a path to the good solutions. Drawing from his experience at Digg, Uber, and Stripe, Larson has developed a thoughtful approach to engineering management for leaders of all levels at companies of all sizes. An Elegant Puzzle balances structured principles and human-centric thinking to help any leader create more effective and rewarding organizations for engineers to thrive in.
Publisher: Stripe Press
ISBN: 1953953336
Category : Computers
Languages : en
Pages : 281
Book Description
A human-centric guide to solving complex problems in engineering management, from sizing teams to handling technical debt. There’s a saying that people don’t leave companies, they leave managers. Management is a key part of any organization, yet the discipline is often self-taught and unstructured. Getting to the good solutions for complex management challenges can make the difference between fulfillment and frustration for teams—and, ultimately, between the success and failure of companies. Will Larson’s An Elegant Puzzle focuses on the particular challenges of engineering management—from sizing teams to handling technical debt to performing succession planning—and provides a path to the good solutions. Drawing from his experience at Digg, Uber, and Stripe, Larson has developed a thoughtful approach to engineering management for leaders of all levels at companies of all sizes. An Elegant Puzzle balances structured principles and human-centric thinking to help any leader create more effective and rewarding organizations for engineers to thrive in.
Modern Software Engineering
Author: David Farley
Publisher: Addison-Wesley Professional
ISBN: 0137314868
Category : Computers
Languages : en
Pages : 479
Book Description
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.
Publisher: Addison-Wesley Professional
ISBN: 0137314868
Category : Computers
Languages : en
Pages : 479
Book Description
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.
Staff Engineer
Author: Will Larson
Publisher:
ISBN: 9781736417911
Category :
Languages : en
Pages :
Book Description
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.
Publisher:
ISBN: 9781736417911
Category :
Languages : en
Pages :
Book Description
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.
Soft Skills
Author: John Sonmez
Publisher:
ISBN: 9780999081440
Category :
Languages : en
Pages : 502
Book Description
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.
Publisher:
ISBN: 9780999081440
Category :
Languages : en
Pages : 502
Book Description
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.