ebook img

The Complete Software Developer’s Career Guide PDF

678 Pages·2017·4.51 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview The Complete Software Developer’s Career Guide

THE COMPLETE SOFTWARE DEVELOPER’S CAREER GUIDE JOHN SONMEZ For online information and ordering of this and other Simple Programmer books, please visit simpleprogrammer.com. For more information, please contact: John Sonmez, Simple Programmer [email protected] 500 Westover Drive #7981 Sanford, NC 27330 ©2017 by Simple Programmer. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher. Simple Programmer 500 Westover Drive #7981 Sanford, NC 27330 ISBN-13:978-0-9990814-1-9 (paperback) ISBN-13:978-0-9990814-0-2 (electronic) Printed in the United States of America CONTENTS Preface Is This Book For Me? Chapter 1 – How to Use This Book SECTION 1 GETTING STARTED AS A SOFTWARE DEVELOPER Chapter 2 – How to Get Started Chapter 3 – The Technical Skills You Need to Have Chapter 4 – How to Develop Technical Skills Chapter 5 – What Programming Language Should I Learn Chapter 6 – Learning Your First Programming Language Chapter 7 – Going to College Chapter 8 – Coding Boot Camps Chapter 9 – Teaching Yourself SECTION 2 GETTING A JOB Chapter 10 – Internships Chapter 11 – Getting a Job Without Experience Chapter 12 – How to Find a Job Chapter 13 – Creating a Resume Chapter 14 – The Interview Process Chapter 15 – Salaries and Negotiation Chapter 16 – How to Leave a Job Chapter 17 – Switching Mid-Career (Late Entry) Chapter 18 – Going From QA or Another Technical Role to Development Chapter 19 – Contracting vs. Salary Chapter 20 – How the Recruiting Industry Works SECTION 3 WHAT YOU NEED TO KNOW ABOUT SOFTWARE DEVELOPMENT Chapter 21 – Overview of Programming Languages Chapter 22 – What is Web Development? Chapter 23 – Mobile Development Chapter 24 – Back-End Development Chapter 25 – Career in Video Game Development Chapter 26 – DBAs and DevOps Chapter 27 – Software Development Methodologies Chapter 28 – Testing and QA Basics Chapter 29 – Test Driven Development and Unit Testing Chapter 30 – Source Control Chapter 31 – Continuous Integration Chapter 32 – Debugging Chapter 33 – Maintaining Code Chapter 34 – Jobs and Job Titles Chapter 35 – Types of Work SECTION 4 WORKING AS A DEVELOPER Chapter 36 – Dealing with Coworkers Chapter 37 – Dealing with Your Boss Chapter 38 – Working with QA Chapter 39 – Work / Life Balance Chapter 40 – Working on a Team Chapter 41 – Selling Your Ideas Chapter 42 – How to Dress Chapter 43 – Acing the Review Process Chapter 44 – Dealing with Prejudice Chapter 45 – Being in a Leadership Position Chapter 46 – Getting a Raise or Promotion Chapter 47 – Women in Tech SECTION 5 ADVANCING YOUR CAREER Chapter 48 – Creating a Reputation Chapter 49 – Networking and Groups Chapter 50 – Keeping Your Skills Up to Date Chapter 51 – Generalist vs. Specialist Chapter 52 – Speaking and Conferences Chapter 53 – Creating a Blog Chapter 54 – Freelancing and Starting a Business Chapter 55 – Career Paths Chapter 56 – Job Stability and Security Chapter 57 – Training and Certifications Chapter 58 – Side Projects Chapter 59 – Best Books to Read Chapter 60 – Parting Words PREFACE I didn’t expect to be writing a book so soon after writing my last book, Soft Skills: The Software Developer’s Life Manual. Well, I guess it hasn’t been that short a period of time. Soft Skills was released in December of 2014 and I began writing this book in the summer of 2016. But, when you write a book, 1.5 years doesn’t quite seem like enough of a break. Writing a book is pretty hard work. Sure, it’s rewarding to have that book you wrote sitting on your bookshelf, but the process of getting it there is not always the most enjoyable. So, you might be asking yourself, why then did I decide to write another book? And why—by my standards at least—so relatively soon? It’s definitely not a matter of economics, because there are definitely more financially lucrative ways to spend your time other than writing a book. And it’s definitely not because I love writing. While I do admit I enjoy it—at times—it’s definitely a more painful than pleasurable experience. Why then embark upon another journey, that isn’t going to make me much money, is going to suck up a large amount of my time and at least be somewhat painful? Well, mostly it’s because I have to. When I look at all the books written for software developers, I find there isn’t a single book that tells software developers from A to Z how to not only start their career, but thrive in it and advance it and what exactly it is they need to know to be as successful as possible. I get thousands of questions on my YouTube channel from software developers, young and old, experienced and new, male and female, from every country in the world asking about all kinds of “soft” topics related to software development. Questions like: How do I get started as a software developer? How do I learn technical skills? How do I negotiate my salary or pick between a contract job and salaried employment? How do I deal with my boss, my coworkers, prejudice, women in tech, being a woman in tech? What do I really need to know and how can I learn it? College, boot camp, self-taught? How do I find a job? What if I don’t have any experience? How do I pass an interview? How should I dress? How can I advance my career and take it to the next level? I could go on and on. The bad news is, I haven’t found a single resource to point software developers to which answers all of these important questions. The good news is, what you are holding now is that resource. So, despite my reservations about writing another book—especially so soon, at least in my mind—I decided to write this book, not because I want to write another book necessarily—although I can’t deny there was some itch of wanting to get back to writing—but because I firmly believe that when you see something that is needed you either find it or you create it. I couldn’t find it, so I’m creating it. I hope you’ll join me on this journey. IS THIS BOOK FOR ME? There you were, minding your own business when this book’s awesome cover grabbed your attention and you just had to pick it up (or click on it.) Now you are flipping through the pages asking yourself, “is this book for me?” Don’t worry, I can assure you I wrote this book just for you, even though I don’t know anything about you. How? You ask. After all, I don’t even know that you can read. Well, actually I do know you can read, because if you couldn’t, my words wouldn’t be magically vocalizing in your mind at this very moment. I also know one other thing about you, which is that we share a keen sense of humor—or at the very least you can tolerate my humor—since you are still reading thus far. Well, before I lose your interest permanently and you put this book back down on the shelf or click that other window in your browser, I suppose I should get a bit serious and get down to business. All joking aside, no matter where you are in your software development career, this book has something to offer you. For the scanners among us, allow me to quickly categorize you into one of three categories and you can read the category that is most relevant to you: BEGINNER OR JUST INTERESTED IN LEARNING SOFTWARE DEVELOPMENT If you are starting out and trying to learn software development / programming or you’ve learned a little, but haven’t gotten your first job a software developer yet, you’ll find the largest amount of value in the first two sections of this book where I talk about how to get started as a software developer and how to get your first job. The rest of the book you’ll find useful to fill in any knowledge gaps you’ll need to succeed as a software developer, thrive in the workplace and advance your career. You’ll find relevant topics in this book that you won’t find in any other book on software development (that I’m aware of) which will help you get rid of all the confusion with how to

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.