Day 5 - Mentorship

Developer Hopefuls

I’m not particularly passionate about teaching, the necessary aspect of coaxing an “unwilling” group of students or single student to learn something they don’t care about (and often I sympathize). On the other hand, I love mentoring developer hopefuls whether they have zero experience and are eager to break into a financially rewarding field or they’re a junior engineer eager to get more tools in their toolbelt.

So I was very pleased when last night my housemate excitedly told me how motivated he is to leave his current profession as a CT scan technician and find an entry level coding job. I’m excited at his excitement but more selfishly, I think mentoring someone is one of the best ways to refine your technical and collaborative skills.

A problem I often create is to try and make the world too nice of a place for the person I’m teaching. For example my first thought today was to install iTerm2 on their new Mac, set up the correct keybindings for cursor movement, teach them some shortcuts, and explain what .bash_profile and .bashrc are for. Having recently encountered and reflected on this problem, I pulled back before I basically just turned his machine into a copy of mine.

It connected the dots on something I ought to have realized a long time ago. The most growth I’ve had as a programmer has come primarily from two scenarios:

1) Finding the weak spots in my programming routines and workflows, then automating or improving them
2) Being completely mindfucked by an incomprehensible problem, beating my head against it until I’m seeing stars, then usually asking a more senior engineer to come and hold my hand

It’s completely unhelpful to stroll in, install a bunch of guard rails, and justify it all with, “Trust my, you’ll appreciate x when you y”. Class road to hell <=> good intentions type deal.

Golang build

Copypastad enough code to get a build/release running of systips. Not really anything to do with Golang but I had never gone through the workflow of building out binaries for linux, darwin and windows then deploying to a release on Github, so it was instructive regardless.

Got to looking at structs in Golang and swapped out the way I was storing my tip strings from just an array of strings into a Tip type with some metadata associated to each tip. Kinda gave up on testing for the time being since the logic of the app is so minimal. At this point I probably want to actually add some content on top of the five little tidbits I’ve got in there.

Site

Gotta switch up this theme. For some reason I am so averse to anything to do with front end development or design that I am totally willing to let something look shitty as long as it requires minimal effort on my part.