Ownership and the Future
Hello again, fellow shut-ins.
I hope you are all, as I am, heeding the advice of medical professionals and practicing social distancing. As someone who already spends the majority of my non-working hours at home, this hasn’t been quite as drastic a change as it has been for others.
One thing that I’ve been thinking about while cooped up at home is the idea of ownership.
At work I expend a great deal of time and energy towards cultivating an ecosystem in which to build software. Something that I have become increasingly aware of as of late is just how little ownership I have in the fruits of my labor. If I were to part ways with my employer I would be left to start over from nothing. I find the thought of this very troubling.
This weekend I wanted to work on a side project, but found myself faced with a dilemma: do I work on something that is either directly or closely related to my job, or do I start building a separate ecosystem that I have a greater level of ownership in? On the one hand, building libraries or tools that are applicable to my day job brings immediate benefits, as the majority of my time building software takes place at work. On the other hand, if I do this am I doing myself a disservice by not starting on laying the foundation for something that I want to build for myself?
In addition to this, there is also the future to consider. At work we predominantly use .NET, but I needed to take a step back and ask myself, “if this wasn’t what we were already invested in at work, is it something that I would want to use for the next ten years?” Asking myself this question made me realize that, if I had the choice, I would not pick .NET as my technology of choice for building software.
Ultimately, I didn’t end up getting much done this weekend aside from deeply considering these questions. So where does that leave me?
At this point I’ve more or less made my mind up that I want to spend my time outside of work cultivating my own ecosystem. I plan to use either Haskell, Rust, or a combination of the two as the foundation for this ecosystem. Both of these languages embody my ideals for building robust and maintainable software, they just go about achieving these goals in slightly different ways.
I’m curious if anyone else has struggled through these issues and if they would be willing to share their thoughts with me?
Be well, and you will hear from me again soon.
Marshall