Header illustration

Posts about Effort

Maybe web development is kind of fun

Okay, hear me out. Web development is actually kind of fun. I mentioned that I worked through The Joy of React recently and while the course managed to transfer a lot of valuable knowledge, it didn’t do a great job at keeping me motivated.

I’m not one of those people waiting for motivation to magically hit me. I know that it’s something you create by actually sitting down and doing the work. Nevertheless, something about the course constantly trying to trick me into working on something it hasn’t taught me before, made me just watch the solution videos before actually trying to solve the problems. I knew that I could not possibly know the “right” solution, so I stopped trying. That resulted in me finishing the course without applying most of the things it covered.

100 Days of SwiftUI‘s approach worked far better for me. It covered a couple of concepts, then gave me a challenge and told me that I already know everything needed to solve it properly. I knew that it’s completely my fault if I don’t manage to come up with a solution and I also knew that I only had to re-watch the previous lessons to stumble upon the answer at some point. That’s motivating! Telling me that I’m theoretically able to solve the challenges gave me enough confidence to sit down and try until something worked.

So here’s how I got over my disgruntled and unmotivated “Web dev sucks” state:

I forced myself to build something.

At first my goal was to set up a project. Hard enough with all the tooling involved. That worked more or less smoothly. Then I started playing around with a button that puts something into an array, which led to an input element that allows to customize what to put in there and so on and so forth. I didn’t plan on building a shitty to-do list app but it happened because motivation came as soon as I started experimenting.

I wandered from “Oh, I wonder if I could…” to “What if I try to…” and grew increasingly more excited. Our brains are hilariously easy to manipulate. Create a few achievable moments of success and you can string yourself along until something exists that previously didn’t.

Nobody is in need of a to-do app called “Your Plate” but it exists now. I’m a bit proud of that.

So, here’s what I did:

  • Set up Visual Studio Code in a way that’s acceptable.
  • Learned how to deploy something through Vercel and the Terminal. This was a huge “Wow, this is so easy and cool” moment for me.
  • Played around with objects and destructuring.
  • Added a few libraries for random stuff like playing sounds (and added a setting to turn sound off!), throwing confetti and animating the list.
  • Figured out what TailwindCSS is and how to use it. Another “Oh wow” moment.
  • Added local storage capabilities.
  • None of this was very hard, I built far more complicated things in Swift and SwiftUI already. It’s something though and it managed to drag me out of my “Ugh, where to start?” rut.

Next up: Upgrading to Typescript. I want types. Type me up, baby.

February 19th, 2023

Web development is a pain in the ass

I bought the limited early access to The Joy of React the other day and worked through the whole course since then. Switching to web development while still being at the very beginning of my journey of becoming a Swift developer might not be the smartest choice but I never claimed to follow a thought-through master plan in regards to my learning, so whatever.

Before we get started: These are my current thoughts on getting into web development as somebody who has only a basic understanding of HTML and CSS. These thoughts will be different in a year from now. Cool your jets and consider this as something like a user test for the question of “How accessible is becoming a web developer?”.


Web development is a pain in the ass. You need to understand what a terminal is, what it’s used for and how to use it to even get to the point of asking yourself “What the fuck is NPM?”. Then NPM needs to be installed which feels like hacking the Matrix, since it does something somewhere but you won’t see anything but lines of text in your little terminal window into the soul of your computer that you’re afraid to touch because what if you sudo your SSD or something.

If you managed to install NPM, you have to… boot up your project by hacking even more Avada Kedavra shit into your cOmMaNd LiNe. Something happens and suddenly there’s a terminal you can’t use for anything else anymore because it’s doing… something and is busy forever. You end up with a browser tab directly plugged into whatever terminal magic is now showing you your empty project.

Great. It took only two and a half years to understand all of this and to get it to work. Fun!

Even if you managed to do all of this, you’ll end up in Visual Studio Code which only seems to work properly if you install a dozen plugins and hope for the best. I bet there’s some kind of user experience to be found in VS Code but it sure doesn’t stack up against anything I’ve grown accustomed to while using Xcode.

My whinging doesn’t stop there, no worries!

I’m not happy with JavaScript and React either. JavaScript feels weirdly incomplete after getting used to Swift, even though (or because?) it’s old as fuck. Even simple things like capitalizing a string is a non-trivial endeavour with something like three different solutions. I found those in Stack Overflow threads from 1932, by the way.

React does have similarities to SwiftUI and I see why people can grow to like it but it lacks the fun of SwiftUI. It feels clunky and verbose. JSX, CSS, a sheer endless amount of semicolons and angle brackets… it’s a little ugly? Granted, I don’t know anything and haven’t used it for half as long as I’ve spent with SwiftUI but still… there’s a lack of grace there that’s a liiittle bit repugnant.


