Software estimation can be tricky but there are a few steps to help you provide accurate numbers

person standing alone in an open space, silhouetted against the sky
person standing alone in an open space, silhouetted against the sky
Photo by Jeremy Perkins on Unsplash

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. …


If I asked you “what are the key indicators of a strong API,” what would you say?

a racing motorcycle with helmeted driver
a racing motorcycle with helmeted driver
Image by intographics from Pixabay

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. …


Building a new application is exciting and scary. But it is also challenging

Man standing on rock at sea
Man standing on rock at sea
Photo by Bayu Anggoro on Unsplash.

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 Last Responsible Moment

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. …


Webhooks + SNS = magic

gray metal anchor pendant
gray metal anchor pendant
Photo by Vishal Jadhav on Unsplash

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. …


Automate your test suite

Orange moon through a veil of smoke
Orange moon through a veil of smoke
Photo by Engin Akyurt on Pixabay.

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. …


Have you ever participated in a hackathon? Remember how your creativity ran wild? Learn how to harness that creativity to innovate

Digital handshake.
Digital handshake.
Image by kiquebg from Pixabay.

October.

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. …


When it comes to agility, large software companies are at a disadvantage. It’s hard to pivot a giant moving machine. Start small

man on ladder putting a cloud in place beside a wi-fi signal
man on ladder putting a cloud in place beside a wi-fi signal
Image credit: Author

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. …


Why your mini-masterpiece should never see the light of day

Steel wool light painting.
Steel wool light painting.
Photo by Faizal Sugi on Pixabay.

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. …


Incorporate a secure, highly iterable UI into your next app

Image for post
Image for post
Photo by Paweł Czerwiński on Unsplash.

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).

All the big guns are doing it too. Uber has ~2,200 microservices, Netflix has around 700, and Amazon… well, Amazon has a lot.

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. …


Build strong APIs with Open API Spec and Postman

Image for post
Image for post
Background photo by Josue Isai Ramos Figueroa on Unsplash.

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. …

About

Allen Helton

I am a serverless and cloud-native advocate with a focus on driving the dev community forward. Author of readysetcloud.io

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