Gør som tusindvis af andre bogelskere
Tilmeld dig nyhedsbrevet og få gode tilbud og inspiration til din næste læsning.
Ved tilmelding accepterer du vores persondatapolitik.Du kan altid afmelde dig igen.
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 FundamentalsPart 2: The Competent Software DeveloperPart 3: The Well-Rounded Senior EngineerPart 4: The Pragmatic Tech LeadPart 5: Role Model Staff and Principal EngineersPart 6: ConclusionParts 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
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?
Tilmeld dig nyhedsbrevet og få gode tilbud og inspiration til din næste læsning.
Ved tilmelding accepterer du vores persondatapolitik.