Successful Coding Projects and the Drive to Code

by k1f0 on 28/08/2023

Having a Reason

Why do you code? No seriously, what makes you want to code, regardless if for work or private purposes? If you have a clear answer in mind, great because that's what it takes for a good start into your first bigger project. After spending the last 8 weeks on a project related to my diploma thesis, I will now write down some things that I learned.

My Drive for Coding

The answer to above question for me is simple. I code because I want to help other people. I want the them to use the stuff I create so they feel like they benefit from it in any way possible. Take some random task for example, like changing some configuration change that needs to be applied to multiple instances, always the same procedure but always done manually by some person.

...we can definitely automate something like this right? ...maybe even write a nice interface for it? ...add some extra quality of life improvements?

Yes, yes we can. Most importantly we can make the persons life easier who did stuff like this manually for ages and has gotten sick of it, but hasn't had the time to automate it themselves. I think this is really what a lot of coders are coding for these days. It's just the best feeling ever to build something you are proud of and others a proud of it as well, because it makes life easier for them.

Where you're working

This heavily depends on where and in what environment you actually do your coding work. For example, purely remotely or in a office with other colleagues nearby. From a laptop that has been provided too you or using your own equipment that you are familiar with. The latter is a very important aspect for me. As some of you might know I am a dedicated GNU/Linux user. A Linux Environment is where I feel at home, both for work and coding as for gaming and watching movies. It just can do it all these days, there is no holding back. The more you are familiar with your equipment and environment, the more you will achieve in a confined time-frame. Exactly that is also what I noticed during the last 8 weeks of my project. Having a dedicated office with your colleagues instead of always working from home can be quite beneficial though, which brings me to my next point.

Coding with other People

Some people might say that actual coding skill is what's most important when sharing a Codebase with other people, but I don't think that's true. Everybody has some kind of field in programming where he/she can achieve the most while also not falling into a deep depression because they have to do something they don't want to do (like coding PHP). Especially if you are in charge of leading a team, it's important to look out for the well-being of your colleagues and maybe also help them find that coding sweet-spot or finding it for them. The more proactive you are at this, the more engaged with the project they will get in return. Of course not forgetting the most important factor when working in a team: Helping each-other!

Providing a smooth ride

Especially when building things from scratch you might have the possibility to choose what type of language and/or framework you would like to use. I think the most important point is not going to rogue and only choose the latest and greatest stuff. Instead choose a mix of new and old reliable stuff. When working with things that you are less familiar with, it might be a good idea to stick with older (but still supported) tools that have been proven to work. But don't shy away from building on new stuff in the territories where you have enough experience to do so. You will have a much easier time in the long run when f.E. prototyping stuff and so on.

Take your time off

I noticed that I was getting very addicted to this project. Because most of the stuff I said was just in a very good spot for me. I had my people that I could rely upon, I had a good environment and I worked on my own equipment that I knew how to be productive with. These are only a few things that made the last 8 weeks incredible, but as I said I was just falling into a never-ending tunnel of just wanting to code and doing nothing other than that. This will "eat you alive" quite literally if you aren't careful. It's super important to not throw yourself into one direction too much. Make sure you drink, eat and sleep enough, even if you have such a blast that you might even forget to do that. Building Software is fun, but staying alive while doing it also is.

Final words

I want to thank everybody involved until now, without leaking any names. But I think the people know that they're meant when they eventually come to read this. I also want to highlight some projects that made my life a whole lot easier, of course not all of them but some including:

  • Astro - Modern JavaScript Meta Framework that has been a blast to work with
  • Svelte - For not making me code with React and providing an excellent front-end experience
  • Deno - Escaping the npm madness and providing a secure by default runtime
  • fastAPI - Building secure Python API-Endpoints in lightning speed
  • Hyprland - Providing an excellent Wayland experience and Coding Environment
  • flowbite-svelte - For providing excellent front-end building blocks

And many more that were not mentioned above. I am happy to say that this project is not yet finished and I'll be able to put more work into it, while also learning a ton of new stuff along the way. That's all for now.

~ k1f0