Hiring is a high-stakes game and for managers it’s one of the most important decisions they can make for their team. Each new hire shapes the future of your team and (depending on your size) even the company. After conducting an interview and gathering all the necessary data, the question is always: should we hire this person? There are only two choices—you're either inclined to hire, or you're not. There's no room for indecision. But how do you make the right choice without letting biases and h
There’s no way around it: live coding is stressful! If you just ask your problem like a robot, you will fail to create an environment in which you can evaluate candidates fairly. In this guide, you’ll learn how to make an interview less stressful and ripe with opportunities for a candidate to shine.
here are layers to every question – and every answer! I’m not sure why an onion was chosen for this analogy, but "peeling the onion" is a must-know technique as an interviewer. Active listening and digging deep are the critical components of this method and you’ll need to use both to be effective.
In this post, I'm going to share my top tips on how to conduct an interview and create a great candidate experience. There’s a lot that goes into creating a great hiring process, but today I want to just focus on preparing for and running the actual interview.
Crunching data from my local files, with SQL, is a task that I come across ever so often. I was never happy with the CLI tools out there and I’m not interested in signing up for some cloud product. So, when I got started with bun a few months ago I immediately saw a way to make use of bun:sqlite !
In this article, I’ll walk you through how I use Obsidian at my day-to-day job as a software development manager. I’ll explain the benefits behind each element of my process so you can see if and how it fits into your workflow.
TypeScript Enums are simple, yet powerful feature that can enhance code readability and simplify refactoring. But, there’s some situations where I think you’re better of with a Record…
It sometimes feels like TypeScript has multiple ways to do the same thing. So, I don’t blame you if you’re not sure about all the pros and cons of using TypeScript’s Record type. It’s a powerful utility, but it has some nuances and potential pitfalls that dev teams can run into.
Bun is a new JavaScript runtime that is redefining the developer experience and setting some pretty high standards when it comes to performance. As of Feb-24, I’ve not yet had the opportunity to deploy a "serious" project with it, but everything I’ve seen so far is really exciting!
Picture this, your company wants to wow a new customer by presenting them with a prototype (or MVP?) of their next product. The business goal isn’t necessarily to ship – the app will likely not see real users, yet – but rather to build trust with the customer.
Software engineers love to debate semantics in their code. A discussion on what would be the best name for a function can easily lead to dozens of comments in a code review. But for some odd reason, many engineers are not as passionate about HTTP semantics. Let’s change that!
When you do things that only create an illusion of security, without actually improving it in any way, you are participating in security theater. This can lead to a counter-effect that actually decreases your security in the worst case or just lead to a big waste of time in the best case.
Property-based testing is a type of software testing that allows us to test systems by defining properties (or invariants) that should hold true for a range of inputs. I imagine that reading the word "invariant" makes you shiver. Are we back in class? Will there be math in this article? Fear not!
The best advocate for your next performance review, pay raise discussion, or promotion is yourself. Not even the best manager in the world will always have full insight into all of the things you’ve done and the full extent of the impact you created.
A look at some (potentially) controversial ideas on how to get more value out of your tests. (And how to avoid wasting time and money on useless unit tests.)
About this blog
The Software Lounge is a blog about software development and tech leadership. I like to think of it as non-nonsense repository of evergreen ideas and deep-dives that will help other software engineers and managers. I’m preparing an in-depth guide to transition from an individual contributor to a software development manager. If that sounds interesting to you, then follow me on Twitter or add the blog’s RSS feed to your reader!