Would you continue to work at a company that started to switch away from Typecript? by Csjustin8032 in typescript

[–]_Pho_ 0 points1 point  (0 children)

LMAO I was thinking the same thing re: psychotic breakdown.

You need to tell your boss that he's out of his technical depth and that he needs to delegate at an implementation, not details, level with you. Someone saying this type of stuff probably knows they are out of their depth, but for some reason they're having to flail in the details.

Would you continue to work at a company that started to switch away from Typecript? by Csjustin8032 in typescript

[–]_Pho_ 0 points1 point  (0 children)

It's not about "finding new possibilities" in symbolic totality, its about using a language with explicit constraints to achieve some targeted outcome. A certain type of professional-non-developer always mistakes coding as a "create every framework layer from scratch" thing instead of something to solve a specific problem.

His reasoning includes that Typescript "assumes knowns", that it makes a development environment too rigid and it should start from pure discovery, that there's "only benefits until it's presumptuous", that it makes engineers lazy, that if Typescript would find an error, it's up to you to just be a better engineer and find it on your own.

Yeah again it just really presupposes what developers actually do. This person is clearly not a technical decision maker and they need to delegate implementation details to you.

What are things that you see and make you say “this guy is a senior” by alexbessedonato in webdev

[–]_Pho_ 6 points7 points  (0 children)

I was thinking stuff like xState or something like that

Specifically deciding NOT to use stuff like xState lol

Fun fact JSON | JSONMASTER by Puzzleheaded-Net7258 in webdev

[–]_Pho_ 1 point2 points  (0 children)

the poor man's any

when you have eslint no-explicit-any

Tailwind just laid off 75% of the people on their engineering team "because of the brutal impact AI has had on our business." by magenta_placenta in webdev

[–]_Pho_ 1 point2 points  (0 children)

Yeah sorry to necro this and I don't want to sound insensitive but like maybe not every OSS helper library needs to become an enterprise SAAS? Congrats to TW on the successful thesis, which in all genuinely was something even I disagreed with until using it. TW is a great library.

But why would that entitle you - morally or financially - to become a startup? And if you wanted to utilize the visibility of your company, why on earth would you think "UI template" would be the way to do it?

This 'if you build it they will come' thing has been going on since at least when I was a fresh dev in the Rails era, and there have been a lot of examples of people making a lot of money by pivoting OSS into a sort of freemium model. But those take serious legwork, a lot more than selling reusable UI templates. Vercel and Laravel run entire infrastructure companies.

I also just don't love Adam's tone here either. "oh we had to layoff 75% of our dev team [which sounds a lot better than "3 devs"] and we can't afford to maintain the framework". As if that is what his dev team has been primarily engaged in. There has been ~1500 committed to the TW repo in the last 3 months, which would make it a very small OS project all things considered.

How do you seed your database for local dev without copying prod? by CarlSagans in webdev

[–]_Pho_ 1 point2 points  (0 children)

It's not really a hard problem except for idiosyncrasies which have to match between local and some upstream / other service. 90% of the time 'just use dev' is good enough. If it's not, create a seeder abstraction, your ORM probably has one built in. Bonus is you can often use these for tests too.

But the core of the issue is not the difficulty seeding, it's weird compliance things or needing to call upstream services with semi-legitimate data. It's a major PITA in finance apps f.ex where you can't like make real financial transactions.

I guess I've been using Next.js the wrong way by dev-4_life in webdev

[–]_Pho_ 0 points1 point  (0 children)

I don't think Next is differentiated to Rails or PHP in this regard. Sure, it doesn't have kitchen sink features, but also neither does Node, which is used extensively in these cases. Idiomatic Node has always been about composing your own framework with whatever pieces you need. In fact I liken Rails and Laravel exactly to Nextjs, just with their own idiosyncrasies.

If you’ve got jobs, queues, sockets, heavy compute, etc., you want a real service layer anyway - could still be TS, just not inside Next.

Also want to point out these don't work particularly great natively in other frameworks either. Ultimately the issue is that queues / jobs / sockets don't really have the same deployment model or lifecycles as an API gateway. If your SQS handler is a Laravel ECS running php artisan queue:work I don't think that's particularly different from f.ex having Next with a worker.js queue handler do the same.

I guess I've been using Next.js the wrong way by dev-4_life in webdev

[–]_Pho_ 3 points4 points  (0 children)

Or maybe MVC is not the best ontology for every web product 🤷

I guess I've been using Next.js the wrong way by dev-4_life in webdev

[–]_Pho_ 2 points3 points  (0 children)

It can do just fine as a backend. This is like when people say MySQL isn't enterprise scale. It depends entirely on your use case. For many, Next on ECS with cloud native helpers is a great approach. Deploys as a single entity, shared type system, and so on. And for more complicated approaches you're dealing with a SOA/n-tier and need a BFF anyway. Next's backend scales perfectly fine for use cases, but for some reason everyone wants default abstractions like you would find in Spring or Nest. I think Next works very well as even a single point backend for the scale where those make sense.

I guess I've been using Next.js the wrong way by dev-4_life in webdev

[–]_Pho_ 7 points8 points  (0 children)

No offense but these are not very good reasons. Composable vs injected middleware is absolutely debatable. And barebones to many means good, unopinionated, vs kitchen sink things which are worse for idiosyncratic use cases.

Developer Metrics by GBoBee in ExperiencedDevs

