Skills of a Successful Software Engineer
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.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

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
1140811048
Skills of a Successful Software Engineer
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.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

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
49.99 In Stock
Skills of a Successful Software Engineer

Skills of a Successful Software Engineer

by Fernando Doglio
Skills of a Successful Software Engineer

Skills of a Successful Software Engineer

by Fernando Doglio

Paperback

$49.99 
  • SHIP THIS ITEM
    In stock. Ships in 1-2 days.
  • PICK UP IN STORE

    Your local store may have stock of this item.

Related collections and offers


Overview

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.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

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

Product Details

ISBN-13: 9781617299704
Publisher: Manning
Publication date: 07/12/2022
Pages: 192
Product dimensions: 7.38(w) x 9.25(h) x 0.50(d)

About the Author

Fernando Doglio has twenty years of experience in the software industry, where he has worked in areas from web development to big data.

Table of Contents

Preface ix

Acknowledgments xi

About this book xii

About the author xv

About the cover illustration xvi

1 Becoming a successful software engineer 1

1.1 What you don't need 3

Bachelors degree in CS or related degree 3

Knowing the software development lifecycle 4

A math, physics, or similar degree 5

Certifications 5

The desire to work in a fast-paced environment 6

Experience 6

1.2 Useful skills to have 7

Patience 7

Determination 7

An eternal student mindset 8

Accepting criticism and learning from it 8

Knowing how to communicate 9

1.3 What about after you get the job? 10

2 Writing code everyone can read 11

2.1 Your code needs to work 12

Good is better than perfect 13

Working, then optimized 14

Sometimes terrible code actually helps 14

2.2 Code for people, not for the machine 15

Self-documenting code is a lie 16

Readable code > one-liners 22

2.3 Overengineering: The first capital sin 25

Spotting a case of overengineering 25

2.4 The random bug mystery 27

Performing a root cause analysis (RCA) 28

2.5 You have to aim to be a developer 30

2.6 SOLID, DRY, and other funny terms 32

SOLID: Making your code strong as a rock 32

KISS your code 38

Keep your code DRY 39

YAGNI, another funny word 39

3 Unit testing: delivering code that works 41

3.1 Why unit test your code? 42

What about using unit tests today? 43

3.2 What to test 46

Test one thing at the time 47

Make sure you test a unit of code 47

Only test your own code 48

Don't test external calls 49

Stick to testing what's on the rug 50

3.3 How to write your tests 51

Your new best friend: Dependency injection 52

Tame the big four: Mocks, stubs, spies, and dummies 54

Unit tests are not meant to be run manually 58

3.4 When should you write your tests? 59

4 Refactoring existing code (or Refactoring doesn't mean rewriting code) 61

4.1 What does refactoring mean anyway? 62

4.2 What do you do before you start refactoring? 63

Version control is your friend! 64

Unit tests are all the rage 66

Baselining your code 67

I love it when a plan comes together 67

4.3 What to focus on when refactoring 68

Magic values 68

Everyone's doing everything 70

You're too primitive! 70

Obsessive use of switch or if statements 72

Duplicated duplicated code 73

4.4 How to perform code refactoring 75

Common refactoring techniques 75

Tools to reduce human error 79

Refactoring best practices 81

4.5 What if you don't need to refactor your code? 82

5 Tackling the personal side of coding 86

5.1 How are you learning? 87

You're not supposed to know everything 87

The internet is great, but so is a formal education 90

5.2 Side projects 91

The case for side projects 91

What's wrong with side projects? 93

What about working on open source projects? 94

5.3 Asking your online friends for help 97

Making mistakes 97

Avoiding the naysayers 98

5.4 Learning to communicate with others 99

6 Interviewing for your place on the team 102

6.1 The tech interview experience 103

What can you expect from a tech interview? 103

Warning signs you should look out for 109

6.2 Things you should never say during a tech interview 113

What do you do here, exactly? 114

I don't know, I've never done that before 114

I hated that place because… 115

I've built multiple SPAs using SSR with MERN 115

Well, nobody uses that anymore 116

It's listed on my resume 116

No, I don't have any questions 117

I'm a React-developer 117

Oh Linux? I hate Linux, I'm a Windows guy 118

I don't know what unit tests are 118

6.3 What to expect from the offering after your interview process is over 119

Not everything that shines is gold 119

Actually useful perks 121

7 Working as part of a team 123

7.1 Getting your manager to love you 124

Task-tracking software is not the devil's tool 124

Meetings! 125

I plan, therefore I code 127

Don't reinvent the wheel 130

What you should never say to your manager 131

7.2 Being a good teammate 135

Make peace with your testers 135

Leave your ego at the door 137

Learn how to work remotely 139

Be social 142

7.3 Working on your own skills 143

Continuous learning 144

Measuring your learning progress 146

Learning from code reviews 147

8 Understanding team leadership 150

8.1 Understanding your leader 151

Key traits of a good leader 151

Hard truths to hear from your leader 153

Constantly asking for status updates 156

Understanding task assignments 157

8.2 The 90-10 rule 158

8.3 Correcting your leader 160

8.4 Dealing with clients 161

Correcting the client 161

Angry clients 163

8.5 Feedback is mandatory 163

Why is feedback so important? 164

Different types of feedback 165

8.6 Thank you 167

Index 169

From the B&N Reads Blog

Customer Reviews