Time is of value, so let's get to the point:
- Working Out
- Coding and Software-Engineering
- Picking challenges I am no fit for (yet)
- Static Typing: I rather fight the compiler and lift invariants into the typelevel, than having to debug a running program in a (multi-component) test/environment. It is no silver-bullet, but I am confident I saved a lot of (run & debugging-)time using this approach. This is also reflected in my project languages of choice.
- Testing: It is gratifying to isolate things and see them working on their own and, additonally or later on, having an orchestra of such modules working together. There is a ton of stuff to learn and I am all signed up for that.
- Training & Mentality: Healthy body -> Healthy mind. Working out is more to me than just improving the vessel I was born with. I approach my problems and projects the way I approach my training: Progressive Overload. Constantly new little things to learn, a constant manageable feel of being challenged and a continuous chain of small victories.
- Decentralization: There is a reason I work in blockchain after all. I like the prospect of giving users full control over their own data (looking at you Self-Sovereign Identity). This, amidst other challenges, requires some form of broad blockchain adoption, which in turn requires blockchains to scale. Developing and working on scaling solutions for blockchains was the main focus ever since I joined the blockchain space and it will continue to stay like this.
- AI: I gotta admit, I jumped onto the AI bandwagon and am interested, excited and a little nervous where the technology is going to lead us to. There was always an interest from my side, specifically artifical neural networks (ANNs) for the past years. ANNs were also part of the reason I started studying Computer Science at TU Darmstadt, Hessen, Germany.
- Cyber-Security: Also part of the reason I started my Computer Science degree. I originally thought I would surely work in the cyber security space in the end, but life is exciting and for the time being I have other interests. Nonetheless, I am still invested and interested in exploits of all kinds. Some might argue I am still in the right space and I am not going to lie: They are kinda right, all the blockchain related exploits were a fun to read and research.
- Haskell: The only language I am going to list here. There is just something about the community, the idiom and the way of reading Haskell code that calms my mind. I would not consider myself as someone sitting in the ivory tower but I guess I might have developed "organizational" blindness to that.
- Core Dev @ PolyCrypt GmbH (formerly Perun Network) June 15, 2020 - November 30, 2023
- Studied physics at Goethe University Frankfurt. Mind you, I did not finish the degree, because I grew tired of experimental physics and I was only invested in theoretical physics up to the fifth semester before deciding to switch to something that aligned more with my interests.
- Studied computer science at TU Darmstadt. Only did the B.Sc. I started working at PolyCrypt GmbH before I finished my studies and working in a rapidly evolving field and being allowed to contribute to cutting edge technology felt way more gratifying than to chase academia.
- There is a third subject of studies I am keeping to my self currently (minimizing the intention-action gap). Although I am most likely not completing any degree in that field I include the intent here to emphasize the following: My main priority is growing and reaching for my next goal decoupled from external gratification. I realize the ambivalence in stating this here...
Since I am a software engineer and coder first and foremost you might be interested in the programming languages I am experienced in:
Language | Expertise [0-9] |
---|---|
Haskell | 8 |
TypeScript | 7 |
Go | 7 |
Rust | 6 |
C | 6 |
C++ | 6 |
To help interpret the expertise level:
9: Unachievable perfection
8: Being confident in the ability to implement the solution to a problem in a straightforward manner. In essence: Cranking out a MVP in any timeframe given (Parkinson's law applies).
7: Developed multiple projects and confident in syntax and semantics (reading & writing). Implementing algorithms is relatively easy, there might be edge-cases special to the language which would possibly require looking up some resources online to gain/refresh knowledge.
6: Developed a few projects and confident in syntax an semantics (reading). Writing still requires the occasional lookup online. Lacking some practical experience.
I stop here, because I would have to list a ton of other (niche) languages if we go even lower. Things like Python, or domain specific languages like Solidity.