4 ms·
I think there's a way about going about these things that can make you hate it or enjoy it. I'll share some of my story as an example of how I compartmentalize
by kodah 3y ago
I think there's a way about going about these things that can make you hate it or enjoy it. I'll share some of my story as an example of how I compartmentalize my different activities.
I code for myself, I have been since I was a kid. Often they're little utilities that I find fun, interesting, or useful. Sometimes they're tested, if for instance it's something running part of my house. Most of the time they're not because testing is arduous at times. I feel very attached to what I create for myself; it's often creative or exploratory in nature. I enjoy this kind of code and share it freely, usually without a warranty.
I code for a large firm. The way I code there is entirely different. I'm very unattached to that code. It receives lots of criticism that I learn from but at the end of the day as soon as I put hands on keyboard that code is their code. I'm talented so I get to work on things I find interesting, but this job is a paycheck where I'm paid for meeting delivery deadlines at a standard of quality. As a result the code I write here is of a different nature, it's easily maintainable, testable, and quite rote. This money funds my day to day life and savings account. I enjoy my coworkers and select them carefully to the best of my ability but it's a job at the end of the day.
I also have a consulting business. I build solutions for clients or help them attain their goals. This job isn't just a paycheck because I often work with small and medium businesses who don't know what they need or how it needs to be done. I get more agency than I do at my FAANG job, but I'm still working to get paid according by meeting the clients goals. The code I write here is less rote than my enterprise code, but not as creative as my personal code. This money usually funds projects around my house or trips. I enjoy helping small businesses, but it's a job.
I also have some for-profit ventures I work on with friends. I have much more agency here, but I'm working to serve the needs of potential and current customers. My quality standard is higher but it's not enterprise code; it's not quite as rote as my enterprise code but a little more on the creative side. The goal here is to eventually replace my corporate job. I have fun doing this because it's with people I enjoy but it's a job.
Compartmentalizing my commitment and knowing my desired outcomes has greatly helped balance this whole act. Outside of those things I have other serious hobbies: biking, gardening, camping, festing, recreational hallucinogens, spending time with my dog and my partner. Many of these overlap.
- twodave 3y agoHow do you prioritize your time? I see a lot of similarities in us. I feel the same way about my main job, though at a smaller firm. I also consult with small businesses on the side and have had very similar experience. What I don't have are any for-profit ventures (of my own or with friends), and I've almost totally stopped coding for myself. I used to write code for fun all the time, and would wonder that many of my classmates/coworkers didn't do this. But I'd like to recapture it. I'd also like to take a few risks without quitting my job. I can probably spend 10-15 hours/week between all side/personal ventures combined. Currently I have all of that going towards the same consulting project, and I've found it somewhat unpalatable to "spend" the opportunity cost of working for myself instead.
- kodah 3y ago> How do you prioritize your time? When I worked in an office this was difficult. I had to assign values to certain activities, sometimes subliminally. For instance, being that my personal coding was a lot more creative it sometimes taught me concrete enough patterns that I could take to work. That made it a higher order of value. I was making enough money at my day job that consulting wasn't needed, but I took less time off as a result. Gardening was a higher order of value because I find it very cathartic, and I'd end each day with a bike ride through San Jose. Now I work from home and it's much easier. If I need time to think I'll go pull weeds; weeds are a weekly activity and gardens rarely require huge chunks of time commitment unless you're making something new. I do my day job 8-4 and use breaks to garden or ride my bike. In the evening I work on my other money making ventures. I don't need to do so many decompression activities later in the day because they're spread throughout the day in between work. At least once a month my partner and I reserve a weekend to do something together. It could be restaurant or camping, sometimes a show. This, I think, is key for maintaining healthy relationships as a busy person. > What I don't have are any for-profit ventures (of my own or with friends) This took me a while to find. I was always willing to work on new things, but it took my friends getting to stages in their lives where they wanted to do this. Working remotely taught me skills to make this more possible as well. > Currently I have all of that going towards the same consulting project, and I've found it somewhat unpalatable to "spend" the opportunity cost of working for myself instead. I found a purpose for my consulting. It funds projects or trips that I already know that I want to do. Knowing that it's a budget extension tool and having a toolkit I can draw from to avoid situations where I have to learn while consulting has helped me a lot. > I've almost totally stopped coding for myself. I usually work on stuff where I'll continue to get value out of it day after day. Offline home automation is where I used to sink a ton of time but I yield benefits from it every day. When I got into kombucha brewing I built a system to help me journal batches. Then when I felt confident in that system to produce reproducible results I turned it into an app. It's a shitty Django app with frontend framework but it's actually immensely fun to hack on and it yields delicious kombucha every 10 days.