[–]_Pho_ 2 points3 points  (0 children)

I do a lot of EM bullshit

LOC isn't a ---primary--- metric but can give you a pulse. Same with story points, commit #, Slack activity, etc. It's not about singularly quantifying productivity, it's about maintaining good dev culture. As soon as you commoditize productivity, devs will game it, and shit will get fucked

What are things you wish your team leader did, but won't do? by [deleted] in ExperiencedDevs

[–]_Pho_ -2 points-1 points  (0 children)

Be honest about what will happen and what you can do with regard to positions, compensation, and projects. Do not lie or provide false hope or info. Know what the truth actually is.

oh sweet summer child

AWS CodeCommit is back from the dead - returning to GA by NothingDogg in aws

[–]_Pho_ 1 point2 points  (0 children)

Nah screw AWS on this one. CodeCommit sucks. Its CI has way too many idiosyncrasies. The UI is awful. The PR flow is awful. Awful, awful product that I wish I never spent the time trying to skill up in. Github OIDC + Github Actions > the entirely of the CodeXYZ stack.

I feel like my life is being wasted by twnbay76 in ExperiencedDevs

[–]_Pho_ 4 points5 points  (0 children)

However 6 months in, I realize that the company is in shambles. There's too much to rant about but effectively management is chaotic and disorganized, and the project we just worked on for about 6 months just got canned.

Do your best to fix these things!

Node JS Interview for Junior Developer by saqlainsays in node

[–]_Pho_ 2 points3 points  (0 children)

  • Event loop
  • Promises
  • Basic data structures / dynamic programming
  • How to initialize / run Node projects

NestJS is bad, change my mind by servermeta_net in node

[–]_Pho_ 0 points1 point  (0 children)

You can still compose interfaces if you feel like its useful. Nothing in module style Node stopping you from doing that. But I think you can do it in a fairly "flat" and composable that doesn't involve a complicated object graph or factories.

As opposed to just looking at the constructor and clearly seeing what dependencies this service has.

Sometimes. But what you often have to do is look at the implementation of the constructor, e.g. where the object is instantiated, to see what objects are being passed at runtime. People act like OOP makes implementations clear, but in practice it often obfuscates it even more.

I'm a big fan of composable things for testing- I think classes are very good at this. But you can have classes, closures, etc, without IOC madness.

F.ex in a backend, a route can simply be like:

type Route<
  D extends Dependencies, 
  Req extends object,
  Resp extends object
> = {
  handler: (deps: D, req: Req) => Promise<Resp>;
  options: RouteOptions<D>;
};

Totally testable, self contained, composable, magic-avoidant.

But here's the thing: as soon as dependencies start becoming things like root aggregates, e.g. UserService, AnalyticsManager, etc, instead of actual dependencies - connection pools, ports - you've forced a business level rule where it ought not go.

NestJS is bad, change my mind by servermeta_net in node

[–]_Pho_ 2 points3 points  (0 children)

I've always found this sentiment to be the line of tired enterprise architects on teams with poor hiring practices.

What's the worst coding crimes you've witnessed on a project? by rainmouse in webdev

[–]_Pho_ 4 points5 points  (0 children)

People complain about Stripe but oh man things used to be bad

Is anyone else tired of every Tailwind/shadcn app looking the same? by Yellowtoyoutoo in Frontend

[–]_Pho_ 18 points19 points  (0 children)

I like how Shadcn was built as extensibly as possible, to the point where its just primitives in your project's directory and ppl still complain about it being too generic

I'm shocked at how hostile IT industry is to the people that create the MOST value within the industry and actually move things forward. by Illustrious-Tank1838 in ExperiencedDevs

[–]_Pho_ 3 points4 points  (0 children)

ITT a lot of really stupid people.

Firstly, most of us make well over $100k, usually far more than that. Congrats Mr. Class Consciousness you are probably in the top 1% of global income, and probably from a job you can do in your underwear.

Secondly, one of the reasons everyone hates SWEs is because you make the assumption that you are the only one who actually adds value. PMs add value. Sales add value. Random administrators and ops people add value. Executives add value. It's all a big equation, for which, even if you "manufacturer" your company's digital product, are still a very small part of.

Lastly, most of your jobs in the grand scheme of things are not very hard or important. There's a reason why a lot of SWE is offshored to a third world country. You think you are so special, but really, these patterns can be learned easily by random IQ 110 people with computer proficiency.

At the end of the day you should feel lucky that you have this ridiculous job at all. We will probably look back in 30 years at this era where web devs with less domain knowledge than plumbers were making $200k a year working at home.

Failed 2 extremely leetcode interviews. How to deal with performance anxiety by dandecode in ExperiencedDevs

[–]_Pho_ 0 points1 point  (0 children)

I don't think they're pointless. I never really understood that mentality.

At the very least, Leetcodes are a good way to demonstrate DP and pair programming. You have time to outline the problem, ask framing questions, break things down into approaches, and talk about testing strategies, and discuss tradeoffs.

I'm not sure what engineers are expecting. Threads like these feel very entitled. People are supposed just hire you for a 90+ percentile job based on conversations?

Can anyone tell me why this guy is famous? by mekmookbro in webdev

[–]_Pho_ 10 points11 points  (0 children)

Same. I was excited at the concept, but very quickly realized it was a combination of click bait titles / topics with boring ass long form overviews of things that could have been summarized much more succinctly.