So, where am I at right now?

I couldn’t wait to start my first project after finishing 100 Days of SwiftUI. Xcode was fun, the iOS simulator worked great and everything felt thought-through and like a paradise of possibilities. Finishing The Joy of React on the other hand left me with a feeling of dread and a weird taste in my mouth. Everything related to web development seems to be fragile, fiddly and like a late-game Jenga situation.

I’m not giving up though. This seems to be modern web development and since I want to be able to create web apps I’m going to stick with it. It’ll get better.


Anyway, here’s my little “You did it” achievement the course gave me. I’ll slap that on my LinkedIn profile now and consider myself a junior frontend web developer.

February 14th, 2023

Boundaries

The other day I stood in a meadow, waiting for a puppy to poop when I somehow got involved in a conversation with an 83-year-old woman. It started by me asking her if it’s okay if we come closer so the still not pooping puppy can say hi and learn that there’s no need to bark at people.

She answered: “Sure, but I won’t pet him!”.

We chatted for something like 30 minutes and I found out that she not only doesn’t want to pet this specific dog but dogs in general. She even enjoys looking after her daughter’s dog sometimes (who likes to sleep at the end of her bed when he’s visiting) and still won’t pet him.

I didn’t ask why. It didn’t really matter. She told me her rule and I understood that this is one of the foundational truths of her life. She doesn’t pet dogs.

There’s something intriguing about people who set boundaries that you can’t understand, but you can respect.

In the end, there was no poo. We found an interesting stick that had to be gnawed on for a long time, though.

February 9th, 2023

Everything requires a disclaimer

Unfortunately, things are made by people. People have the tendency to live for quite some time and go through several iterations of being while existing. This, combined with the fact that nearly all 8 billion of us are now permanently connected through a series of tubes, results in everything having the potential of being tainted forever.

Everything requires a disclaimer now.

So, you enjoyed watching Seinfeld? Did you know that one of the actors had a weird racist breakdown live on stage? Oh, you’re looking forward to what seems to be the best Harry Potter game ever? Please keep in mind that the original author of the books is transphobic! You’re enjoying the wrong thing! Please be entertained by products made by, with and based on less flawed people!

These things are wrong and absolutely worth criticising. No doubt.

However, I wonder if the dynamic of always watching out for the next bad thing, being on edge because everything has the possibility of being tainted, never being able to enjoy something for what it is, because it has to be dissected on a socioecological level, does something to us.

There must be a cost to always having to watch your back in case you’re enjoying something a little too much that others feel should not be enjoyed anymore. I don’t think that’s helpful for anyones mental health.

Not criticising wrong behaviour is obviously not the solution. Attacking ourselves and everyone else all the time, because things are made by people and people are inherently flawed, doesn’t seem like the way to a content life either.

I don’t know.

It’s complicated.

February 4th, 2023

2022 step by step

Earlier this year I decided that I’m not walking enough. It’s supposed to be healthy and my average daily step count for 2021 looked like this:

My daily average step count of 4003 steps per day in 2021

That’s obviously not good enough. An average of 4000 steps is not only embarrassing but also a far cry from the 10,000 steps you’re supposed to walk if you trust some company’s advertisements. Or science.

I tried walking 10,000 steps a day previously and found that it’s basically impossible to do if you don’t have a commute or two hours a day to walk through the city. Since I’ve been working from home for six years now and I didn’t plan on walking through Berlin Mitte two hours each day, I needed a better solution.

My friend Luise told me about her WalkingPad. A slow treadmill you can put under your standing desk to walk while working. A worthwhile investment, as you can see by my stats for 2022.

My daily average step count of 11.656 steps in 2022

If you want to walk more in 2023, make sure to check out Stoins. It’s a step counter I designed and programmed that lets you repair your walking streak by collecting Stoins. It’s a whole thing.

December 26th, 2022

On intentionality

I’m thinking a lot about intentionality lately.

Most people are drifting. Passively cruising along a path defined by others. Not even some specified “others” with a plan, playing us like puppeteers. “Others” as in an amalgam of randos with ill-conceived opinions and products.

It’s just so delightfully easy to ditch responsibility and with it many forms of constructive friction.

True intentionality is perhaps the quality I have come to value most in others. People who thoroughly think about the what, why and how of what they spend their severely limited lifetime with.

Embracing constructive friction, not accepting what feels right but isn’t, may be one of the most essential and attractive qualities of a person.

