How to Spot a Rockstar Employee

How do you know if the person you’re interviewing is a rockstar or just a crockstar? A rockstar employee is someone you can count on to do the job right, who fits with your company culture and gets…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




Over Engineering Toy Problems

I had begun a love affair with GitLab around a year ago. It’s so antithetical to attributes of my favorite software. It’s monolithic, for one. Even its default Docker container bundles all of the services necessary for GitLab CE into one, single container. Unfortunately for my ideals, it’s an awesome piece of hulking software. The baked in CI/CD, container registry, and not to forget nearly all of the features of GitHub and then some. Plus, it can be self-hosted!

Inevitably, any git repository I think about putting on there ends up having every bell and whistle added.

This idea was innocent enough at first. Codewars has a simple way for me to view all of my past solutions, but I wanted more: I wanted to practice project organization at the same time. SVC for toy problems isn’t that much over-engineering. This seemed fine.

But wait, GitLab has that solid CI suite. My first toy problem that was pushed in was a trivial Elixir exercise, and Elixir has excellent standard tooling with Mix and ExUnit. I could add a gitlab-ci.yml file and be done with it. Done, easy, simple.

I had two thirds of this problem already solved; I knew how to make Mix tasks in Elixir and build images in Docker. Sadly, there were seven thirds to this problem.

Adding a build stage to the CI file was easy. A couple of lines of YAML and it was primed and ready… for failure. I didn’t know that SaaS GitLab needed my own runner for Docker builds. I knew I could probably get it to build and push within a normal job, but following the guides was just in the cards for me that night. I wanted to do it right.

Skipping through the hell that ensued seems prudent here. After several variations of the Pipeline that all had their own unique problems, I raised my flag in surrender. I had reached the nightly limit of “great ideas”.

It was a bad choice. Some may call it “less than ideal”- I believe less than ideal was a couple of hours ago. That’s fine though. After a few botched reverts and reverts to my reverts, I finally reverted the repository correctly. Now, the repo contains a very reasonable gallery with automated tests and questionable git log.

All of this isn’t to say that you shouldn’t over-engineer side projects. I’m of the mind that doing so will help you make better professional choices as you will have already run into the “great ideas” that “will totally make this better”. In the end, I learned more about writing code and project architecture… even if the path getting there wasn’t the one I intended to go down.

Add a comment

Related posts:

June tokens unlocked for NPXSXEM and PXSXEM holders

We will unlock June monthly tokens for both PXSXEM and NPXSXEM holders. NPXSXEM and PXSXEM are Pundi X Mosaic tokens, which are different to our NPXS token (an ERC 20 token). During the swap period…

Argument Writing 5

The following appeared in a letter from a homeowner to a friend. “Of the two leading real estate firms in our town — Adams Realty and Fitch Realty — Adams Realty is clearly superior. Adams has 40…

Reading The Golden House

Salman Rushdie has often said, and it is wonderful that he gets to say so many things after years spent in hiding, that if he knew the direction Indian politics would take Midnight’s Children would…