what are you learning?
mask-composite° isn’t supported by webkit.
i went to google and searched “what am i supposed to learn as a software engineer?” and everything seems to fit in four categories:
- subject matter, from languages to databases to tooling.
- software design, in the ousterhout sense,° which includes things like making code easy to delete° or duplication is cheaper than the wrong abstraction.°
- engineering process, which i take to be learning about sprints, release cycles, company roles and titles, hiring, etc.
- “soft skills”, which includes all the vague phrases like “time management” or “learning to learn” or “collaborating with others”.
there’s gotta be something that makes a software engineer better, and i don’t think it’s simply a matter of learning more things in each category. sure, that’s part of it. my seniors know much more than i do about parllelism or architecture or whatever. but it’s not like i can grind each of these stats and expect to become a better software engineer.
what am i learning? i’m learning that i don’t know what i need to learn. i’m learning that i don’t know how to draw the line that goes from junior engineer to senior engineer. my career roadmap is bare, and i’ve got nothing planned but “experience”, crossing my fingers, and hoping that if i work for a few more years i’ll get better.
college ends when you graduate. you do four years of your undergrad, you finish your degree, you’re done. up until i graduated college, my life was split into sections that end after a few years. graduated from primary school. moved up from junior high. graduated from senior high. took a gap year. graduated from college. and now i’m starting my first job, and i’m two months into it, and i’m scared because there doesn’t seem like an endpoint.
i mean, okay, it ends when i leave my job, or when i get fired, or when i run out of stem opt.° aside from the stem opt thing (which isn’t guaranteed, as i could get another means of employment authorization before then), these don’t have timelines. i didn’t start this job thinking, i’ll stay here for, oh i dunno, sixteen months° and then i’ll go to another job.
why am i so scared? i’ve tracked paths longer than two months. semesters are fifteen weeks. my internship last summer was twelve weeks. i haven’t even been here eight weeks yet, and it already feels like i’ve entered a rhythm. i’m hitting beats in common time, mapped out before me in verses, punctuated by quarters, and by okrs and by promotions, and then i’ll look back, and it’s five years later, and i’ll reflect and realize, that i don’t hate what i’m doing, and i don’t love what i’m doing, and i’ve earned some experience, and i’ve become a “better” engineer, and i’ve made a lot of movement… but i’m still in the same place.
look at me! riding the rollercoaster of life, entertained by its ups and downs, only to end up where i started. i could be charting my own path. i could be doing my own thing. i could, at least, be changing. because when i was in mit, i restructured my self-identity,° and i reckoned with motivation,° and i became less depressed,° and these aren’t things you associate with a day job, right?
plots / practicality
why work, then? why have a day job?
it pays the bills. it’s money. the dream is to retire early, so i can stop working, and do… what? play video games all day? the realer answer is probably working on personal projects. i’ve abandoned a lot of them over the years. these days the projects i work on out of work are my blog, and gph,° and i wish i could go back to qboard,° or writing more handouts,° but between a day job and hanging out with friends i don’t have that much time.
speaking of hanging out with friends, that’s another reason to have a job. having a job in the us means i get to stay in the us, and i like being here because lots of my friends are here, and i like getting meals with them. sure, i can make friends anywhere i go, and i didn’t have these friends when i first came to the us. but i want long-term friendships. it doesn’t feel like i’ll be in a romantic relationship any time soon, which is how i think a lot of people scratch the itch for deep social connection.
but that doesn’t feel like a good enough reason to keep a day job. rather, it’s not a reason to keep this day job. i can rattle off the things i like about instabase. i like my coworkers, because i vibe with some of them, in a way that i don’t vibe with everyone. i like the flexible hours, i like the programming. and it comes back to, well i don’t hate this job, but i don’t love it either.
could you love your day job? i think you can. at least, it seems like some people i know love their day jobs. i can think of day jobs that i’d love, or at least, i think i’d love. running logistics at a non-profit i like, or working on graduate-level math textbooks. but then i step out of practicality. because if i want to work in the us, and do it on stem opt, it has to be a job directly related to my field of study. and if i want to make enough money to afford a new york lifestyle, okay, well, i can drop that, but i do enjoy running up the hedonic treadmill of lifestyle creep.