Fill the Gaps

There are gaps in my knowledge, here's how I know and what I'm doing about it

Share on:  
  

Fill the Gaps in Your Knowledge

A picture of a puzzle being filled in

As a junior software engineer, you are pretty much guaranteed to be learning a lot constantly, especially as you start.

That’s good. That’s great even. On the job you’ll inevitably be learning new things with every ticket you take on. This is normal, as nobody comes out of school or bootcamp or an online course knowing all that their first job is going to expect of them.

However, a few months in, or maybe sooner or later, you’ll come to a point that you realize you’ve got a good grasp on the day-to-day of your job.

It’s at this point you’ll have to make a choice, though you might not realize it.

The choice you have to make is whether or not to go back and fill in your knowledge gaps.

My Own Example

When I first started my job at leanpub, I didn’t know ruby at all. I went through a few tutorials quickly in my first week, and absorbed a ton as I fixed bugs and implemented features. Slowly but surely, I gained enough of a grasp of the language and frameworks that I work in to be productive.

However, I know there is still a lot about it that I don’t know as well as I should. I should know enough, intrinsically, about the language that I read and write every day to do the Advent of Code day 1 without googling any syntax or library calls, and I don’t. That’s not because I’ve been a bad engineer, as much as imposter syndrome would like to tell me that.

It’s just the nature of being a junior engineer. There will be holes in your knowledge.

Knowing that, when I get some down time, I’ve been working to fill those gaps.

I’ve started a repository of programming tools, for me to put data structures, algorithms, design patterns, and software architectures, and I’ve started filling it out with the things that I want to master, going back to the basics.

This repo has been really nice for me, as it has given me a chance to implement some really basic things like linked lists and quicksort, which have given me a really simple way to practice the fundamentals of these languages. It also comes with the benefit of practicing these programming tools, useful for both a job and a technical interview.

I’ve also been working through the 2022 advent of code in Ruby, and after that I’ll do 2021 in Haskell.

This work for me still leaves a gap in my framework knowledge. I don’t know all the features of rails that I should. I think to learn that I would have to create a somewhat large project using the framework. I’ll probably come up with a small web app that I want to build soon and start it in rails just to get a little more time with the fundamentals of the framework.

Conclusion

Once you feel, as a junior engineer, that you’re no longer drowning while drinking from the firehose, go back and fill in the gaps in your knowledge. Go back and learn those basics that you missed while fixing bugs and building features. Learn the algorithms, learn the language features, learn the standard libraries, and learn your frameworks.

That’s the work that pulls you farther from being a junior engineer and brings you closer to being a senior engineer.

Do it because one day you’re not going to be a junior engineer, and you’ll be expected to perform at a higher level than a junior engineer, and you had better be prepared for that day.