Book Image

Skill Up: A Software Developer's Guide to Life and Career

By : Jordan Hudgens
3 (1)
Book Image

Skill Up: A Software Developer's Guide to Life and Career

3 (1)
By: Jordan Hudgens

Overview of this book

This is an all-purpose toolkit for your programming career. It has been built by Jordan Hudgens over a lifetime of coding and teaching coding. It helps you identify the key questions and stumbling blocks that programmers encounter, and gives you the answers to them! It is a comprehensive guide containing more than 50 insights that you can use to improve your work, and to give advice in your career. The book is split up into three topic areas: Coder Skills, Freelancer Skills, and Career Skills, each containing a wealth of practical advice. Coder Skills contains advice for people starting out, or those who are already working in a programming role but want to improve their skills. It includes such subjects as: how to study and understand complex topics, and getting past skill plateaus when learning new languages. Freelancer Skills contains advice for developers working as freelancers or with freelancers. It includes such subjects as: knowing when to fire a client, and tips for taking over legacy applications. Career Skills contains advice for building a successful career as a developer. It includes such subjects as: how to improve your programming techniques, and interview guides and developer salary negotiation strategies.
Table of Contents (5 chapters)

In this chapter, we're going to go back in time and walk through when I developed the system of reverse note-taking. A quick Google search will show that I have coined the term; however, I did not invent the process.

Back when I started computer science grad school at Texas Tech I was struggling with one of my classes. It had been about a decade since I had been in a classroom environment and I was having a difficult time paying attention to the 1.5-hour lectures.

During this time, I spent quite a bit of time meeting with Dr. Richard Watson. And during one of our meetings I brought up the issues I was having. His first question was based around how I was taking notes for the course.

I showed him my notes and he instantly told me that I was taking notes completely wrong. He pointed out multiple places in my notes where I had missed key concepts that were unifying elements. And without noting these items, I wouldn't understand the topics at all.

In reviewing the notes, I realized he was completely right. I spent my time writing down facts and what I thought were key terms. However, I regularly failed to articulate how everything worked together.

For example, for my notes on tree data structures I outlined each of the key elements of binary search trees and B-Trees. But I failed to describe the innate differences between the tree components from a behavior perspective.

This is similar to taking notes in a history class and writing down the names, dates, and locations for Napoleon's loss at the battle of Waterloo without describing the critical differences between his old armies with the one he lost with.

I started following this reverse note-taking process years ago and I still use it today. Through this time, I've noticed a number of key benefits to this approach.