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.

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.

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?

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

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

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


Soft Skills

Soft Skills PDF Author: John Sonmez
Publisher:
ISBN: 9780999081440
Category :
Languages : en
Pages : 502

Get Book

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.

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.

System Design Interview - An Insider's Guide

System Design Interview - An Insider's Guide PDF Author: Alex Xu
Publisher: Independently Published
ISBN:
Category :
Languages : en
Pages : 280

Get Book

Book Description
The system design interview is considered to be the most complex and most difficult technical job interview by many. Those questions are intimidating, but don't worry. It's just that nobody has taken the time to prepare you systematically. We take the time. We go slow. We draw lots of diagrams and use lots of examples. You'll learn step-by-step, one question at a time.Don't miss out.What's inside?- An insider's take on what interviewers really look for and why.- A 4-step framework for solving any system design interview question.- 16 real system design interview questions with detailed solutions.- 188 diagrams to visually explain how different systems work.