Skip to content

Commit

Permalink
[20240917] The Hardest Thing I Have Done
Browse files Browse the repository at this point in the history
 - add blog post on the hardest thing i have done
  • Loading branch information
drincruz committed Sep 18, 2024
1 parent e807688 commit fa0870e
Show file tree
Hide file tree
Showing 6 changed files with 42 additions and 1 deletion.
8 changes: 8 additions & 0 deletions 2024.json
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"
}
]
}
7 changes: 7 additions & 0 deletions bin/build_pages.sh
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,13 @@ to_html markdown/2023/12/10/opportunities-for-growth-in-engineering.markdown \
dist/2023/12/10/opportunities-for-growth-in-engineering.html
cp markdown/2023/12/10/*.jpg dist/2023/12/10/

mkdir_dist_path dist/2024/09/17
to_html markdown/2024/09/17/the-hardest-thing-i-have-done.markdown \
'The Hardest Thing I Have Done' \
'Mapping it all together' \
dist/2024/09/17/the-hardest-thing-i-have-done.html
cp markdown/2024/09/17/*.jpg dist/2024/09/17/

# Write the yearly archive pages
to_html write_year_archives
to_html markdown/archive.markdown 'Archive' 'Posts from the past' dist/archive.html
Expand Down
3 changes: 2 additions & 1 deletion cmd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -96,9 +96,9 @@ func relativePath(path string) string {
func writeIndex() {
// Hardcoding for now
most_recent([]string{
"markdown/2024/09/17/the-hardest-thing-i-have-done.markdown",
"markdown/2023/12/10/opportunities-for-growth-in-engineering.markdown",
"markdown/2023/10/21/engineering-guilds-at-work.markdown",
"markdown/2023/08/27/webflow-a-year-in-review.markdown",
})
}

Expand Down Expand Up @@ -148,6 +148,7 @@ func main() {
yearSummary("2021.json")
yearSummary("2022.json")
yearSummary("2023.json")
yearSummary("2024.json")
os.Exit(0)
}
writeBlog()
Expand Down
Binary file added markdown/2024/09/17/pexels-cottonbro-5302808.jpg
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 markdown/2024/09/17/the-hardest-thing-i-have-done.markdown
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/_
1 change: 1 addition & 0 deletions markdown/archive.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ Some posts are timeless, some posts are historical snapshots of where I was in l

## Posts

- [2024](2024.html)
- [2023](2023.html)
- [2022](2022.html)
- [2021](2021.html)
Expand Down

0 comments on commit fa0870e

Please sign in to comment.