• 1 Post
  • 24 Comments
Joined 1 year ago
cake
Cake day: June 18th, 2023

help-circle

  • This is already said, but it cannot be too emphasized: This is not your fault. This is entirely on them. Three months is far too short to evaluate someone even if they were secretly unhappy with your performance. It might be worth talking to an employment lawyer, but likely you’ll have to take this on the chin. In the immortal words of the great Captain Picard: “It is possible to commit no mistakes and still lose. That is not a weakness; that is life.”

    As everyone has said, you can expect to get questions about it, and I would definitely have a prepared, rehearsed statement. Some recruiters and hiring managers make a big deal about these sort of things, some won’t even care. Again: this is not your fault and do not be apologetic about it.

    Five weeks is not a lot of time to get a new software job, even in a hot market. This is the unfortunate reality and I would start making contingency plans. If living in NYC remains a goal, then this is a setback but a far smaller one than it may seem right now. You don’t have a mortgage or a family hanging over your head. Moving back to NYC will be in play, likely sooner than you think.

    Spending time on career development is a good idea. Something with a firm outcome like AWS Solutions Architect is also good. I have the associate certification which I started working on while at Amazon. It hasn’t really done much for me, but I’m not seeking positions where it would hold much weight.



  • I see them as a flawed indicator of the ceiling of someone’s theoretical computer science abilities. Having worked with some brilliant people that career shifted via bootcamps, I will contend there’s value in having that foundation. I also prefer Leetcode problems over having to memorize search algorithms. But yeah, it’s not very reflective of day to day tasks even in R&D heavy projects. The most algorithm heavy thing I’ve ever done was implement Ramer–Douglas–Peucker to convert points from mouse polling into a simplified line.

    (There’s clearly a “it’s what everyone else is doing” aspect to Leetcode, on top of being very practical to run, hence I why don’t see them going anywhere. They’re also as objective as anything in an interview will ever be, so as I always say: it can be so much worse.)

    I intend to make the hacker “dive into an icky codebase armed with a stack trace and fix a bug” aspect of software development a part of my interview process; plus lean more heavily on system design questions which is where non-entry level engineers really ought to shine. The parts that worry me are the ability to create new tests as they inevitably leak, plus whether I can truly objectively evaluate someone’s performance.

    I’m curious what you include and how well it works.


  • Yeah, they kinda suck and they are brutal to go into cold. Having to grind a bunch of leetcode problems is a burden, particularly if you currently have a job and god forbid a family.

    I would still take them over the puzzle questions that used to be popular, or the personality test nonsense that dominates most fields. At least Leetcode problems are reasonably reflective of programming skill. I’ll also take them over vague open ended questions - ain’t nothing more fun than trying to ramble my way into whatever answer the interviewer is secretly looking for.

    Personally, when the day comes when I’m In Charge, I plan on experimenting with more day to day type evaluations. I think there’s potential for things like performing a mock code review or having someone plan out a sprint based on a very detailed design document. “Here’s an icky piece of code, tell me what it does and what you would do to improve it” seems to have fallen out of style, though it’s not clear to me why.

    That said, like it or not it’s how the game is played and not changing anytime soon. Get on the Grind75 train, or don’t and keep failing tech screens.


  • I’m extremely open to tech stacks and specific industries, though I would die happy if I never had to touch another line of TCL. Go to hell TCL, and take your upvar nonsense with you.

    I’m currently between jobs and planning a career shift into a software engineer manager role, so I have been thinking about this quite a bit. A job I would leave - which is really leaving a manager/team, not a company - would rate poorly on these, which I’m polishing into a new “what type of position are you looking for?” answer:

    • A team that works cooperatively, as we accomplish more together than in competition. Everyone should strive to be world class at their roles, as being around that is critical for learning from each other.
    • An environment where clear and open communication is encouraged, including whatever anyone is struggling with.
    • Work that takes on difficult problems and strives to work through them with the highest standards.
    • A position that enables me to grow down my desired career path, which as of this writing means reporting to a software manager who is willing to delegate project management tasks and eventually people management as well.

    Something I wouldn’t reveal during an interview, though critically important, is a work environment that I can arrange such that it best enables me, and not be boxed in by someone else’s conceived ideas of how software engineers should act or work. I’ve felt like a square peg in a round hole my entire life. Turns out it’s a concrete objective fact (ADHD). I am so goddamn tired of feeling bad or apologizing for things that are actually just the scaffolding that I need to survive.


  • It’s easy* to setup Hashicorp Vault with your own CA and do automated cert generation and rotation, if you are willing to integrate everything into Vault and install your root CA everywhere. (*not really harder than any other Vault setup, but yaknow). I may go down this route eventually since I don’t think a device I don’t control has ever accessed anything I selfhost, or ever will.

    I have a wildcard subdomain pointing to my public IP, and forward port 80 to an LXC container with certbot. Port 80 appears closed outside the brief window when certbot is renewing certs. Inside my network I have my PiHole configured to return the local IP for each service.

    Nothing exposed to the internet at all. There is a record of my hostnames on Let’s Encrypt but not concerned if someone will, say, deduce apollo-idrac is the iDRAC service for a Dell rackmount server called apollo and the other Greek/Roman gods are VMs on it. Seemed like a house of cards that would never work reliably, but three odd years later I only have issues if a DNS resolver insists on bypassing my PiHole. And that DNS resolver is SystemD-ResolveD which should crawl back into whatever hellhole it came out of.


  • They could hijack your site at any time, but with a copy of your live private certs they (or more likely whatever third party that will invariably breach your domain provider) can decrypt your otherwise secure traffic.

    I don’t think there’s significant real tangible risk since who cares about your private selfhosted services and I’d be more worried about the domain being hijacked, and really any sort of network breach is probably interested in finding delicious credit card numbers and passwords and crypto private keys to munch on. If someone got into my network, spying on my Jellyfin streaming isn’t what I’m going to be worried about.

    But it is why CSRs are used.


  • The layoff includes Mary Kirby, who’s been a core writer in the Dragon Age franchise since the first game. Saw takes that the layoffs are just eliminating multiplayer positions, but that’s not true.

    I’ve long suspected that Dreadwolf will make or break BioWare. Since it’s following the same script as Andromeda and Anthem - endless delays, no public progress just lots of b-roll and concept art - I don’t think development is going well. ME: Legacy might have bought BioWare some breathing room but I can’t interpret this as anything other than death throes for the studio.

    BioWare is dead, long live Larian and Spiders?


  • I’ve found the idea of LXC containers to be better than they are in practice. I’ve migrated all of my servers to Proxmox and have been trying to move various services from VMs to LXC containers and it’s been such a hassle. You should be able to directly forward disk block devices, but just could not get them to mount for an MinIO array - ended up just setting their entire contents to 100000:100000 and mounting them on the host and forwarding the mount point instead. Never managed to CAP_IPC_LOCK to work correctly for a HashiCorp Vault install. Docker in LXC has some serious pain points and feels very fragile.

    It’s damning that every time I have a problem with LXC the first search result will be a Proxmox forum topic with a Proxmox employee replying to the effect of “we recommend VMs over LXC for this use case” - Proxmox doesn’t seem to recommend LXC for anything. Proxmox + LXC is definitely better than CentOS + Podman, but my heart longs for the sheer competence of FreeBSD Jails.









  • “Healthier” is a fuzzy, difficult to define concept in food, but there’s minimal nutritional differences between canned, frozen, and fresh fruits and vegetables. Avoid cans with BPA lining and anything with lots of added salt or sugar, but otherwise don’t worry about it.

    The practical answer is whatever helps you not eat takeout all the time is what you should stick with. If you are worried, prewashed salad lettuce packs are pretty cheap and are a manageable two meals. I really hate juggling the shelf life of produce as well.



  • Only issue I had with a similar setup is turns out the old HP desktop I bought didn’t support VT-d on the chipset, only on the CPU. Had do some crazy hacks to get it to forward a 10gbe NIC plugged into the x16 slot.

    Then I discovered the NIC I had was just old enough (ConnectX-3) that getting it to properly forward was finicky, so I had to buy a much more expensive ConnectX-4. My next task is to see if I can give it a virtual NIC, have OPNsense only listen to web requests on that interface, and use the host’s Nginx reverse proxy container for SSL.