Become an Effective Software Engineering Manager

Become an Effective Software Engineering Manager PDF Author: James Stanier
Publisher: Pragmatic Bookshelf
ISBN: 9781680507249
Category :
Languages : en
Pages : 398

Get Book

Book Description
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.

Become an Effective Software Engineering Manager

Become an Effective Software Engineering Manager PDF Author: James Stanier
Publisher: Pragmatic Bookshelf
ISBN: 9781680507249
Category :
Languages : en
Pages : 398

Get Book

Book Description
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.

Building Mobile Apps at Scale

Building Mobile Apps at Scale PDF Author: Gergely Orosz
Publisher:
ISBN: 9781638778868
Category :
Languages : en
Pages : 238

Get Book

Book Description
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?

An Elegant Puzzle

An Elegant Puzzle PDF Author: Will Larson
Publisher: Stripe Press
ISBN: 1953953336
Category : Computers
Languages : en
Pages : 281

Get Book

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.

Software Engineering at Google

Software Engineering at Google PDF Author: Titus Winters
Publisher: O'Reilly Media
ISBN: 1492082767
Category : Computers
Languages : en
Pages : 602

Get Book

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

The Software Engineer's Guidebook

The Software Engineer's Guidebook PDF Author: Gergely Orosz
Publisher:
ISBN: 9789083381824
Category : Computer programming
Languages : en
Pages : 0

Get Book

Book Description
In my first few years as a developer I assumed that hard work was all I needed. Then I was passed over for a promotion and my manager couldn't give me feedback on what areas to improve, so I could get to the senior engineer level. I was frustrated; even bitter: not as much about missing the promotion, but because of the lack of guidance. By the time I became a manager, I was determined to support engineers reporting to me with the kind of feedback and support I wish I would have gotten years earlier. And I did. While my team tripled over the next two years, people became visibly better engineers, and this progression was clear from performance reviews and promotions. This book is a summary of the advice I've given to software engineers over the years - and then some more. This book follows the structure of a "typical" career path for a software engineer, from starting out as a fresh-faced software developer, through being a role model senior/lead, all the way to the staff/principle/distinguished level. It summarizes what I've learned as a developer and how I've approached coaching engineers at different stages of their careers. We cover "soft" skills which become increasingly important as your seniority increases, and the "hard" parts of the job, like software engineering concepts and approaches which help you grow professionally. The names of levels and their expectations can - and do! - vary across companies. The higher "tier" a business is, the more tends to be expected of engineers, compared to lower tier places. For example, the "senior engineer" level has notoriously high expectations at Google (L5 level) and Meta (E5 level, ) compared to lower-tier companies. If you work at a higher-tier business, it may be useful to read the chapters about higher levels, and not only the level you're currently interested in. The book is composed of six standalone parts, each made up of several chapters: Part 1: Developer Career Fundamentals Part 2: The Competent Software Developer Part 3: The Well-Rounded Senior Engineer Part 4: The Pragmatic Tech Lead Part 5: Role Model Staff and Principal Engineers Part 6: Conclusion Parts 1 and 6 apply to all engineering levels, from entry-level software developer, to principal-and-above engineer. Parts 2, 3, 4, and 5 cover increasingly senior engineering levels and group together topics in chapters, such as "Software Engineering," "Collaboration," "Getting Things Done," etc. Naming and levels vary, but the principles of what makes a great engineer who is impactful at the individual, team, and organizational levels, are remarkably constant. No matter where you are in your career, I hope this book provides a fresh perspective and new ideas on how to grow as an engineer. Praise for the book "From performance reviews to P95 latency, from team dynamics to testing, Gergely demystifies all aspects of a software career. This book is well named: it really does feel like the missing guidebook for the whole industry." - Tanya Reilly, senior principal engineer and author of The Staff Engineer's Path "Spanning a huge range of topics from technical to social in a concise manner, this belongs on the desk of any software engineer looking to grow their impact and their career. You'll reach for it again and again for sage advice in any situation." - James Stanier, Director of Engineering at Shopify, author of TheEngineeringManager.com

Team Geek

Team Geek PDF Author: Brian W. Fitzpatrick
Publisher: "O'Reilly Media, Inc."
ISBN: 144932987X
Category : Computers
Languages : en
Pages : 194

Get Book

Book Description
In a perfect world, software engineers who produce the best code are the most successful. But in our perfectly messy world, success also depends on how you work with people to get your job done. In this highly entertaining book, Brian Fitzpatrick and Ben Collins-Sussman cover basic patterns and anti-patterns for working with other people, teams, and users while trying to develop software. This is valuable information from two respected software engineers whose popular series of talks—including "Working with Poisonous People"—has attracted hundreds of thousands of followers. Writing software is a team sport, and human factors have as much influence on the outcome as technical factors. Even if you’ve spent decades learning the technical side of programming, this book teaches you about the often-overlooked human component. By learning to collaborate and investing in the "soft skills" of software engineering, you can have a much greater impact for the same amount of effort. Team Geek was named as a Finalist in the 2013 Jolt Awards from Dr. Dobb's Journal. The publication's panel of judges chose five notable books, published during a 12-month period ending June 30, that every serious programmer should read.

Building Great Software Engineering Teams

