Do it like an engineer - Deepstash

deepstash

Beta

deepstash

Beta

Deepstash brings you key ideas from the most inspiring articles like this one:

Read more efficiently

Save what inspires you

Remember anything

Do it like an engineer

https://hackernoon.com/do-it-like-an-engineer-e64ee3722326

hackernoon.com

Do it like an engineer
The work of a Software Engineer is to solve problems. Everything can be reduced to this activity. This is why it is important to have a solid methodology to tackle problems. We are engineers after all, and we are trained to solve problems. We have to do it like an engineer.

4

Key Ideas

Save all ideas

Understand the requirements

To solve a problem, you have to understand exactly what the problem is

When you start solving a problem, be sure to understand the starting point, the end goal, and the obstacles in between. The worst possible thing is to produce a solution that actually doesn’t do what’s expected. 

179 SAVES


VIEW

Understand the size of the problem

It's important to understand what is how big the problem is.

Use questions like:

  • How many requests the system should satisfy?
  • What is the expected response time?
  • How many resources do we have?
  • What about deadlines?

124 SAVES


Stand on the shoulders of giants

The chance someone else already solved your problem is high. All you have to do is a search in the literature to find out if there is a solution for a problem matching your use case. There is no point in reinventing the wheel.

133 SAVES


"Grandma-Driven" Development

Implement your solution trying to make it understandable by your grandma

Avoid fancy and complex implementations. Put them aside in favor of a simple and understandable one. And optimization to the moment they are necessary.

126 SAVES


SIMILAR ARTICLES & IDEAS:

Basic steps to solving any problem

  • Understand the Problem, so you know you're actually focusing on the the real issue at hand.
  • Create a Plan, so you have a series of actionable steps to follow.
  • ...

Understand the Problem

Often the most difficult step, because it's easy to focus on the wrong part of the problem, or look at the problem too broadly.

The first thing you need to do is reduce it to its simplest and purest form so you know exactly what you're dealing with. While you're doing this, you need to ask yourself questions to make sure you're focusing on the right things. 

Create a Plan

You need a plan with actionable steps. Ask yourself what's barring you from moving forward and make step one. Step one will open doors to other steps. 

Consider which steps will open more doors, add them to the plan, and keep doing that until you get to your solution. Things will change as you act on the plan and you'll need to adapt, so it's best to keep your plan somewhat open-ended and try to include steps that involve preparing for trouble you can foresee. 

one more idea

Remain objective

Great problem solvers approach each new problem as though it were brand new. 

That way they can apply a specific solution to the problem instead of a fix that may go only partway.

List the obstacles

Great problem solvers take a high-level view of the issues involved and jot down a list of all the potential factors that could get in the way of a solution. 

Identify the opportunity

So many times great opportunities are wrapped up inside simple problems.

The problem at hand may be symptomatic of bigger problems with your systems or perhaps your industry.

Beau Lotto

"There is no inherent value in any piece of data because all information is meaningless in itself. Why? Because in..."

Beau Lotto

Data is Not Reality

  • We see organizations and the engineers who work in them steering towards big data, so it is commonly assumed that data means acumen and direction.
  • Any Data, by itself, does not bring clarity. Data is just information, not reality. It does not represent anything in the field of actuality.
  • Data is also, never complete. Getting more and more Data does not equate to getting more clarity.

Incomplete Data is Misleading

Our brains like to fill up incomplete information based on our prejudice and confirmation bias.

As all data is inherently incomplete, we use our minds to fill the missing information, based on the existing data we have, and that can go obverse.