Developer Diary — Sprint 0

Andrew | Stack Finance
Stack Finance
Published in
2 min readAug 18, 2023

## Week 1

“Development is an iterative process”

I repeated for the umpteenth time in an attempt to maintain some semblance of sanity.

What is AGILE? What is TDD? I asked, rather facetiously, to no one in particular.

I write my programs like I manage my finances — YO-(a word my co-founders wouldn’t let me use)-LO.

At least my approach to Architecture had what some would call; a relatively sane process.

That is, until you realize everything wrong with your ~life~ design and go back to the drawing board.

Again, again, and again…

“Development is an iterative process…”

Note: I wonder if anyone else is unhinged enough to build the entire thing in their head and keep it there, inevitably meaning a stray beer will wipe the entire slate clean.

So I choose to write the entire back-end in Go, why? Because (insert the same word from before) Java and Oracle, that’s why.

I also thought it would be easier to maintain for future engineers (how magnanimous of me) joining the team.

There were libraries readily available for every exchange I wanted to pull data from in Go, and it’s written by one of the fellas that wrote C, and I like C.

I regret that decision.

For all its complexities, Rust is a better language, I will fight anyone that argues otherwise.

For one — Go has some completely and utterly psychotic choices approach to its organizational structure.

Sure, it’s gotten better over the years from GOPATH -> Modules -> Workspaces.

But did I really have to have stack overflow open to figure out why the compiler was telling me it couldn’t find a particular type when the language server had no problem with it?

Well, as all people at the end of their tether say: “It is what it is.”

Time is a factor, and if there is one thing Rust isn’t — it isn’t fast to develop with. Although it is fast as hell performance wise.

Is hell fast? A question for the philosophers among you. (I think the answer is no since you’d be there for eternity).

Regardless, Architecture cemented, Back-end language chosen, and the tech Stack (capitalization 100% on purpose) decided on. We (I) soldier on.

I know I just spent a good chunk of text rambling about design choices, however the rest of the first week of the SPRINT was dedicated to spinning up the basic smart contracts every protocol should have.

1. The Token

2. Staking

3. Vesting

And since anyone that knows me, not that you do, has heard my endless diatribe on Solidity, it was a damn good thing these had tried and true solutions already available for me to finagle. Btw Ethereum — wen eWASM?

And then we chose BASE over Arbitrum.

“Development is an iterative process……”

--

--