Building Great Software Engineering Teams PDF Author: Joshua Tyler
Publisher: Apress
ISBN: 1484211332
Category : Computers
Languages : en
Pages : 154

Get Book

Book Description
WINNER of Computing Reviews 20th Annual Best Review in the category Management “Tyler’s book is concise, reasonable, and full of interesting practices, including some curious ones you might consider adopting yourself if you become a software engineering manager.” —Fernando Berzal, CR, 10/23/2015 “Josh Tyler crafts a concise, no-nonsense, intensely focused guide for building the workhouse of Silicon Valley—the high-functioning software team.” —Gordon Rios, Summer Book Recommendations from the Smartest People We Know—Summer 2016 Building Great Software Engineering Teams provides engineering leaders, startup founders, and CTOs concrete, industry-proven guidance and techniques for recruiting, hiring, and managing software engineers in a fast-paced, competitive environment. With so much at stake, the challenge of scaling up a team can be intimidating. Engineering leaders in growing companies of all sizes need to know how to find great candidates, create effective interviewing and hiring processes, bring out the best in people and their work, provide meaningful career development, learn to spot warning signs in their team, and manage their people for long-term success. Author Josh Tyler has spent nearly a decade building teams in high-growth startups, experimenting with every aspect of the task to see what works best. He draws on this experience to outline specific, detailed solutions augmented by instructive stories from his own experience. In this book you’ll learn how to build your team, starting with your first hire and continuing through the stages of development as you manage your team for growth and success. Organized to cover each step of the process in the order you’ll likely face them, and highlighted by stories of success and failure, it provides an easy-to-understand recipe for creating your high-powered engineering team.

Skills of a Successful Software Engineer

Skills of a Successful Software Engineer PDF Author: Fernando Doglio
Publisher: Simon and Schuster
ISBN: 1638350647
Category : Computers
Languages : en
Pages : 190

Get Book

Book Description
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

The Software Engineer's Guide to Freelance Consulting

The Software Engineer's Guide to Freelance Consulting PDF Author: Jay El-Kaake
Publisher: Independently Published
ISBN: 9781521163689
Category : Computer software
Languages : en
Pages : 230

Get Book

Book Description
The Software Engineer's Guide to Freelance Consulting will help teach you to be an effective freelance software consultant, which will enable you make more money, dedicate more time to hobbies, spend more time with your loved-ones and even discover new businesses. Table of Contents: Chapter 1: Finding Clients We will literally map out the client acquisition skills that are paramount for you to develop and thrive in the business of software consulting. We will give you the step-by-step concrete TODOs to achieve competence and we explain some of the abstract theory. Chapter 2: Choosing a Rate How do some people charge $2/hr and others $500/hr? Where do you fit in? In this chapter we help you choose, justify and even increase your existing rate. Chapter 3: Keeping Yourself Educated How do you keep yourself from becoming outdated? How do you keep your skills in demand and the projects coming over time? We'll discuss that in this chapter. Chapter 4: Closing Deals You've got the interest but now how do you get the client to start working with you? We'll talk about closing sales as an engineer in this chapter. Chapter 5: Being Productive Productivity is a critical part of freelancing. Since most freelancers bill hourly it can make the difference between making $100,000/year and $300,000/year. This chapter contains tips to maximize your productivity as a freelancer. Chapter 6: Building & Maintaining Relationships Freelance consulting is a relationship-driven business. As engineers however, we tend to shy away from this. In this chapter we will talk about how you can build strong relationships and reduce the amount of time you need to spend selling yourself to new clients. Chapter 7: Legal Ideas Being a consultant comes with legal implications that can save your butt when things go wrong. In this chapter our very own Silicon Valley Lawyer Richard Burt will give you some tips of the trade. Chapter 8: Making Great First Impressions First impressions are a primer for excellent long-term relationships that will yield great value to you. This chapter will talk about first impressions as a freelance tech person. Chapter 9: Getting Paid Okay, so you've completed some contracts and now you're waiting to get paid. How do you get paid faster? Can you reduce your risk? We'll discuss these things in this chapter and even talk about how to deal with clients who don't pay. Chapter 10: Must-know Tax Tips As a freelance consultant, managing your tax effectively will save you a TON of money at the end of the year. In this chapter we'll run through some basic tips that will help you minimize your tax liability so you can keep more hard-earned money in your pocket. Chapter 11: Communicating Effectively Say the wrong things and you can find yourself staying up late at night on the weekend. Say the right things and you could find yourself making more money and spending more time with your family and friends. In this chapter we'll help you say less of the wrong things and more of the right things. Chapter 12: Freelancing Part-time What if you don't want to leave your current full-time job? What if you're in school full-time, or taking care of children? This chapter will help part-time freelancers. Chapter 13: Going Back to a "Regular" Coding Job In case you later decide freelancing is not for you, this chapter will help you ease back into a "regular" job without ruffling too many feathers. Chapter 14: Additional Resources Everyone who purchases the book receives an invitation to our Slack community. You'll even get a direct line to experienced freelancers (including the authors) that can help answer questions any day of the week.

A Philosophy of Software Design

A Philosophy of Software Design PDF Author: John Ousterhout
Publisher: Yaknyam Publishing
ISBN: 9781732102200
Category :
Languages : en
Pages :

Get Book

Book Description