-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[20240917] The Hardest Thing I Have Done
- add blog post on the hardest thing i have done
- Loading branch information
Showing
6 changed files
with
42 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
{ | ||
"posts": [ | ||
{ | ||
"title": "The Hardest Thing I Have Done", | ||
"url": "/2024/09/17/the-hardest-thing-i-have-done.html" | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
24 changes: 24 additions & 0 deletions
24
markdown/2024/09/17/the-hardest-thing-i-have-done.markdown
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
In the recent past, someone asked me "what is the hardest thing you've done?" and I really liked that question. There are a lot of directions you can take that question since there are many different interpretations. | ||
|
||
## Initial Thoughts | ||
|
||
The immediate answer that popped into my head was physically, as of now, running a marathon has been the hardest thing I have ever done. You put in months of training; early mornings, time on your feet running at all different paces (speed training, recovery pace, race pace, etc.), and not to mention training in all types of weather because you want to be prepared for anything and you cannot predict the weather on race day! | ||
|
||
![Map and compass](pexels-cottonbro-5302808.jpg) | ||
|
||
## The Engineering Perspective | ||
|
||
Oh, but this conversation had a different audience as this person was an engineer like me and she was probably looking for an example of a highly technical project that I had to work through or at least a gnarly bug that I had to reverse engineer, right? I paused briefly, thought silently to myself, and alas I had my answer: working with a legacy system. | ||
|
||
## Detective or Archaeologist? | ||
|
||
Maybe a bit surprised at the answer, because she smiled in curiosity. I explained to her that starting from scratch is pretty easy; you get to form your own opinions about the code style and everything else for that matter! But working with legacy systems can be the opposite of just that. In legacy code, you may find yourself grimacing while reading through some code comments and screaming at your computer wondering, "what have I gotten myself into?". | ||
|
||
You see, with legacy code, a lot of times you won't be able to find the person who wrote a piece of software that now runs millions of transactions a day and of course, it's now breaking and you need to modernise it. But if you can think of yourself as a detective, you can piece together the puzzle and you will be able to start to see the flow of everything. You start grepping for traces or logs and tie them back to their code domains; as you're doing so you think of it as a map and you're beginning to fill it with useful information instead of a big blurry mess. From there, you begin to see possible solutions to your problem: "hmmm, we can probably strangle this code path" or "we need more observability here, let's add some metrics". It may be a solution or maybe it's a small next step, but as long as there are steps made towards the greater goal, it's a win. | ||
|
||
## Committed to Improving the Bottomline | ||
|
||
While working with legacy code isn't the most glamorous part of anyone's job, it does take a different set of skills to be successful: piecing together pieces, looking back into historical versions of code, sometimes decoupling and untying knots. | ||
Maybe I will work on something more difficult in the future and I will have some new perspective, but for now, I have found what is my most difficult thing. | ||
|
||
_Photo by cottonbro studio from Pexels: https://www.pexels.com/photo/maps-and-navigation-tools-on-wooden-table-5302808/_ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters