The quirks and quacks of software development.
One of the great advantages of having junior developers on the development team is that they aren’t senior developers.
Once upon a time, everything was a global variable. Immutability and pure functions delivered us from the chaos.
Developers detest marketing. If you want to sell them a tool, make it easy for them to find the information they need and leave them alone to try out your tool.
In the end, managing developers isn’t about code or process. It’s about understanding the invisible weight of your presence, your words, and your silence.
Writing good code requires close attention to detail and lots of will power and discipline. Good habits are half the battle.
The discipline and precision required to write great code may be as tedious as polishing forks. It’s where excellence comes from.
Understanding the four kinds of dynamic connascence can help you see more deeply into the most subtle, obstinate, and misery-making code dependencies.
Understanding the five kinds of static connascence will help you see more deeply into your code and how it works – and how you could make it better.
There is in fact a way to describe the type and severity of coupling that can occur in your code. It’s called connascence.
Bugs are inevitable, but confusion about what they do or don’t do and how to reproduce them is not. Make sure your bug reports have these five ingredients.
Companies need developers who can solve problems and write good code. Thinking fast under pressure isn’t part of the job description.
Good software habits apply to databases too. Trust in these little design tips to build a useful, rot-resistant database schema.
Online anonymity hasn’t made the Internet a better place. Making people pay for anonymity on social platforms could shift the balance of incentives in a better direction.
Measuring and measurements are taking over software development. Let’s not lose sight of what really matters.
Sometimes you have to balance protecting your people with being a loyal member of the management team.
Naming things properly, completely, and clearly is a huge part of writing good code. And if you avoid these traps, it’s easy.
You’ll only attract top-tier developers if your organization is built to support them. And if you avoid these common mistakes.
Booleans may seem harmless, but using them can be fraught with peril. When you can’t avoid them, follow these five rules.
All refactorings are useful, but Extract Method, Rename Variable/Method/Class, and Extract Variable will have the biggest impact on your code.
Don’t call it technical debt unless you’re going to go back and fix it. Otherwise, you’re just giving the team permission to do things the wrong way.
No software project succeeds without attention to detail, teamwork, communication, and standard operating procedures. I learned this from the Navy.
Developers don’t need open office spaces that foster spontaneous collaboration. They need a quiet place for deep concentration.
‘Choose the right tool for the job’ never seems to satisfy the diehards who think their tool is the right tool for every job.
Software development is full of paradoxes that are challenging to deal with. Our job is to ship despite them.
The software industry has known for decades that rewriting a system from scratch is never the right solution. The bigger the system, the worse the mistake.
Vibe coding is a new way of coding with AI, where you guide the model only through natural language. It’s going to change everything.
Two years ago, I ditched my Windows laptop and started using a Chromebook for software development. I haven’t looked back.
Imagine a world where you can build web applications in any programming language you like. We’re close.
By coding against abstractions instead of hard-coding the implementation, you can create a flexible, testable, and extensible system that will be vastly easier to maintain.
Complexity makes misery. Folow these hard-earned and time-tested guidelines to keep your code simple, clear, and easy to maintain.
AI isn’t going to replace you. But a developer who knows how to leverage AI in the development process just might.
The best software is built by keeping as many doors open for as long as possible. Resist premature decisions and locking in implementations too soon.
Cloud-based development environments have so many advantages they’re pretty much a no-brainer. We’ve come a long way, developers.
The do’s and don’ts of implementing an authentication process that provides strong security without irritating your users.
A four-step program to swallowing your self-pity and making the most of the convoluted and incoherent code base you inherited.
Convoluted masses of incoherent code have many different origins and many different causes. Let’s explore.
You don’t need a computer science degree, a college education, a state license, or anyone’s permission to write code. Just do it.
It was bound to happen. There was just too much money involved.
JavaScript gives you too many ways to shoot yourself in the foot. Just what you’d expect from a programming language that was created in a week.
10 people and technologies software developers should celebrate this Thanksgiving, from Alan Turing, Anders Hejlsberg, and Tim Berners-Lee to OOP, REST, and GPS.
Back in the day, technology limitations forced software development teams to be disciplined, rigid, and inflexible. Thank goodness for SaaS and CI/CD.
I don’t like scrum, and you shouldn’t either.
Software is a product unlike any other. Forcing developers to track the time on tasks of indeterminate duration has many downsides — and no upsides.
Someone has to eat the turd sandwich, and it usually ends up being the software developers and the QA team.
The not-so-subtle superpower of a web page is that it can basically do whatever it wants when you request it. In other words, social media is irritating by design.
You may have heard it said that ‘All code is legacy code.’ It’s a useful guiding principle — and truer than we want to admit.
The early PC and Internet days were a glorious time for technology, when magical new developments in hardware and software were thrilling and life-changing. Kind of like today.
You probably get an endless barrage of news, information, social media, and who-knows-what-else through several automated feeds every day. How’s that working out?
Sure, Apple is a great company that makes great products. But many of its policies and practices rub me the wrong way.
Big question marks hang over the programming and software development website with all the answers.