Known Unknowns logo

Known Unknowns

Archives
Subscribe

Known Unknowns Known Unknowns

Archive

What is Apache Kafka?

I was talking to a recruiter today, and he mentioned that his company is switching to using Kafka for a lot of their systems. To be honest, I have heard the name Kafka, but had literally no idea what it was. This was an unknown unknown to me until today. I decided to learn a little bit about what Apache Kafka is.

According to TechBeacon, Kafka is:

#14
December 7, 2020
Read more

Consistency

I’ve been writing this newsletter in the evening when I finally get around to it and sending it out as soon as I finish a quick edit. (Can you tell? lmk)

Tonight something came up that will replace that time I’ve been using to write. My first thought was “I’ll write this later”, but honestly it’s Friday, Teh Wife is winding down from a busy week and then there’s the Mandelorian and bourbon. So the truth is if I said I would write later, I wouldn’t. I’m lying to myself.

Consistency is a tough thing to stick to.

NaNoWriMo is a month-long sprint to write a novel in 30 days. This year I started strong, but the effort was too grand (and the plot too thin) to keep at it. So I stopped writing. But what would have been better than burning out writing 1667 words every day was to write 100 anyway, whether I felt like it or not.

#13
December 4, 2020
Read more

How to write a bug report.

This post now lives here: How To Write a Bug Report

#12
December 3, 2020
Read more

Network Up

Network Up

Most software developers are already hesitant to network, so this is more difficult than your average “Network More”advice.

Networking with peers is fine but the ability to network one or two levels above your position is going to give you the most benefit in your career. Most individual contributors - your peers as a software developer - aren’t going to be the hiring manager when its time for you to get a new job.

Instead, your goal should be to network with those who will be the hiring managers in the future when you’re seeking your next opportunity. If you’re early in your career; team leads are a good place to start… their careers will grow over time. Engineering Managers will move on to other positions as Directors, so getting to know them and keeping in touch will also be useful.

#11
December 2, 2020
Read more

Learning Path

Back in 2017 I created a new note in Evernote called "Learning Path". It was intended to be an outline of things I wanted to learn, and a way to organize all the saved notes from around the web. This summer, when I had some time on my hands and needed to clean out my Evernote "inbox", I added a whole bunch of topics to the Learning Path. At this point, it's 16 pages long!

While there are many things to be refined and reorganized in that list, I need to start taking stabs at learning what's in it.

This newsletter, Known Unknowns, is the output of digging into the Learning Path. Topics are things I know I need to learn more about. Over time, Unknown Unknowns - the things I don't even know I don't know - will get added to the list as well.

The topics will cover software development, personal development, leadership and maybe an occasional faith email too.

#10
December 1, 2020
Read more

Staining Decks, part 2 - software estimation

Yesterday I wrote about my deck staining project and how it, like software projects, was spiraling out of control. I mentioned I would make some comparisons to software estimates, but I don’t have the book I planned to reference with me. Oops.

Scott McConnell’s Software Estimation: Demystifying The Black Art covers a number of factors that can swing a software estimate greatly in different ways.

Here are three factors which affect the outcome of a project estimate:

Expertise of the team

#9
September 29, 2020
Read more

Staining Decks

Nothing is worse than a project that takes longer than expected. I've been staining our decks, and the project is going into its third week already. Now, I've stained decks before, so I have a rough idea of how much stain I'll need, what kinds of brushes to use, what I will need to tape off in order to keep the stain where it needs to be.

Yet this project persists...

The first thing that made a change to the known scope for the project was changing from ugly aluminum balusters to wire cable for the spaces between the railings. It looks easy based on the YouTube videos by professional deck builders, but the cost of the project quadrupled immediately with this decision. The effort remains to be seen, since the installation will be the last step.

The project had other unknown scope that creeped in as well. A thorough power wash took a lot of time, and when that was completed I realized how rough the condition of the wood was. This led to 3 rounds of sanding followed by applying brightener to the remaining wood and another quick wash.

#8
September 28, 2020
Read more

Python, redux

Yesterday I discussed some thoughts I had about learning Python, especially around some scripting to create notes in Evernote since IFTTT would no longer suit my needs.

Today I explored Python a little more closely, and it doesn’t seem to be that complicated of a new language to learn. Caveat: almost all languages are easy to learn, it’s the libraries and frameworks that can suck the life out of you.

One though that hadn’t occurred to me, even though I hinted at it yesterday, was that I could use Python to create scripts to do things. My thought at the time was to use it on a server (probably in a cron job), but some of the power I wasn’t considering with Python is in creating scripts to run on my local PC to do different things.

Having done some PowerShell scripting in the past, I can see this being very similar, but without being tied to Microsoft’s scripting language. (I’ve put aside my frustrations with Microsoft from years past and wholly support their developer ecosystem, but it’s nice to have choices).

#7
September 25, 2020
Read more

Python

A couple of roles I’ve been talking with hiring managers for have been outside the .NET ecosystem I’m most familiar with. In particular, two are codebases in Python.

Steve McConnell, in Software Estimation: Demystifying the Black Art, states that developers working in interpreted languages can be up to twice as productive as those working with compiled languages.

Python looks like the next language for me to learn. There’s great support for it on devices as small as Raspberry Pis, and its pretty commonly used in scripts running on severs.

-

#6
September 24, 2020
Read more

Context Syndrome

Starting a new job should never fill you with such anxiety that you start to get imposter syndrome.

With all the new code, environments, clients and TLAs that are second nature to those who have been on the team a while already, you can’t expect to step in and feel like you know what you’re doing.

It’s not competence you’re missing, it’s context.

#5
September 23, 2020
Read more

System Design YouTube Channel

I’ve been brushing up on some system design, and found a great YouTube channel by Guarav Sen. He explains all kinds of algorithms and technical System Design features.

#4
September 18, 2020
Read more

Marginalia

I learned from Austin Kleon that writing notes in the margins of a book is a fairly common habit, and that it has a name: marginalia.

Other than the Bible, I've always struggled with the idea of marking up a book with my own thoughts and ideas. To even underline some text with a highlighter makes me nervous. And my subsequent readings of a marked up book always feels less special, as if I've used up some of the ideas with a yellow pencil.

This is partially why I'm now doing sketch notes of some of the non-fiction I'm reading. This is a horribly slow process, but I do feel that I'm thinking about the text as I render it, and that is the point: to learn from what I read. It's too easy today to simply skim an article and not put any thought into it.

Slow down, learn more.

#3
September 17, 2020
Read more

Progress

“The greatest way to make progress is to keep moving.” - John C. Maxwell

I lost my newsletter draft that I thought I had scheduled to go out Monday. Today I don’t feel like I have anything to say, but this quote inspired my to write this little bit anyway.

#2
September 16, 2020
Read more

Clifton Strengthsfinder.

I was feeling a little lost the other day, kind of holding a pity party about my skills and abilities. My wife encouraged me to take the Clifton Strengthsfinder to better understand what my skills truly are. The test is pricey ($50 USD), but so worth it!

You answer a series of 177 questions where you are presented with two options. You select on a scale of 5 whether you agree with one or the other options or are neutral in the middle. The test takes about 20 minutes to complete and the test results are ready immediately afterward.

I. Was. Blow. Away.

I didn’t think the questions pertained to much of anything, and sometimes the choices didn’t even seem like opposites. Yet the results pegged me perfectly.

#1
September 15, 2020
Read more
  Newer archives
Powered by Buttondown, the easiest way to start and grow your newsletter.