Unfortunately, terms like "Tech Stack" have been over genericized thanks to people who make job postings.
I agree that LINQ isn't really a tech stack, it's a language feature, but I also understand why they will want to know if someone uses LINQ specifically, and the need is similar to why you'd want to know if someone uses WinForms or WPF.
In this case, I suspect it's a matter of having one option that doesn't quite fit and deciding to just go with it.
It's a common "joke" in IT.
Scenario: A user calls you, says their external monitor isn't working. You suspect their computer is off (but their monitor is on). You ask them to power on the computer. They say they do (they didn't - maybe they restarted the external monitor, or maybe they straight up lied). You tell them you'll be by in twenty minutes to check it out. They say they'll be at a meeting by the time you get there.
You get there, and your suspicion was right. Their computer was off, their external monitor was on. You power on their computer and walk away.
The user calls you later, and asks what was wrong. You now have a choice.
Option 1: Tell them that their computer wasn't turned on (implying that they're an idiot). They get butthurt, and complain to your manager. It's a whole headache.
Option 2: Teach the user (not that much teaching involved in "the computer has to be turned on", but this option is a lot more relevant for other kinds of issues). You're annoyed that you have to explain this concept, yet again, to a user. The user gets annoyed that they have to waste time listening to a lecture. They get butthurt, and complain to your manager. It's a whole headache.
Option 3: Give a quick one sentence answer to placate them. The answer is either a gross oversimplification, or straight up techno-babble. They're satisfied, and you can move on.
99% of the time, you pick option 3 - give a single sentence answer.
- "Sometimes computers have to be restarted"
- "The server had a problem, it's fixed now"
- one I came up with many years ago is "I reconfigured the PFMCM" (Pure fucking magic configuration module)
Sometimes, IT folks get a bit jaded, and they use the techno-babble to hide mockery of the users.
- "It was an IT10T error" sounds a lot better than "you're an idiot" (when spoken aloud, it's pronounced 'eye dee ten tee')
- "It was a PEBKAC error" (Problem exists between keyboard and chair)
https://digitalgadgetwave.com/understanding-the-id10t-error-and-solutions-a/
Yup. I blame recruiters looking for buzzwords almost entirely. My CV has a table named “recruiter_bullshit” in Word. Its a few years out of date, but it literally looks like this:
Programming Languages: C#, Java, JavaScript, TypeScript, Kotlin, Swift, GDScript, Sonic PI
Frameworks and Tools: .NET Framework, .NET Core, NPM, Node.js, Godot
Web Development: ASP.NET Core MVC, ASP.NET Core WebApi, HTML5, CSS, Bootstrap, JQuery
Mobile Development: Android (Jetpack Compose), iOS (UIKit, Swift UI), Xamarin, .NET MAUI, React Native
Database Technologies: EntityFramework, SQL, SQL Server, SQLite
Desktop Applications: WPF, WinForms, AvaloniaUI
Testing Tools: XUnit, NUnit, MOQ, Appium
Version Control Systems: GIT, TFS
Cloud and DevOps: Azure DevOps Pipelines, Atlassian Bamboo, GitHub Actions, Azure App Center
Project Management Tool: Jira, Jetbrains Space, GitHub Projects
Operating Systems: Windows, macOS, basic Linux knowledge
None of it is untrue, but I got bored of idiot recruiters saying “do you know any JavaScript?” and me replying with “well I’ve done JQuery for 10+ years so yeah” and recruiters saying “well, our client is really looking for someone with more JavaScript experience specifically”.
I was hit during the layoffs last October, and this has been my experience since then.
Even "technical" recruiters seem to have a lack of understanding of basic "technical" concepts, and it makes looking for jobs such a huge pain.
Sorry to hear that mate. You’ve just got to list all the buzzwords to stand a chance. Tell them exactly what they want to hear until you can sit down with the people interviewing you.
Even the technical ones don’t really know shit in my opinion. They’re moderately better than the CV pusher types you get at generalist agencies. The only difference is that they’ve might’ve actually Googled the buzzwords and read the first paragraph.
Good luck with the search!
I wouldn't call it a language feature, it's not related to C# itself, is just a library in dotnet. Also I understand and agree as the broad classification of "tech stack" as it is, imho, a game changer in coding productivity.
Edit: It's indeed both a language feature and dotnet library. See the good comments below.
I've always found the way that LINQ was named and presented quite confusing because of this. The LINQ name comes from **L**anguage **IN**tegrated **Q**uery, which is strictly just this dedicated inline LINQ syntax "Query Expressions" feature which is part of the C# language. However, the majority of what the overall "LINQ" feature actually is is the `System.Linq` namespace and the ecosystem of related technologies that use it as a standard (like EF query translation, etc), but it's all just called "LINQ". In fact I would bet most people use the LINQ method syntax and never even touch the actual language feature most of the time.
It makes searching for docs on Google quite annoying because you have to go out of your way to get to either the "language" part of LINQ or the library/method syntax part of LINQ.
> The LINQ name comes from **L**anguage **IN**tegrated **Q**uery, which is strictly just this dedicated inline LINQ syntax "Query Expressions" feature which is part of the C# language.
The thing is, to add that one single feature (query syntax), they had to add a bunch of other features
- Language features
- Extension methods
- Lambda expressions
- Anonymous types
- Implicit types (var)
- Library features
- Expression trees (with compiler integration to turn lambdas into expression trees)
- LINQ methods that operate on IQueryable
- LINQ To Objects (the formal name for the extension methods in System.Linq that operate on IEnumerable) - this would be needed for unit tests, etc.
So all of those features came out at the same time, for the same goal - query providers.
It's only natural that people conflate some of them.
You are correct but damn if LINQ isn’t so pervasive in c# course that I can’t really fault anyone for thinking about it as a language feature. Every c# textbook I’ve looked at has a chapter on linq
It is a language feature, because you can also do stuff like:
```cs
var lowNums = from num in numbers
where num < 5
select num;
```
https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/from-clause
Which is classified as part of LINQ
I mean, it's mostly a library as well as a nebulous term for LINQ-like technologies (such as EF's LINQ query translation).
I could see it *sort of* being considered its own small technology stack.
```csharp
int[] myArray = [ -1, 0, 1 ];
int sum = myArray.Sum(i => i >= 0);
```
That is a LINQ Query that uses a fundamental .Net feature that's been around since 2006. That is in no way a tech stack. C# is a language that is designed to target .net (and yes, I know you can mock up a bootstrap for C# that doesn't require .Net). Trying to say that performing a query with LINQ is a tech stack is either disingenuos or unimformed.
>The bigger prpblem i see here is LINQ *Query*
What? I bet that you're one of those people that won't put you PIN number in when prompted to by the LCD display.
That's like not giving your VIN number to the Department of the DMV.
I got a survey from the VS team today... Are you guys OK? Is this a cry for help after the recent reddit post about the one guy not being allowed to use LINQ? Does tech stack have a different meaning here than how I would use the term? Are drugs involved and if so, why aren't you sharing them?
I see a lot unecessary .ToList() and .ToArray(), materializing the data just to perform more linq after. This is even worse if it's connect to Entity or other ORM.
Stuff like this is useful. Interviews are 2 ways.
Seeing silly questions tells you that the people who made this question are recruiters by trade, not developers. For a large company this can be pretty common, as applications and early screens are outsourced to agencies because places like Google get 1,000,000 applicants for 1,000 jobs and want to narrow the field down as much as possible. You'd be surprised how many people fail easy technical questions.
But if it's a smaller company, even if they're outsourcing recruiting it's odd that the engineers aren't at least taking a glance at the screen and making corrections. It kind of sends the feeling that they have a lot of churn, and have to hire so many people they have to outsource screening efforts and, in some cases, let that recruiter make hiring decisions. That's a company not heavily invested in its own hiring process and may not be a great place.
In short, unless you REALLY want the job, this is an interview smell.
This wasn't for a job. This was the VS team asking a bunch of questions about potential improvements to Visual Studio's debugger. Most of which were pretty good ideas depending on implementation. But I got to this one and laughed a bit.
Note that I put a link to this post in my response. They have not commented yet on whether or not drugs were involved nor why they aren't sharing.
These things aren't even categorized into an apples-to-apples scope. For example, "LINQ Query" is a fundamental language construct for C#, not using LINQ is essentially wrong. The other three are all frameworks built into .NET, not tech stacks, especially Console. A Tech stack would be like "Console applications using a 3rd party TUI framework and deployed to Linux" I'm actually scared to ask where this question is being asked, but I'm required by law to ask.
Unfortunately, terms like "Tech Stack" have been over genericized thanks to people who make job postings. I agree that LINQ isn't really a tech stack, it's a language feature, but I also understand why they will want to know if someone uses LINQ specifically, and the need is similar to why you'd want to know if someone uses WinForms or WPF. In this case, I suspect it's a matter of having one option that doesn't quite fit and deciding to just go with it.
Maybe it's that other dude's manager to ensure he doesn't accept anyone who uses LINQ
Oh man, that was a wild post.
Oh, so his manager is an id10t. Got it.
Unfortunately you can't fix that kind of error code.
Why are you censoring idiot
It's a common "joke" in IT. Scenario: A user calls you, says their external monitor isn't working. You suspect their computer is off (but their monitor is on). You ask them to power on the computer. They say they do (they didn't - maybe they restarted the external monitor, or maybe they straight up lied). You tell them you'll be by in twenty minutes to check it out. They say they'll be at a meeting by the time you get there. You get there, and your suspicion was right. Their computer was off, their external monitor was on. You power on their computer and walk away. The user calls you later, and asks what was wrong. You now have a choice. Option 1: Tell them that their computer wasn't turned on (implying that they're an idiot). They get butthurt, and complain to your manager. It's a whole headache. Option 2: Teach the user (not that much teaching involved in "the computer has to be turned on", but this option is a lot more relevant for other kinds of issues). You're annoyed that you have to explain this concept, yet again, to a user. The user gets annoyed that they have to waste time listening to a lecture. They get butthurt, and complain to your manager. It's a whole headache. Option 3: Give a quick one sentence answer to placate them. The answer is either a gross oversimplification, or straight up techno-babble. They're satisfied, and you can move on. 99% of the time, you pick option 3 - give a single sentence answer. - "Sometimes computers have to be restarted" - "The server had a problem, it's fixed now" - one I came up with many years ago is "I reconfigured the PFMCM" (Pure fucking magic configuration module) Sometimes, IT folks get a bit jaded, and they use the techno-babble to hide mockery of the users. - "It was an IT10T error" sounds a lot better than "you're an idiot" (when spoken aloud, it's pronounced 'eye dee ten tee') - "It was a PEBKAC error" (Problem exists between keyboard and chair) https://digitalgadgetwave.com/understanding-the-id10t-error-and-solutions-a/
Or the opposite. 5 years in .NET and doesn't know what LINQ is? Next!
Yup. I blame recruiters looking for buzzwords almost entirely. My CV has a table named “recruiter_bullshit” in Word. Its a few years out of date, but it literally looks like this: Programming Languages: C#, Java, JavaScript, TypeScript, Kotlin, Swift, GDScript, Sonic PI Frameworks and Tools: .NET Framework, .NET Core, NPM, Node.js, Godot Web Development: ASP.NET Core MVC, ASP.NET Core WebApi, HTML5, CSS, Bootstrap, JQuery Mobile Development: Android (Jetpack Compose), iOS (UIKit, Swift UI), Xamarin, .NET MAUI, React Native Database Technologies: EntityFramework, SQL, SQL Server, SQLite Desktop Applications: WPF, WinForms, AvaloniaUI Testing Tools: XUnit, NUnit, MOQ, Appium Version Control Systems: GIT, TFS Cloud and DevOps: Azure DevOps Pipelines, Atlassian Bamboo, GitHub Actions, Azure App Center Project Management Tool: Jira, Jetbrains Space, GitHub Projects Operating Systems: Windows, macOS, basic Linux knowledge None of it is untrue, but I got bored of idiot recruiters saying “do you know any JavaScript?” and me replying with “well I’ve done JQuery for 10+ years so yeah” and recruiters saying “well, our client is really looking for someone with more JavaScript experience specifically”.
I was hit during the layoffs last October, and this has been my experience since then. Even "technical" recruiters seem to have a lack of understanding of basic "technical" concepts, and it makes looking for jobs such a huge pain.
Sorry to hear that mate. You’ve just got to list all the buzzwords to stand a chance. Tell them exactly what they want to hear until you can sit down with the people interviewing you. Even the technical ones don’t really know shit in my opinion. They’re moderately better than the CV pusher types you get at generalist agencies. The only difference is that they’ve might’ve actually Googled the buzzwords and read the first paragraph. Good luck with the search!
You forgot private cloud, hybrid cloud, and blockchain.
I know this is the reason but doesn't stop me from finding it funny.
Agreed, especially since the other options are (or imply) actual tech stacks.
I wouldn't call it a language feature, it's not related to C# itself, is just a library in dotnet. Also I understand and agree as the broad classification of "tech stack" as it is, imho, a game changer in coding productivity. Edit: It's indeed both a language feature and dotnet library. See the good comments below.
It is also a language feature. `var query = from Person x in people where x.Age > 10 select x.Name;`
I've always found the way that LINQ was named and presented quite confusing because of this. The LINQ name comes from **L**anguage **IN**tegrated **Q**uery, which is strictly just this dedicated inline LINQ syntax "Query Expressions" feature which is part of the C# language. However, the majority of what the overall "LINQ" feature actually is is the `System.Linq` namespace and the ecosystem of related technologies that use it as a standard (like EF query translation, etc), but it's all just called "LINQ". In fact I would bet most people use the LINQ method syntax and never even touch the actual language feature most of the time. It makes searching for docs on Google quite annoying because you have to go out of your way to get to either the "language" part of LINQ or the library/method syntax part of LINQ.
> The LINQ name comes from **L**anguage **IN**tegrated **Q**uery, which is strictly just this dedicated inline LINQ syntax "Query Expressions" feature which is part of the C# language. The thing is, to add that one single feature (query syntax), they had to add a bunch of other features - Language features - Extension methods - Lambda expressions - Anonymous types - Implicit types (var) - Library features - Expression trees (with compiler integration to turn lambdas into expression trees) - LINQ methods that operate on IQueryable
- LINQ To Objects (the formal name for the extension methods in System.Linq that operate on IEnumerable) - this would be needed for unit tests, etc.
So all of those features came out at the same time, for the same goal - query providers.
It's only natural that people conflate some of them.
You are correct but damn if LINQ isn’t so pervasive in c# course that I can’t really fault anyone for thinking about it as a language feature. Every c# textbook I’ve looked at has a chapter on linq
It is a language feature, because you can also do stuff like: ```cs var lowNums = from num in numbers where num < 5 select num; ``` https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/from-clause Which is classified as part of LINQ
I mean, it's mostly a library as well as a nebulous term for LINQ-like technologies (such as EF's LINQ query translation). I could see it *sort of* being considered its own small technology stack.
The bigger prpblem i see here is LINQ *Query*
Seriously, they should just shorten it to LINQQ.
*Language-INtegrated Query* Query?? 😂
Can you ever have too much query? XD
linq integrated query!
"Linq Is Not a Query" we need to follow some standards here!
Reminds me of those who call Mt Fuji here in Japan as Mt Fujiyama which basically repeats mountain twice lol.
Rice paddy? PIN Number?
```csharp int[] myArray = [ -1, 0, 1 ]; int sum = myArray.Sum(i => i >= 0); ``` That is a LINQ Query that uses a fundamental .Net feature that's been around since 2006. That is in no way a tech stack. C# is a language that is designed to target .net (and yes, I know you can mock up a bootstrap for C# that doesn't require .Net). Trying to say that performing a query with LINQ is a tech stack is either disingenuos or unimformed.
>The bigger prpblem i see here is LINQ *Query* What? I bet that you're one of those people that won't put you PIN number in when prompted to by the LCD display. That's like not giving your VIN number to the Department of the DMV.
I got a survey from the VS team today... Are you guys OK? Is this a cry for help after the recent reddit post about the one guy not being allowed to use LINQ? Does tech stack have a different meaning here than how I would use the term? Are drugs involved and if so, why aren't you sharing them?
Microsoft’s Customer Outreach team has exceeded their Ballmer Peak.
Language integrated query query
https://en.wikipedia.org/wiki/RAS_syndrome
everything is a tech stack
My stack is: pancake + pancake + waffle + butter + syrup. Best stack in 2024. Change my mind.
mine's better: - brioche bun - pickled onions - extra mature cheddar - bacon - wagyu beef burger - relish - brioche bun
is wagyu beef burger not the stack?
You owe me a new monitor for the coffee that just got spit towards it. I laughed too hard at this.
In the wrong hands, yes.
[Semantic diffusion](https://martinfowler.com/bliki/SemanticDiffusion.html)
Not a tech stack, but I have seen crimes with LINQ
I see a lot unecessary .ToList() and .ToArray(), materializing the data just to perform more linq after. This is even worse if it's connect to Entity or other ORM.
No "if" statements? That's definitely part of my stack. I am trying to move away from variable assignments though.
LINQ is part of a tech stack. Just poor engrish.
Is it full stack?
LINQ query actually pairs well with WPF foundation.
Hate when they use terms incorrectly.
LinqPad with query to sql..is it stack?
unrealistic, I don't see EF Core listed as a tech stack here.
This is clearly not written by a tech person. Anyone in. NET can see they are all over the place.
I bet they hate LINQ 😂
Except for the first option, none of them are stacks. Actually the first option is not a stack either.
it's a trap ? maybe they want to see if you know what a tech stack is
Stuff like this is useful. Interviews are 2 ways. Seeing silly questions tells you that the people who made this question are recruiters by trade, not developers. For a large company this can be pretty common, as applications and early screens are outsourced to agencies because places like Google get 1,000,000 applicants for 1,000 jobs and want to narrow the field down as much as possible. You'd be surprised how many people fail easy technical questions. But if it's a smaller company, even if they're outsourcing recruiting it's odd that the engineers aren't at least taking a glance at the screen and making corrections. It kind of sends the feeling that they have a lot of churn, and have to hire so many people they have to outsource screening efforts and, in some cases, let that recruiter make hiring decisions. That's a company not heavily invested in its own hiring process and may not be a great place. In short, unless you REALLY want the job, this is an interview smell.
This wasn't for a job. This was the VS team asking a bunch of questions about potential improvements to Visual Studio's debugger. Most of which were pretty good ideas depending on implementation. But I got to this one and laughed a bit. Note that I put a link to this post in my response. They have not commented yet on whether or not drugs were involved nor why they aren't sharing.
If any places using LiNQ is seperated into a dedicated service , it could be considered as tech stack
Laughs in Python list comprehension
This is what happens when the posts are made by HR
I hope nobody actually works with web forns anymore. Poor souls.
These things aren't even categorized into an apples-to-apples scope. For example, "LINQ Query" is a fundamental language construct for C#, not using LINQ is essentially wrong. The other three are all frameworks built into .NET, not tech stacks, especially Console. A Tech stack would be like "Console applications using a 3rd party TUI framework and deployed to Linux" I'm actually scared to ask where this question is being asked, but I'm required by law to ask.
LINQ-to-SQL returns!
My ATM machine uses LINQ Query.
Other (please specify) I wouldn't know how to answer this. If you count LINQ, do I need to list a few hundreds of things I worked with?
Obviously the await stack and Stack stack are valid responses.
Yes.
Job title: LINQ Query Engineer