Tag: problem-solving
Dependency Dilemma
I was working on a microservice API that is used as mock integration for a third party API. We asked the vendor to make one for us but it’s not a priority on their roadmap so I built one for us. This API is used every day for testing and rarely has issues.
Software Engineering Seniority
Every engineer and every company has there own definitions of seniority. They have rubrics, require certain hard skills, and even behavioural aspects they need to see before they consider someone “senior”.
Task Breakdown: My Recent Reverse Planning Experience
Yesterday I assigned myself a task to implement some backend logic in a microservice.
Functional Mental Model For Design
Having a simple mental that can be used to solve different problems is quintessential to speed and quality in software engineering.
Y equals f of x
We’re going to talk about a little bit of math and why it’s important for designing and debugging code. y = f(x)
is commonly referred to as a “functional notation”. It is a mathematical equation that represents a relationship between two variables, x
and y
.
Breaking Down Work
Every so often, I come across Merge Request that slowly grow in size. They start out as 100 lines of code change, then 20 commits later it’s 500 lines long! This is a symptom of poor planning and task break down.
Small Units Of Work
As a busy professional, I really appreciate breaking every task down into smaller subtasks. If a ticket has 2 or more things that can be done separately, I prefer to do them separately.
Personal Problem Solving Template
I reminded the team that it’s important to create and use your own Problem Solving Template. This should be based on your strengths and weaknesses as an engineer. I highly recommend reading chapter 1 and 8 in the book Think Like a Programmer.