Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Pollyanna
Mar 5, 2005

Milk's on them.


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.

Adbot
ADBOT LOVES YOU

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


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.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

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?

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


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.

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
sounds like a figure-out-if-theyre-an-rear end in a top hat interview, not one with significant domain content then

prom candy
Dec 16, 2005

Only I may dance

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

what's your superior alternative? I see you saying Typescript but where's the batteries?

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.

And throw it all away once you're making real money on the app.


I'm settling on either remix or sveltekit as the frontend and data aggregator, backed by private microservices that do all the real work. Go for the micros? Or node if you don't feel like picking up golang.

It's too late, the business case for replacing our monolith is nonexistent, other than I personally would find it fun.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


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.

kayakyakr
Feb 16, 2004

Kayak is true

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.

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
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

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
jp morgans thing is basically a copy of it in python but with buttfuck insane other decisions

https://calpaterson.com/bank-python.html

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


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

Guinness
Sep 15, 2004

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

prom candy
Dec 16, 2005

Only I may dance

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.

Achmed Jones
Oct 16, 2004



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

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe
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".

Paolomania
Apr 26, 2006

This abstraction speaks wisdom.

Achmed Jones
Oct 16, 2004



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.

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".

:hmmyes: except that i've seen management actually approve this sort of thing. that doesnt make it less of a mistake though

luchadornado
Oct 7, 2004

A boombox is not a toy!

Strangler fig is the way.

Roadie
Jun 30, 2013
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.

Mega Comrade
Apr 22, 2004

Listen buddy, we all got problems!
My last job we tried microservices. I still don't really know if they suck or if we just hosed it up.

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
If your org has fewer than 5000 developers, it's because you tried applying the wrong tool for the job.

prom candy
Dec 16, 2005

Only I may dance
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.

Hadlock
Nov 9, 2004

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".

Ensign Expendable
Nov 11, 2008

Lager beer is proof that god loves us
Pillbug
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.

kayakyakr
Feb 16, 2004

Kayak is true

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.

prom candy
Dec 16, 2005

Only I may dance

kayakyakr posted:

Or inside the monolith, tbh. I like a good service-organized monolith if you can pull it off.

How does that work?

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe
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.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

prom candy posted:

How does that work?

Service Oriented Architecture predates Microservices.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


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.

Guinness
Sep 15, 2004

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

kayakyakr
Feb 16, 2004

Kayak is true
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.

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost

kayakyakr posted:

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.

http://mikehadlow.blogspot.com/2014/12/the-lava-layer-anti-pattern.html

StumblyWumbly
Sep 12, 2007

Batmanticore!
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".

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

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.

CPColin
Sep 9, 2003

Big ol' smile.
I always try to commit the refctoring changes separately from the functional changes, but who knows how often I actually succeed

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

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.

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.

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.

Achmed Jones
Oct 16, 2004



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.

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe
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! :v: 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?

Achmed Jones
Oct 16, 2004



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

Adbot
ADBOT LOVES YOU

Achmed Jones
Oct 16, 2004



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

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply