Prepare notes for Standups

Daily standups are a standard part of the software engineering life. Over the last four years I have had a standup of some kind nearly every workday.

Standup is a ritual, you circle up with your coworkers and take turns trying to remember what exactly you did to justify your salary yesterday. Every third update devolves into a 5+ minute derailment of the meeting that would really prefer not to follow. Then when it is finally your turn you spill out your update as quickly as possible. Only to slowly realize 3 minutes later that you forgot to mention half of the things you did the previous day. 

The solution to standup is pretty simple.  Just take notes.

I keep a checklist of tasks in the Mac notes app. I check off the item when its done. Then in standup all I do is read through my list. 

Just keeping a little list of tasks makes it easy to remember what you did for standup. It is easy and will save you the embarrassment of not having anything to say to justify your salary during the meeting.

A Certification is not the same as having a skill 

People often ask on r/cscareerquestions, “Can I just get this Java Certification instead of doing a Bootcamp or getting a CS degree”. And the answer is that the Certification is not going to help you as much as you think it will. Computer Programming is still a young field, gate keepers are just not that important yet. Becoming a Real Estate Agent requires you to get a License or Certification from the State certifying you to buy and sell houses for people. There is nothing like that for Computer Programming. Anyone with any amount of skill or experience can declare themselves a ‘Software Engineer’. There is no governing body which can ‘certify’ your skills. The current standard is Whiteboarding problems and timed hackerrank.com questions. Your return on investment from investing time into hackerrank.com will be much higher than getting a Certification. 

How Software Engineers demonstrate their skill to the market is through whiteboarding questions. Get good at that first then worry about Certifications. 

Does this make Certifications worthless in Software? I don’t think so, but it is not going to be worth it for junior developers trying to break into the market. One of my employers paid for me to get the ‘Certified Kubernetes Administrator’ certification from the CNCFF. Why did they do that? So that they could qualify as a CNCF partner organization and get free marketing and a better aura of expertise. 

I put that certificate on my resume, but it has not gotten me any Kubernetes jobs. If your company is going to pay for a certification go for it. Otherwise, I do not think it is worthwhile for you to pay for it personally. 

Getting into Software Handbook Released!

The Getting into Software Handbook has been released on Amazon. This handbook is a guide to becoming a Software Engineer with a non-traditional Computer Science background. I learned to program when I was 21 and had a lot of catching up to do to enter the industry. This handbook covers my experience and thoughts on getting into the Software Industry.

 

 

Book Review: Josh Doody’s Fearless Salary Negotiation 

Fearless Salary Negotiation (https://fearlesssalarynegotiation.com) is a book about negotiating salaries after you get an offer. Josh Doody’s book covers communicating with hiring managers, dealing with the dreaded salary question, how to write a counteroffer and more. 

The first section of the book covers how to determine your market value.

 One thing to be aware of is that companies have pay grades which can affect the size of any raises you get. If you are hired into a company at the top of a pay grade, you may have to get promoted before you can get any raises. Whereas if you start at the bottom of a pay grade, you can get large raises until you reach the top of that grade. This can also be a factor when negotiating salary, because you may need a salary that they cannot offer to you without bumping you up to the next grade. 

The next section covers negotiating higher pay when you switch jobs

Getting better at negotiating offers is why I bought this book. Most employees will negotiate less than 20 offers in their career. But a recruiter or hiring manager could negotiate 20 offers in a single year. This disparity is a bigger deal than most people realize because each offer you don’t negotiate could represent a loss of $10,000 a year for the rest of your career. The book includes a few sample emails which I have used to get over $5000 increases on several offers. 

The last part of the book is about how to get a raise in your current job. 

I have never bothered negotiating raises at my current job. You should avoid any situation where you cannot switch to a new job for more money. Your employer has the structural advantage in this market. You only have leverage  when you have multiple offers. Interviewing is a huge time commitment. If you are not going to take the biggest raise you can get its not worth it.  My last job search took almost 24 hours of my time for each offer I got. If you stay you will almost always be leaving money on the table and that is after blowing days worth of time.

I recommend Fearless Salary Negotiation to anyone who is looking for another job and wants to get paid more. 

 

Why ‘go get another job’ is the answer to all r/cscareerquestions.  

The r/cscareerquestions sub-reddit gets all sorts of questions from software engineers about their careers. And if you spend any amount of time reading through the posts you will find the answer ‘get another job’ given as a response to most questions. Why is getting another job recommended as the solution to so many workplace problems? 

Chance matters a lot more in your career than you want to admit. At the beginning of your career you are not going to have enough perspective to screen companies well. Your first job might be at a company with horrible practices that make your life more difficult. But you will not know the right questions to ask yet. If you do not read blogs or reddit you might not even realize that those practices are unusual. 

Each company has different processes carried out by different people. Different people will get along with you better or worse. You should find a job where you get along with the people who are up high in the ranks. Switch jobs every year until you find a company that fits you well. 

You might be a night owl or a day person. In software engineering you can find jobs that start at 8am or at 11am. Do not stay in a job that doesn’t match your internal clock. You will be suffering for no reason. 

Lots of the questions on the subreddit share the root cause of you ended up in a job that was a bad fit for you. Or you ended up with a job where your bosses and coworkers don’t like you. The job being a bad fit is caused by bad luck and can only be fixed by switching to a new job that is a better fit. You are not going to change the business to fit you better as a Junior Developer. Your best option is to move at the one year mark for mild difficulties and to move immediately when faced with big problems. 

There are enough bosses that you can find one that likes you individually as a person. Don’t spend years at a job you don’t like with a boss you hate and a team that thinks you are a loser.