I’ll go first: “You have to have children when you’re young,” told to me when I was in my late 20s, with no desire to ever have kids, and no means to support them, by someone divorced multiple times with at least one adult child who does not speak to them.
Also: Responding to “How do I deal with this problem?” questions with “Oh, don’t worry about it, it’s enough that you’re even thinking about it!”
My experience may be an outlier but…
Formal education was great for me, promise of working with cutting edge technologies. Vast amount of opportunities working in the IT sector. I was excited and happy for starting my second career choice.
As for the job I’ve landed, acceptable-better pay/benefits than most, the most backwards tech to work with and managing environment. I’d like to fantasize about leaving but with the work ethic in my area I can’t escape it without a drastic move.
Ah, that’s fair.
I’m having the opposite experience, unfortunately. I loved working at {co-op company} where I had a choice of developer environment (OS, IDE, and the permissions to freely install whatever software was needed without asking IT) and used Golang for most tasks.
The formal education has been nothing but stress and anxiety, though. Especially exams.
Ah wow that’s a great experience for your co-op! You know maybe i’m rose tinting a little bit now that you’ve mentioned exams haha, but yeah I’d still say it’s been interesting working in the field for me to say the least.
Yep! I ended up doing my entire co-op with them, and it meshed really well with my interest in creating developer-focused tooling and automation.
Unfortunately I didn’t have the time to make the necessary changes and get approval from legal to open-source it, but I spent a good few months creating a tool for validating constraints for deployments on a Kubernetes cluster. It basically lets the operations team specify rules to check deployments for footguns that affect the cluster health, and then can be run by the dev-ops teams locally or as a Kubernetes operator (a daemon service running on the cluster) that will spam a Slack channel if a team deploys something super dangerous.
The neat part was that the constraint checking logic was extremely powerful, completely customizable, versioned, and used a declarative policy language instead of a scripting language. None of the rules were hard-coded into the binary, and teams could even write their own rules to help them avoid past deployment issues. It handled iterating over arbitrary-sized lists, and even could access values across different files in the deployment to check complex constraints like some value in one manifest didn’t exceed a value declared in some other manifest.
I’m not sure if a new tool has come along to fill the niche that mine did, but at the time, the others all had their own issues that failed to meet the needs I was trying to satisfy (e.g. hard-coded, used JavaScript, couldn’t handle loops, couldn’t check across file boundaries, etc.).
It’s probably one of the tools I’m most proud of, honestly. I just wish I wrote the code better. Did not have much experience with Go at the time, and I really could have done a better job structuring the packages to have fewer layers of nested dependencies.
That is truly so amazing! Honestly experiences like those are so worth it, but I feel for you not being able to make it open source then. If you haven’t already started on something else, I’m sure it’ll be some motivation for you down the road. Sorry for delayed response, crazy ass week for me lol.