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)
4
Index

When I was younger I used to struggle learning a new or difficult subject, and over the years and about a decade of university and grad school have helped me put together a strategy for how to study and understand complex topics. Typically, I apply this learning system to subjects such as algorithms and software engineering; however, it can be applied to any topic.

While there is a near infinite set of study strategies out there, I like this approach because it utilizes a divide and conquer strategy, focusing on breaking a complex topic into easy-to-understand components, and putting the pieces back together at the end to see how they all work together.

Let's take a case study example: understanding how logarithms work. Logarithms are used throughout the fields of mathematics and computer science; however, unless you use them regularly it's easy to get rusty on them:

If this seems like a dead simple approach to study…it is. The goal of studying is to learn a topic, and one of the easiest ways to understand a complex subject is to break it into easy to comprehend components. For example, if you're trying to understand an advanced algorithm in computer science from scratch, you may feel a little intimidated.

However, if you break the algorithm down into small enough components you'll see that it's essentially a process of steps made up of connecting simple modules such as loops, manipulating variables, and using conditionals. A problem is only hard when you try to think of it as a whole. However, any concept can be understood if you simplify it down to easy to comprehend pieces.

Obviously, the more complex the topic, the longer it will take to deconstruct; however, I am a firm believer that anyone can understand any topic assuming they dedicate themselves and put the work in. I hope that you can leverage this mind mapping process to understand complex topics and that it will help you learn how to study properly and truly learn.