Career Goals (2022) Over the past several years, I have put a lot of thought into the life I want. In a similar vane, I have made some significant changes and progress leading towards that lifestyle. Sometimes, it is difficult to be mindful of the progress we have made and, instead, focus on the fact that we aren't "there" yet. Before going into details, I want to point out something I believe to be important but often forget. There is no guarantee of a tomorrow. The past is over. All we really have is now. We should be mindful and living in the moment whenever possible because that is true reality. Think about it -- when you're having a great time and really into the "now", time goes by so quickly. The last thing you probably want to do is make lists, go buy some material thing, or otherwise harp on how you can make your situation better. You're too busy existing and enjoying the hell out of that existence. In the same vane, it's really easy to fall into the trap of "the grass is greener" when things aren't great. It's really easy to do mental gymnastics and convince yourself that if you just did this thing, or if you just had more money, or whatever -- that you will be happier, or that under those circumstances you can truly enjoy life. The reality is that we (being most of us in the West) already have everything that we need and it's this desire for more that ultimately leads to suffering. Let me give you a concrete example. I have a family. I'm not quite middle aged (what is middle aged these days?) but am old enough to seen how fast three decades can fly by. I have lived poor and I have lived with a relatively privileged income. I have worked hard and saved. I have also blown money on stupid things, usually with the help of a bank, credit card, or some financial institution to fulfill that instant gratification. Ultimately, all I really want is time and the freedom to pursue my own happiness. Given what I said before, this is ironic or paradoxical. Some of my beliefs are probably complicated. I will be the first to admit that they may not always make sense. I also believe that is okay. Before moving on to the original theme of this written piece, let me share some constraints I am trying to work around. Like I said, I have a family. I want to spend more time with my family. Ideally, I would like to spend *prime* time with my family. For me, that means seeing my children when the sun is up and not just existing (to them) as the back of head in front of a computer. We recently moved pretty far North; further North than where I grew up. When the sun sets at 4PM for a month, you quickly see how little time there really is in a day. That time from sunrise to sunset is the only time I get to really enjoy doing anything with them that doesn't turn into a repetitive pattern of "eat dinner, hang out for a bit, and do the whole bath & bed-time routine". In my mind, all of this material crap is not worth what we sacrifice. Are we happier than the "poor" (relatively speaking) families who have very little but spend a lot of quality time together? I'm not trying to be dismissive of the sheer hardship that poverty brings upon folks, I personally lived it when I was a little kid. There is something to be said about this constant desire for *more*. A newer car, the latest electronics, a better home, celebrating holidays by practically showering children with gifts, and so fourth. Do these things actually make us happier? In hindsight, will the kids (or myself) really look back and think "I'm really glad we sacrificed so much time so we could have these things"? I doubt it. Anyways, these are just the kind of invasive thoughts I deal with. Like any good steward of invasive thoughts, I have a plan! In fact, I do see a path which leads to greener grasses. Hopefully I can get there before it's too late. Hopefully it's worth it. When I started my career, I began doing side-work (freelance) based solely on word-of-mouth. I was young but also had a kid. At the time, it paid way better than working in any kitchen, delivering pizza, or being a general laborer doing landscaping and construction. Unfortunately, I did not have any sort of mentor in terms of business. I was naive. I had no friends in the (tech) industry. I decided to go to school and pursue a degree; first in Electronics Engineering and then switching over to Computer Science. I was able to live off of supplemental money which were bundled as part of student loans. The little I made from freelance work was a huge help but I will admit I did not manage my money well by any means. Without going into details, it was a tough time in life while raising a young child, and the last thing on my mind was regretting the amount of debt I was going to get myself into. I could always pay it off later, I thought to myself. Fast-forward a bit and this freelance work started to grow into bigger contracts. Essentially, people with money were pseudo-hiring me using contracts so I could foot my own taxes and such. Looking back, I was used and abused but it was my own choice. It was also a fantastic experience and it was the time I had the most flexibility and freedom to lead that I've experienced in my entire career. A decade later, the projects I worked on during this time were some of the most interesting and exciting work I have done. One day, I had a recruiter reach out to me about a remote position with some company in another state. The recruiter told me about the culture, it being a "startup within a corporation", the pay (wow!), the benefits (health care for my child?), and so fourth. I decided to go through the interview process. Part of it was implementing a fun little game that can be played in the web browser. The people were really nice. I'm not sure how, but I was on the way to the grocery store with my young child in the back seat when I got an unexpected call from the hiring manager. We spoke for probably 2 hours. Fast forward, and I was hired. They brought me into town a few times and despite some personal issues going on in life (specifically with insomnia and a requirement to be at 9am meetings, let alone an evolution into on-call duties which I never signed up for initially but became weekends of torture), I really enjoyed working with this group of people. Eventually, the corporation who owned the "startup" decided they cared more about the bottom line. They moved everyone into their actual corporate building, cleaned house with most of the original management, and turned this technology division into a shell of its previous self. I left. If you're still reading, you're probably wondering why I jumped into a long tangent. It's actually simple -- this is the first part of a pattern I've seen in myself. It happened three more times. I join these companies who are still great to work with but financially secure and then they either get immediately bought or had just been bought and the new owner decides to shake things up -- always for the worst. That probably sounds far-fetched but it happened. Anyways, back to the point. Here is exactly what I am looking for: 1. Asynchronous. There is no reason, short of well-planned and well-articulated meetings, that I need to be working when another human being is. If other software engineers cannot work productively unless others are constantly available then there is something wrong at play. I understand that pair programming can be very productive. I know that sometimes people just have a quick question. However, this really speaks more about the culture of the company and the pace at which it wants to do things. We should be sharing information through documentation, shared communications like email threads, or other valuable forms of collaboration. I am also so tired of most applied forms of "agile" development methodologies. In reality, these are just fancy ways for management, and management's management, all the way up the chain to micromanage their employees. Why are you hiring "professional" engineers but then treating them like children? Scrum and related systems are not at all beneficial for most developers. One of my very first roles (contract) was with my Java teacher and he was a very early adapter of agile, using the Agile Manifesto as his guide. He did it great. I also personally implemented pieces of it in multiple gigs where I lead projects. My first corporate job used Kan-Ban and it worked really, really well. After that, the poop just ran downhill. All that is to say, I will speak up if I am blocked on something and otherwise, I do not understand the purpose of a "standup" meeting; especially one where we all have to be in a video conference together, and especially since all of these post-COVID-19 remote employees have decided they need to replicate their office lives in the form of video conferencing. I also have personal reasons for wanting to work asynchronously. If it is a nice day outside, I want to go play with my kids, hike, do some gardening, or whatever. I should not have to sit in front of a computer and waste my time because someone might potentially message me on Slack. I also don't believe any programmer can realistically do 40 hours of actual programming (sitting in front of a computer) each week and not eventually burnout. I personally know at least two engineers who claim to have ADHD and actively use stimulants -- and it shows. I often wonder if I am the only one who notices. Also, there is no good reason that one cannot have a reasonable amount of well-planned work, knock it out at any given hour, and then walk away. This is not a restaurant where we need to be available for customers at any given time; it's much more similar to ... well, software development. I suppose this is why people who call themselves software engineers catch flack from other engineers. 2. Part Time or Freelance Similar to my rationale for wanting to work asynchronous, I want to work part-time or as a freelancer. I want small, bite-sized chunks of work where I know what I need to do, work a handful of hours to knock it out, and then I am done. I have never worked part-time in the tech industry, so that peice may be wishful thinking. However, when it comes to freelance work, I get to dictate everything besides the requirements. I could write more here, but I feel as if it's pretty self-explanatory at this point. 3. Side Projects I have had ideas on paper for several years now. Some, to the point where I have a ton of details drafted. I have not had time to make them because ... I have been busy. I also simply haven't made time. Now, the motivation is significantly stronger. I am also hopeful that these side projects can bring in some "passive" income. Another huge factor in wanting to work on side projects is that I honestly love having creative control in the things that I do. Especially when I am ultimately responsible for them and I spend so much time and energy bringing them to fruition. I also believe the projects I want to build are useful for others; but most importantly they are useful to me or others that I know. These satisfy some personal needs. 4. Switch Domains During my career, I somehow got myself pidgeonholed into this devops trend. I don't know how it happened; I am not a strong operations person by any means. I've learned a lot, which is actually really great. I have got to work with some really cool tooling and have literally worked for (and with) companies who I thought were awesome in my younger days. Before I was holed up in the devops world, I was more of a "full-stack" web developer. I really enjoyed working on every piece of applications. Unfortunately, that is just really the art of stitching other people's work together to form a cohesive product and deliver it in a stable manner. Due to the fact that most applications die pretty quickly, or businesses need to keep their budgets strict, or everyone is in a constant rat race to get their crap out there to the world, this involves a lot of "high level" programming using languages like PHP and Python that really handle almost everything for you. In fact, I have been surprised during interviews or while tinkering with code on how little I actually know. I have a strong desire to work at a much lower level. I enjoy writing code in C, although I have never done it professionally. When I mention that to those who have, they sigh and talk about how much they hate it. I also enjoy writing code with Rust and tinkering with Zig, although I've written so little that it's possible I simply don't have the experience to speak on how bad it is. I also enjoy using functional programming languages; Clojure, F#, and ocaml being some of my favorites. Again, these are not things I have used professionally so maybe it's just another example of "the grass is greener on the other side of the fence". To summarize, I want to continue developing software but I would like to stop focusing so much on "devops" and I would also like to move away from web-based application development. I think systems level programming would be great, although that may only be something I can do as an open-source contributor. I also enjoy the idea of writing indie games (I used to play with XBox development around 2009/2010) and doing hobby projects with microcontrollers; especially in relation to homesteading. Speaking of homesteading, but without going into too much detail, there are other ways of either making money or decreasing expenses. Some of these can be done together, with my family. That is also something I have been day-dreaming about since ~2010. Today, we are much closer to making that a reality. Compared to the last decade, that is an entirely different domain. 5. Writing If you have made it this far, I am both surprised and grateful. However, you are also probably surprised that I would include writing as a career goal. This piece is very raw; probably zero-to-nil editing by the time you see it; and straight from the heart. I'm literally writing it line by line in emacs using a console on sdf.org and not scrolling back. I may run a spellchecker and look for obvious issues. I would not consider myself a good writer, by any means. I do enjoy writing and was successful with every writing class I had through my elongated time in college. I don't believe my writing is *bad* -- but it is not something I do often, it is not something I am putting any high level of effort into, and it is definitely not something I have turned into a craft. Last week, I was wrapping up a large thing at my corporate job. The last peice, before sending out an announcement email, was to write some documentation around it. No big deal; I spent a couple of days and wrote some pretty good (starter) docs, or so I thought. My director decided to talk to me when I asked why I wasn't supposed to send out an announcement email about the big thing I had spent months bringing to fruition. During that somewhat awkward but beneficial conversation, he said something that struck out at me. "No offense, but I am a much better writer than you" -- and he volunteered to rewrite the documentation. That struck a nerve but only reinforced what I already knew. I have been wanting to write more since 2018. I am sure I can, and always will, improve. I do not just want to write corporate documentation or these posts. I want to spend time and put together quality pieces of literature where I can share my 13+ years of experience and knowledge with others. When I go down these rabbit holes of exploration or decision making, I want to share that information. I don't want to limit myself to simply text, although I do believe it to be the best medium for myself. I am also interested in producing content in other mediums that folks enjoy, be it video or audio. I don't know how or what I will write, exactly, but for now I am doing it under a pseudonym until I get more comfortable with it. I don't have a group of people I can rely on to give me feedback before publishing anything so I'm just going to make it a fun experience and try to learn from it. With all of that said, I think I will end this here. I did not come into this with an outline of what I wanted to talk about but I feel good about sharing with the world my career goals and lifestyle ambitions. It's definitely not minimalist, by any means. This is really just a stream of thoughts. If you got this far without skipping to the end, I hope it somehow was useful, entertaining, or maybe even relatable. mnml@ 2022-02-15