That's why in Canada virtually everyone is a "Software Developer". Same job across in the state you'll be called an "engineer".
Elderos
For-profit healthcare.
It is funny because it is the opposite actually. Former senates and presidents actually clashed over foreign policies, it is only in recent times that presidents were more or less left to decide. So, I guess there is a bit of projection going on here.
Congress has the power to declare war. The president being commander-in-chief does not mean he can do whatever he please with the U.S army as its own personal force. The president is meant to follow the constitution, even as commander. If the president ignores treaties and war declarations, I would argue the president is the one violating the separation of powers, and not congress by hypothetically enforcing the powers given to them by the constitution. By this logic, whoever controller the army should have absolute power, being commander-in-chief and all. I like how you slipped past my initial post by completely ignoring that the constitution grants congress influence over foreign policies by citing the president control over the armed forces as this unalienable right. Why have treaties then? Why have declaration of war? I think you might be slightly biased in your argument. The president was never the sole responsible for foreign policies, even though the executive branch had a lot of influence over those in recent times.
Article II section 2 of the constitution requires approval from the senate to ratify treaties, which is then up to the president to ratify and implement. Both branches of the government are supposed to work together to establish foreign policies, this is part of the check and balances. If you have sources interpreting article II section 2 differently I'd be curious to see.
You would think all those AAA devs would know by now that voicing that kind of stuff publicly is shit PR. Strangely enough sometime the indies appear to be the professional one.
That being said, I read the 5 Tweets, which I doubt many here did, and it is really not that bad. It is probably in response to some reviewers calling the game thrash with made-up fanfiction how game development goes. I think it is the later he has an issue with. Not that some players dislike the game.
Calling out your customers is always a losing bet. But he's absolutely right in its rant. Anyone who worked professionally in a game studio understand that the very vast majority of gamers are clueless, and especially those who speak with authority on YouTube and big platforms. Listening to such bs takes and misinformation over time certainly has its toll. "Gamers" in general, or should I say vocal gamers, are a very annoying and whiny bunch to please. You can hate playing a game all you want, but some gamers take it too far by attacking the devs directly and making it personal on top of making up bullshit about the nature of the job. "Gamedev is hard" is a terrible response to tell your userbase, but if more people understood how fucking true it is maybe they'd have a bit more empathy and would realize how petty some of the complaints.are in the bigger scheme of things.
Whatever social economic model which can funnel power and authority to the very top is bond to ruin us. Humans are too greedy to sit at the top of such hierarchies.
There is a nuance though, because a language simply being interpreted does not mean it is being used as a scripting language. Take for example Java and C#, those languages are interpreted by default which allow you to ship platform-agnostic binaries and a bunch of other neat features. C# can be used as a scripting language, whenever it is interpreted, but it does not have too. It is an important nuance and this is why you can't just replace the term "scripting language" entirely. You can also compile C# directly into machine code, skipping the interpreter entirely. Technically, there is nothing stopping you from writing an application that use C# as a scripting language even without the interpreter, since you can compile c# to machine code and simply dynamically load the library at runtime (kind of like Unity does). I guess you could call those "embedded languages", and it would mean almost exactly the same thing, but then, aren't we back to the same problem of some developers taking offence from that? I mean, it does imply that the language does not stand on its own without machine code just as well, which is true. This is one weird hill to have a bruised ego over for those developers you've met. Words have meaning and this one just happen to be a right fit given the description. I have a feeling from this whole exchange that you didn't know what scripting languages were, considering how you replied to my first post. I worked in development for over a decade and I have never seen it be used with negative implications. I really just think you personally projected your own feeling onto a term you didn't understand. No offence intended, it happens.
There are definitely people out there shitting on all sort of languages, and JS is a huge target, but those have been referred to as scripting language for as long as they existed. It stern from the fact those languages are embedded into existing applications, as opposed to being built into binaries. Nowadays you have hybrids like C# which can used as either a scripting language or to build native app (or in-betwee), so it is really just a matter of the context you're using the language in. There is inherently no hidden meaning or elitism in the term. It is a very old term and I think you simply got the wrong impression from your internet experiences. It is how those languages are defined basically everywhere. Even some of those languages official definition from their own website self-define as scripting languages. There is no ambiguity here at all.
I wanted to get back to you, because you are so very right, and I spent the last 10 years or so trying to evangelize the fact that implementing algorithm and logic isn't the hard part, it is a trivial concern really. Everything that go wrong with development usually involve the flow of data, and figuring out how to get this data from over here to over there without making a big mess. To do that, you absolutely need to write small module with few dependencies. You gotta think about the life-cycle of your objects, and generally follow all the principles of s.o.l.i.d if you're doing OOP. Personally, I really love using dependency injection when the project allows for it.
It is as you said really, you can have thousands of hours of programming experience but if you never tried to solve those issues you're really limiting yourself. Some devs think designing software around your data instead of your algorithms is overthinking it, or "overengineering" as I have been told. Well, I would not hire those people for sure.
I have seen clean project made up of small modules, with clear boundaries between data, functions and the lifecycle configurations. It is night and day compared to most code bases. It is really striking just how much of the hidden, and not-so-hidden complexity and goo and hacks and big-ass functions in most code base really just exist because the application life cycle management is often non-existent. In a "proper" code base, you shouldn't have to wonder how to fetch a dependency, or if an object is initialized and valid, and where to instantiate your module, or even what constructor to invoke to build a new object. This take care of so much useless code it is insane.
To close on this, I like scripting languages a lot as well, and you can do great things with some of them even if lot of developers don't. JS has Typescript, ReactiveX, dependency injection framework, and etc. It is a great language with a lot of possibility, and you're not forced into OOP which I think is great (OOP and functional programming are orthogonal solutions imo). But the reality is that the language is really easy to misuse and you can definitely learn bad traits from it. Same as you, I would be wary of a developer with no experience with strongly-typed languages, or at the very least TS. I am very happy to hear this take randomly on the internet, because in my experience, this is not how most developers operate, and imo it is demonstrably wrong to not design applications around your data.
I freaking love you and I'll try to write a worthy reply when I am home.
We did something similar with our APIs. It broke every conventions and expectations of the product and the language, and of course didn't follow any logical good practices. Man did the boss love to tell me users had to read the doc anyway so we might just as well do whatever. Then later on when issues arose and I suggested making better APIs I was hit by some dull remark about how we shouldn't violate the principle of least-surprise by going a different direction. Bitch are you kidding me? You broke that very principe in the first place by making grotesquely alien APIs.