I remember the first time I was asked to give an estimate.
It caught me by surprise.
I was brought into a room with my boss, boss’s boss, and my boss’s boss’s boss, and we all sat at a round table looking at each other.
A couple of analysts starting reading some requirements from a client. A brief discussion was had around them.
Then my boss turned to me and said, “How long will that take?”
I didn’t know what to say. Nobody had prepped me for this. I wasn’t told I was coming into this meeting to provide estimates. …
Would you mention reliability? Documentation? Security? Developer experience?
You might be surprised to hear that most people don’t mention performance. How fast does the API run? Whether or not they know it, they subconsciously think it.
If you use a new API for the first time and it takes five seconds to respond, you’re probably going to get a bad impression. It’s 2020: That response should have been sub-second. It should have just worked.
Whether we know it or not, we judge performance just as highly (if not more highly) than any other metric. It’s what drives our user experience. We don’t want users waiting for an action to happen. …
So many things need to be built. Where do you start? You imagine all the cool features and anticipate future gotchas, but do you accommodate for them now?
This is what makes greenfield development one of the most challenging experiences in a developer’s career. Fighting back the urge to build it all now.
But you shouldn’t. And after reading this article, hopefully you won’t.
The key word in the last responsible moment is the word responsible. Don’t read the phrase and think “Defer everything to the end!”
That is not what it means.
What it does mean is to build what you need right now. Don’t build software for anticipated problems. …
Have you ever been in a meeting talking about a new product build, and you get to the integration requirements of products x, y, and z?
You don’t really want to build direct integrations with these systems — you’d prefer to build an integration that’s more generic and could be used by anybody. Why build something custom when you could build for everyone?
In event-driven architectures, like a serverless application, you’ll have integration points at many different places in your application. These integration points are known as events and represent exactly what you’d think —that something happened.
You know how you get a notification on your phone whenever your security camera detects motion? That’s an event. The detect-motion event from your smart camera was published as soon as it saw that cat run across your driveway. …
Software development has always relied on APIs. Being able to integrate with an external system has been a requirement of almost all software pretty much since the beginning.
Today, they are more prominent than ever. Everything is API-driven. We even have API-first development as a thing now.
The demand is high for APIs, and as developers, we must focus our efforts on getting reliable, strongly defined, and stable ones out the door as quickly as possible.
But what kind of responsible developer would I be if I didn’t talk about testing?
An API needs to be tested. You need to verify that it does what the documentation says it does. You need to make sure you don’t break backward compatibility. …
Leaves gradually getting their fall colors. Crisp morning air. Pumpkin spice everything. Hacktoberfest.
As the temperatures drop, our minds start shifting more and more toward the holidays, time off, family, and side projects.
It’s not a matter of if but when your developers are going to start drifting and their performance dropping. It’s not their fault — it comes with the season.
This is the time of year when we need to start getting creative to keep our development teams actively engaged. Time to get creative and have fun. Time for a hackathon.
A hackathon is a short event, typically ranging from one to three days, that focuses on building a creative solution to a known problem. Developers group together, come up with a plan, and hack something together in a short amount of time all in the spirit of competition. …
Have you ever played buzzword bingo?
It’s a fun and simple game that involves a bingo card with a bunch of tech buzzwords on it. If you hear one of those buzzwords in a meeting, mark it off. First one to get a bingo wins!
If you are lucky enough to get the cloud buzzword bingo card, you’re probably going to win in the first five minutes of almost any meeting in a large software company. Buzzwords like “to the cloud,” “vendor lock-in,” and “lift and shift” seem to infinitely echo off meeting room walls.
For good reason.
At this point in 2020, the reasons for moving your software to the cloud should be obvious. Enhanced security, better scalability, reduced costs, and fast turnaround are all immediate benefits when you start hosting with a cloud vendor. …
I have never met a developer who doesn’t like building proof of concepts (POCs). The chance to build something new from scratch to test a theory/process/technology… I get excited just thinking about it.
There’s something about them that gets your creative juices flowing. Maybe it’s that you don’t have any constraints. Maybe it’s just the thrill of greenfield development. Whatever it is, developers like it.
Part of the appeal of building proof of concepts is the wide variety of use cases. You can build a POC for anything! Whether you want to build something funny, teach somebody about an unfamiliar concept, build an idea for a business, or learn how to use a new technology to solve a problem, you have countless options. …
Microservices are great — single-responsibility, domain-specific APIs that are independently iterable. A major web application can be composed of tens to hundreds to even thousands of these little guys.
They can scale independently, give app teams the ability to code in the most appropriate language to get the job done, and leave you with a small blast radius if something fails (meaning the entire app stays up if a single microservice fails).
But did you know you can apply the same basic principles to the front end? Micro doesn’t have to apply only to the back-end APIs. …
We live in a truly revolutionary time.
Household items are getting smarter, services assume your behavior (and are usually right!), and things just get done… automatically.
Between AI and ML rapidly getting introduced into our lives, things are progressively getting easier. More convenient. Better.
When my alarm goes off in the morning, I can have it trigger my towel warmer to turn on. By the time I’m done with my shower, I have a nice hot towel to dry off with. How does this happen? Is everything connected?
In a sense, yes.
Just about everything and their grandma has an API (Application Programming Interface) enabling access and control of certain features. With public-facing APIs becoming the norm, standards must be put in place so connecting services together is easy and intuitive. …