It certainly is the quality I try to live by.

December 12th, 2022

My definition of success

One thing I wanted to be very clear about when I embarked on my journey to finally learn how to code was my definition of success. Not knowing how a good outcome would look like only results in disappointment and loss of motivation. Great ambitions are worthless if you don’t manage to keep the ball rolling.

My definition of success is of such small scale that the only way for me to fail is to stop working.

Here it is:

  1. The project must launch
  2. One person’s life must be improved
  3. One Euro must be made

Because I believe in my ability to bring my projects to a point where these three aspects are true, my motivation stays strong and I know that success (defined by myself, not by external sources) is around the corner. Stoins launched, improved the lives of a couple of friends and made a couple of Euros. I consider this a huge success. For now. I’ll update my definition of success when the context changes.

Aiming too high creates brittle motivation.

November 24th, 2022

Just go “aah!” Hardcore!

My best work happens when a certain kind of relaxed determinism converges with methodic productivity.

If you work long enough in software you’ll meet people who think that success is the result of brute forcing through everything. Work needs to be fast, sleep needs to be less, overtime doesn’t exist because why would you want to do anything but work.

That’s not how life works. That might very well be how certain moments in life lead to a certain form of success, but t’s not a scalable solution to a successful and happy life.

Let’s take action. I’m a big believer in having just a maniacal sense of urgency. So if you can do it after this meeting, I would do it after this meeting. Just a maniacal sense of urgency. Like, if you want to get stuff done, maniacal sense of urgency. Just go “aah!” Hardcore!

Some people succeed by being loud and hectic.They shroud themselves in an aura of ever increasing urgency and hustle because – and that’s only my interpretation – they lack the skills to do deep work. They don’t understand that this different way of working even exists. If you seem like you’re busy and confident you must be doing something right.

The unfortunate truth is that people who do the actual work have to pick up the shards of those who rumbled and bumbled through life, breaking things on their way. This brand of workaholism is not cool anymore. It’s just another symptom of toxic alpha male energy nobody needs.

I’ve been blinded by people like this in my early years working. Now I understand that toxic hustle is nothing but a mating dance between somebody and their own ego. It’s not impressive or cool. It’s just clownish behaviour. Everybody is allowed to be a clown. As long as they don’t hurt others by being one.


The most recent episode of ATP has a segment on workaholism culture that’s worth listening to. They go a little more into depth on how a culture like this is detrimental to your health and even to the quality of your work.

November 18th, 2022

Manufactured motivation and perfectionism

The hardest thing about learning to code is when my ingrained software-design-perfectionism clashes with what I’m able to do. Stoins is going great. I’d say it’s an above average app for somebody who just started coding. Yet I can’t wrap my head around the solutions to some of the problems I’m facing and I struggle with accepting flaws that are solely there because I’m not good enough yet.

Everything works, don’t get me wrong. It’s just not as good as I know it could be. I think a better understanding of concurrency could solve one of the problems. Perhaps a second problem would go away with more knowledge about threads. Oh and something, something state machines? I just don’t understand any of it enough to solve my app’s bugs.

Here’s the thing though: Motivation doesn’t come and go by some magical whim of fate. Motivation is something you create. I know that my motivation is heavily influenced by progress. I tried fixing these issues for so long without getting anywhere that I’m at a point where I need to accept that those are flaws I need to live with. It’s my second self-coded app ever, of course it has problems.

I’m sure my next project will teach me some of the things I need to learn to come back to Stoins and fix it. A cycle of learning through manufactured motivation and not giving in to perfectionism.

November 16th, 2022

The woes of a personal brand

I detest influencer culture. I’d rather not be a personal brand but a person. As clear-cut as this might sound, it’s virtually impossible to detach one from the other as soon as you’re visible online. By using marcel.io as the domain for my personal blog, I feel like I somehow slid into influencer territory. At the same time it’s the best name for a personal blog written by a human being called Marcel. Oh well.

Since my urge to start blogging again came up, I ogled tiptop.software as the venue for what I want to write about. I’ve spent most of 2022 learning programming, designed, coded and released an app to the App Store and thought it would be great to write about this under the name Tiptop Software. I installed WordPress, build this theme, wrote the first post and even released it.

However I quickly discovered that writing about cats, games and the weather will undoubtedly be something I want to do (you can look forward to that) and it wouldn’t feel right to put more personal topics into a publication hosted by my “software company”. I also don’t want to limit the frequency of posts to make the blog feel valuable. This isn’t supposed to be one of those blogs where every article has to be a work of art. I want to be able to throw out a quick thought and even end a post in the middle of a senten

November 15th, 2022