Image for post
Image for post
via Pixabay

Learn how to read your employment contract and how to protect yourself and avoid getting locked into a bad situation.

Over my career as a software engineer, I’ve signed a handful of employment contracts. I used to sign them without thinking, but as I grew in my professional career, I became more and more aware of the limitations (and benefits) contracts provided.

It led me to believe that all software engineers should be aware of what they are signing. In the US, provisions…


Image for post
Image for post
Image via Pixabay

Learn why popular programming mantras like YAGNI, DRY, and KISS can be as destructive as they are seductive.

Software development is full of mantras that are chanted by developers of all levels as prima facie evidence that justifies and proves the rationality of their decisions.

Who amongst us hasn’t heard people or told people to YAGNI, DRY, or KISS? They’re popular mantras because, when followed properly, they work to guide and nudge thinking towards more effective development and programming.

However, they have a dark side.

Because these terms are intentionally vague and broad, they can be misapplied or over-applied in many situations. These memes are then used as justification to continue applying the wrong approach to a problem.


Image for post
Image for post

Management is an entirely different skillset from being an individual contributor — avoid these costly first-mistakes.

I’ve been fortunate enough to see a lot of first-time managers take up the responsibility of managing their teams for the first time. Almost like clockwork, they generally fall into a series of common traps and early mistakes. The good ones learn from them — the bad ones repeat them.

It’s unfortunate but expected — management is an entirely different skillset than being a good individual contributor.

In many companies, a person enters their first management job without support or mentorship — a trial by fire. Startups often grow so rapidly that the initial contributors rise to management positions for…


Image for post
Image for post
Image from Pixabay

Learn a lightweight hiring process to help you quickly hire great engineers with as little overhead as possible

I was once the Director of Engineering at a startup that was always busy, busy, busy! We had people to help, processes to fix, and product to ship. Every day was a fire or pivot.

Strategically we had some key skills gaps that I needed to close, fast. I knew the only way to do it was to increase the size of our team, but given all of the other things going on, hiring kept falling by the wayside.

Engineering, architecture, management, company strategy, wouldn’t get done if I focused too much time on hiring, and yet hiring was critical…


Image for post
Image for post
Image from Pixabay

Understand how startups evolve, why managers are needed, and how to figure out if you need to hire an engineering manager.

Most tech leaders who have been in an early-stage startup have encountered this question: “Do I need an engineering manager?”

It’s a tough decision. Most early-stage startups aren’t flush with cash. Every dollar they spend on an “expensive” manager is one less dollar they can spend on a direct contributor to the codebase.

Furthermore, hiring the wrong manager can be incredibly damaging to the culture and organization. …


Image for post
Image for post

Wrangle the chaos of startup life through the implementation of lightweight, efficient processes.

Process is an afterthought for many tech startups and an intake process is often the last thing on leadership’s minds.

After all, they haven’t needed it so far. In the day-to-day chaos, things have happened and progress was made just fine without any formal process.

They may even have started thinking that an intake process isn’t even necessary and would just slow things down. Perhaps they’ve come to believe that their team has somehow found some special trick to make such process completely unnecessary.

They deceive themselves. It’s understandable how inexperienced engineering leads get lulled into this dangerously false sense…


Learn how I made a chatbot extensible by designing and building a plugin system to make it modular.

Lightbulb plugging itself in
Lightbulb plugging itself in

When I was younger, I had a top-of-the-line gaming computer. I spent thousands of hours playing games like Team Fortress 2, Minecraft, Guild Wars, and Age of Empires.

One of my favorite activities after I had thoroughly explored a game was the practice of modding. Modding allowed you to create or download packages of software that changed or added to how the software behaved — new levels, textures, or even game mechanics! The possibilities were limitless.

Now that I’m a software developer, I have a better understanding of how many of these programs supported such massive extensibility.

They used a…


Image for post
Image for post

Stop believing the blogs, podcasts, and articles in the ecosystem that talk about how some new technology or technique will improve everything. It probably won’t.

The tech community has mastered the art of giving terrible advice.

It is everywhere. Not a day goes by where I don’t run into a blog article espousing a new framework or library, encounter some massively upvoted Hacker News post on yet another data management technique for the current flavor-of-the-month javascript framework, or a meet-up talk about a brand new technique implemented at some company that saved them tons of time or money.

It seems as if the entire tech ecosystem is yelling in unified consensus about the latest and shiniest new thing.

Sometimes, it makes me feel like an…


Image for post
Image for post

The tech industry is suffering from terrible technical interviews that lead to false negatives and hurt candidates. We can do better — here’s how.

I jut recently completed a month-long job search in which I went through 75 interviews, resulting in 7 offers. The technical interviews I went through could be classified as good or terrible.

The good ones were great. They were engaging, fun, and left room to interact with people and go through the thought process and tradeoff discussions together. They felt like conversations and collaborative problem solving.

The terrible ones were truly terrible. Some asked me to invest five hours into take-home projects, despite the fact I had a job as well as an extensive portfolio of open-source side projects. Others…


Image for post
Image for post
Heatmap of the United States showing states randomly bucketed along a scale.

Learn how to create a dynamic heatmap of the United States by yourself, without having to buy a license from a company that sells charts.

A strangely large number of companies I’ve worked with somehow inevitably get to the point where they want to build or integrate a heatmap of some kind.

In the past, I would reach for the nearest charting library like HighCharts. Why reinvent the wheel, and besides, their charting is cool!

Over time, as I felt the itch to incorporate heatmaps into my weekend projects, I kept bumping it off due to the price. I kept asking myself “is this too expensive for a personal project?”

I don’t know about you, but for me the answer is yes. Some charting libraries…

Joseph Gefroh

Principal Software Engineer @ HealthSherpa. Opinions my own. Add me on LinkedIn! https://www.linkedin.com/in/jgefroh/

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store