In my opinion, pair programming and system design discussions are important in the interview process. Those sessions enable hiring teams to assess how the candidate leverages AI tools to build features, debugs, and thinks about solving system-level problems.
However, I'm convinced the future of technical screening for software developers is to do so with code reviews rather than evaluating solely on code production.
The ability to review code is crucial in our industry. You'll be reviewing code often regardless of who (or what) generated it.
There is something unique about working on a solo project that you usually don't find in traditional software organizations: you can work on something lower priority just because you feel like it.
The sweet spot is when those tasks are complex and it really takes some motivation to get started/keep going.
I'd recommend fostering your curiosity as a mechanism for building momentum and getting stuff done, even if it's not a top priority task.
This came up at work the other day re: client-side code readability.
In one camp, folks were in favor of component extraction/isolation with self-documenting tests wherever possible.
In the other camp, folks argued that drilling into a multi-file component tree makes the system harder to understand. They favor "locality of behavior".
Those were exactly my thoughts while reading this article: if your codebase (over)uses inheritance, interfaces, traits, facades, dependency injection etc. etc. to thinly spread any given functionality over several files, no amount of formatting or nice naming is going to save you...
I've been building a simple RSS feed reader just for the purpose of taking back control of my attention. It allows me to subscribe to my favorite youtube channels, reddit threads, HN, etc. The best part is I can mute feeds and catch up later without the pressure of consumption. I've used it daily for years and don't anticipate going back to social media any time soon.
I wonder the rate of which like-minded senior leadership is growing in our industry.
If this mindset spreads enough we will probably see many major software issues playing out in our day-to-day lives.
Some observations:
- This might lead to the job security / market pendulum swing in favor of software developers that we seem to have lost recently. Companies might start paying a premium for those of us who can debug LLM code and get businesses back on track.
- There may unfortunately be a disaster resulting in the loss of life that leads to the introduction of strict regulations on our industry (sure hope not).
> We need more builders, not fewer. Because building fosters understanding. And as more people start making personal software, the bar for what counts as “great software” will inevitably rise.
Love this take. After over a decade of software development I've gained much more appreciation for well-built/useful products.
Maybe this exists and I haven’t found it yet but a lightweight logging/alerting solution would be nice. That way, I don’t have to invest in Datadog with all the extra bells and whistles targeted for enterprise customers.
The problem is there are piecemeal solutions to the several of the parts of this problem, but not all, and some of them are really hard to meaningfully self-host without significant risk or complexity (ie. full text search engine). I'd personally love to build something like this, but I absolutely would sell yearly licenses and not have it be fully open source.
ntfy (pronounced notify) is a simple HTTP-based pub-sub notification service. It allows you to send notifications to your phone or desktop via scripts from any computer, and/or using a REST API. It's infinitely flexible, and 100% free software.
I personally am a big fan of self-hosting Sentry via their Helm chart. It's quite easy if you know your way around Kubernetes, but it probably also doesn't qualify as lightweight.
However, I'm convinced the future of technical screening for software developers is to do so with code reviews rather than evaluating solely on code production.
The ability to review code is crucial in our industry. You'll be reviewing code often regardless of who (or what) generated it.