|
I 100% called that as soon as they could companies would go back on their word re: WFH. Never trust a corp. That’s not to say it’ll stick, but lol.
|
# ? Feb 22, 2023 17:49 |
|
|
# ? May 27, 2024 13:51 |
|
I've gotten roped into interviewing applicants for a lead designer position. Anyone have any ideas on how to do that? I'm not totally lost here but it's far enough out of my depth that I'd be making it up a little if I have to come up with questions all by myself.
|
# ? Feb 22, 2023 18:06 |
|
ultrafilter posted:I've gotten roped into interviewing applicants for a lead designer position. Anyone have any ideas on how to do that? I'm not totally lost here but it's far enough out of my depth that I'd be making it up a little if I have to come up with questions all by myself. Are you the primary? If not, confirm what signal they want from you. If you are... Figure out what a good lead designer looks like?
|
# ? Feb 22, 2023 18:11 |
|
We have an actual designer so that lets the rest of us off the hook, but it's a staff-level position so we want to get some sense that all of our senior staff-level leads think the person we hire is a good choice.
|
# ? Feb 22, 2023 19:07 |
|
sounds like a figure-out-if-theyre-an-rear end in a top hat interview, not one with significant domain content then
|
# ? Feb 22, 2023 19:12 |
|
Sivart13 posted:as a Rails dev I would be happy to keep using it for the rest of my working years until I drop dead It's BYOB depending on what you're building. SvelteKit/Prisma is pretty cool. There's lots of ways to get end to end type safety though which should be part of the gold standard for web dev in 2023. kayakyakr posted:Trust the magic. Live the magic. It's too late, the business case for replacing our monolith is nonexistent, other than I personally would find it fun.
|
# ? Feb 22, 2023 19:15 |
|
bob dobbs is dead posted:sounds like a figure-out-if-theyre-an-rear end in a top hat interview, not one with significant domain content then That's definitely part of it but there's a little more. My organization builds stuff that has a very high degree of technical complexity and most of the candidates we're going to get won't have software experience outside of web-based CRUD apps, so we need to have some reason to believe that the candidate we select can make that transition. That's what I'm hoping to screen for as well as their general decentness.
|
# ? Feb 22, 2023 19:39 |
|
prom candy posted:It's too late, the business case for replacing our monolith is nonexistent, other than I personally would find it fun. If there's no business case to replace the monolith, you're not yet making real money on it.
|
# ? Feb 22, 2023 22:30 |
|
goldman sachs main investment banking apparatus is a monolith, iirc. much of it in their stupid rear end lisp do they wanna replace it? kinda, also iirc. can they? no lol
|
# ? Feb 22, 2023 22:38 |
|
jp morgans thing is basically a copy of it in python but with buttfuck insane other decisions https://calpaterson.com/bank-python.html
|
# ? Feb 22, 2023 22:47 |
|
Financial firms have insane architectures. Bloomberg's entire backend lives in a single digit number of binaries whose size is best measured in days to build. https://www.computerweekly.com/blog/CW-Developer-Network/Modern-development-Bloomberg-Of-monoliths-and-meshes
|
# ? Feb 22, 2023 22:51 |
|
monoliths can scale a lot more than people realize it may not be pretty, and it may cause inefficiencies (especially organizational), but you can push that poo poo well into the $billions of revenue having a monolith bursting at the seams is kind of a good problem to have, and doing a bunch of microservices before then is just trading one set of pains for another
|
# ? Feb 22, 2023 23:12 |
|
kayakyakr posted:If there's no business case to replace the monolith, you're not yet making real money on it. Yeah, probably true. It feels like a lot of money to me for a very small company but it's chump change in the grand scheme of thing. The thing is it largely works fine, it's just annoying to work with.
|
# ? Feb 22, 2023 23:13 |
|
yeah. almost all applications are best served by building a monolith using sane coding and architectural practices, and then splitting chunks out where it makes sense. "using sane coding and architectural practices" is doing a lot of heavy lifting in the above sentence, but if you don't have the discipline to do that, you sure as hell don't have the discipline to run and deploy a service mesh architecture. better to rewrite your code to be non-terrible and enable a few medium-large services to be spun out than start spinning out a million microservices like suckers from a hosed up tree
|
# ? Feb 22, 2023 23:57 |
|
I'm pretty sure I have never seen a "we'll rewrite the existing horrible code in Version 2.0 which will have a sane architecture" initiative actually succeed. When you have an old and decrepit monolith, what you also have is a program that has been the beneficiary of probably over a decade's worth of minor adjustments and tweaks to better-fit your business needs. Accommodating all of those minor behaviors in a clean-slate redesign is a ludicrously big project, so big that management is never going to approve it. What you can do is embark on an "update in place" initiative, where you target the specific parts of the old program that are giving you the most grief, and do your best to encapsulate and contain the badness. Then once it's contained, you can maybe rewrite specifically that portion. Then you repeat with the next-worst-part of the program. In this way you can iterate your way to the good design without needing to spend years building it from scratch. And at any point you can say "OK, the costs of this project are exceeding the benefits, time to stop".
|
# ? Feb 23, 2023 00:42 |
|
This abstraction speaks wisdom.
|
# ? Feb 23, 2023 01:27 |
|
TooMuchAbstraction posted:I'm pretty sure I have never seen a "we'll rewrite the existing horrible code in Version 2.0 which will have a sane architecture" initiative actually succeed. When you have an old and decrepit monolith, what you also have is a program that has been the beneficiary of probably over a decade's worth of minor adjustments and tweaks to better-fit your business needs. Accommodating all of those minor behaviors in a clean-slate redesign is a ludicrously big project, so big that management is never going to approve it. except that i've seen management actually approve this sort of thing. that doesnt make it less of a mistake though
|
# ? Feb 23, 2023 01:52 |
|
Strangler fig is the way.
|
# ? Feb 23, 2023 02:21 |
|
Every time someone says the word "microservices", I flash back to a previous job, where I spent months of effort as part of a three-person team building an elaborate microservice backend with multiple message queues and a half-a-dozen separate MongoDB instances and a bunch of Kubernetes configs generated by a complex template system, all to handle a workload and use case that could have been completely covered with a single big Postgres instance wired up to a Rails or Express server.
|
# ? Feb 23, 2023 09:57 |
|
My last job we tried microservices. I still don't really know if they suck or if we just hosed it up.
|
# ? Feb 23, 2023 11:30 |
|
If your org has fewer than 5000 developers, it's because you tried applying the wrong tool for the job.
|
# ? Feb 23, 2023 11:44 |
|
Is it still microservices if you just spin a few things off the monolith? The problem with monolith is you're stuck with the one language and framework meaning you're often trying to fit a square peg in a round hole.
|
# ? Feb 23, 2023 15:19 |
|
Like Jabor points out, if you have a small to midsize shop it's not worth it. Splitting off a 25k LOC service from your monolith is not a microservice. LOC probably isn't a good hard way to define what is or isn't a microservice but almost never is going to microservices worth it for smaller companies. We've added custom caching services, split off the admin panel, split off a db interface for the customer service team but none of those were what I'd call "microservices".
|
# ? Feb 23, 2023 15:29 |
|
I worked at a company of like 100 people where every dev had two or three microservices that only they knew about and none of them knew how to talk to one another. To be fair, I also worked at a company whose idea of doing things in the cloud was running the ASP.NET Core monolith on the single cheapest EC2 windows instance you could buy. In short, software is a land of contrasts.
|
# ? Feb 23, 2023 16:35 |
|
prom candy posted:Is it still microservices if you just spin a few things off the monolith? The problem with monolith is you're stuck with the one language and framework meaning you're often trying to fit a square peg in a round hole. I call it the solar system architecture, and it's a pretty good way for a small team to maintain/migrate a monolith. One central monolith, a bunch of smaller services that help out. If something starts becoming a problem within the monolith, that's when you rebuild it as a service outside the monolith. Or inside the monolith, tbh. I like a good service-organized monolith if you can pull it off.
|
# ? Feb 23, 2023 16:55 |
|
kayakyakr posted:Or inside the monolith, tbh. I like a good service-organized monolith if you can pull it off. How does that work?
|
# ? Feb 23, 2023 19:15 |
|
I would assume basically like a microservices setup, except that instead of multiple binaries communicating via networked API calls, there's one binary that "communicates" via calling library functions.
|
# ? Feb 23, 2023 19:19 |
|
prom candy posted:How does that work? Service Oriented Architecture predates Microservices.
|
# ? Feb 23, 2023 19:20 |
|
TooMuchAbstraction posted:I would assume basically like a microservices setup, except that instead of multiple binaries communicating via networked API calls, there's one binary that "communicates" via calling library functions. And the dependency graph for those libraries is a DAG.
|
# ? Feb 23, 2023 19:23 |
|
prom candy posted:How does that work? Clear service interfaces and domain boundaries. Enforced by the compiler/build system. If it ain't explicitly exposed as a "public" API then you can't touch it outside of the package/module/library. Everything calling everything from everywhere and sharing db transactions and data access objects is what makes monoliths get out of control. You can absolutely do SoA within a monolith. That's where it started long before microservices. It shouldn't even need a name because it's just good software design, but the world is a messy place. Guinness fucked around with this message at 19:55 on Feb 23, 2023 |
# ? Feb 23, 2023 19:52 |
|
Hell, one of the common rails architectures is a SOA. I worked for one company that had a dozen year old Rails app that had every different kind of common rails architecture, all at once. SOA, MVP with this presenter lib, action-oriented, the pieces to a failed attempt to integrate graphql within rails. It was wild.
|
# ? Feb 23, 2023 20:02 |
|
kayakyakr posted:Hell, one of the common rails architectures is a SOA. http://mikehadlow.blogspot.com/2014/12/the-lava-layer-anti-pattern.html
|
# ? Feb 23, 2023 20:11 |
|
We're well past the point where "refactor" doesn't mean anything useful, right? At one point it just meant to change some variable names, which used to take some effort back in the stone age, but now it's a catchall for "don't expect any results".
|
# ? Feb 23, 2023 21:37 |
|
StumblyWumbly posted:We're well past the point where "refactor" doesn't mean anything useful, right? At one point it just meant to change some variable names, which used to take some effort back in the stone age, but now it's a catchall for "don't expect any results". It's supposed to mean "alter implementation with no effect to inputs or outputs". But yeah, basically no one actually does that.
|
# ? Feb 23, 2023 22:43 |
|
I always try to commit the refctoring changes separately from the functional changes, but who knows how often I actually succeed
|
# ? Feb 23, 2023 23:14 |
|
Guinness posted:Clear service interfaces and domain boundaries. Enforced by the compiler/build system. If it ain't explicitly exposed as a "public" API then you can't touch it outside of the package/module/library. This sounds like the Law of Demeter to me, which is one of the few named software design principles that I remember. I couldn't tell you how a red-black tree works, or what exactly dynamic programming or the facade pattern mean*, but I can remember this one! * the former is "use a cache", the second is "hide the nasty crap from your clients", IIRC, but you get what I mean.
|
# ? Feb 23, 2023 23:55 |
|
prom candy posted:Is it still microservices if you just spin a few things off the monolith? The problem with monolith is you're stuck with the one language and framework meaning you're often trying to fit a square peg in a round hole. generally no. that's just a service.
|
# ? Feb 24, 2023 18:51 |
|
I'm trying to figure out what I want to do with my career next. My last "real" job was working at a FAANG as an L5, but I burnt out there (dysfunctional project planning and a death march). Then I spent three and a half years making and self-publishing a videogame, which was fun and personally rewarding, but doesn't exactly pay well. Now I'm trying to figure out what to do next. I'm coming up on 40 years old, and have no dependents aside from my dog. Financially I'm not quite at FIRE levels of capital, plus it'd be nice to have a bit more disposable income. The way I see it, I have four obvious options: - Make another game. This time for sure! Financially, this option stinks of course. But making my own games is really fun... - Take on contracting work, and fill in the in-between time with working for myself. Since a regular income isn't critical, contracting could potentially be a way to pick up extra money without committing hard to working for someone else over the long term? - Work for someone else in games. I have a few contacts that I could lean on. - Go back to non-games industry work. If I'm gonna do this, I feel like I should do it soon; spending too much time outside the industry could be a problem. Any thoughts or advice?
|
# ? Mar 5, 2023 02:36 |
|
lol don't go into the games industry wtf. if you're doing your own thing sure but don't kill yourself for blizzard or whatever
|
# ? Mar 5, 2023 02:38 |
|
|
# ? May 27, 2024 13:51 |
|
imo work for a faang or a place that pays like one. if/when it sucks quit and make another game worrying about "committing" to a job is dumb. if you don't like it, quit. you don't even have to put it on your resume. you were "supporting your game" or something (obviously don't say this if you've abandoned it or whatever, but the point is you have cover for the gap). worst case is you can't work there again in the immediate future
|
# ? Mar 5, 2023 02:40 |