7 ms·
Is the anti windows/.NET bias really that common? I have been a .NET dev for 6 years because that was my job. But I don`t believe that makes me useless on any o
by pingec 11y ago
Is the anti windows/.NET bias really that common? I have been a .NET dev for 6 years because that was my job. But I don`t believe that makes me useless on any other stack. In fact lately I desire to work on something that feels exciting and fresh again but sometimes I feel like .NET devs are looked down upon and it`s not so easy to land a job or contract outside .Net land.
- dkopi 11y agoI wouldn't say it's an "Anti .NET" bias, as much as it's an "anti too many years in the same exact thing" bias. 1. Choose a different language for your next side project. 2. Step in the door with C#, try to help out on projects or change positions inside the company. 3. Attend hackathons, contribute to opensource projects. A good programmer can quickly feel comfortable in any programming language. Recruiters feel more comfortable when you can actually show proof of that.
- UK-AL 11y agoChanging stack usually involves a decrease in salary.
- dkopi 11y agoOptimizing for the short term may not give the best results in the long term.
- UK-AL 11y agoI would say most companies pay more for specialists, then someone who knows a little bit about everything. I personally know many languages a little bit, but I find writing my CV to target a specific stack results in a better responsive.
- pingec 11y agoI have side projects in JS and TS (Node.js), Python, C (~500 loc projects). Mostly I care about solving a specific problem. Learning a new stack just so I can put it on my resume would require time I don`t have :(.
- anton_gogolev 11y ago> "anti too many years in the same exact thing" As an opposite to what, exactly? > A good programmer can quickly feel comfortable in any programming language. This is not true. It takes a not-insignificant amount of time to just learn to write idiomatic code, let alone making oneself familiar with all the quirks and idiosyncrasies of libraries and frameworks.
- Jach 11y agoAdditionally if it's your first exposure to a non-Algol language, you're going to have a hard time... you definitely won't feel comfortable quickly. But at least going from, say, Java to Python, you can quickly feel fairly comfortable writing Python code just like you would Java! (Your coworkers who understand "Pythonic" might hate you though.)
- bitwize 11y agoIf you don't have 3-5 years experience in language/framework X, no jobs in language/framework X will be forthcoming. People hire based on what you know, not your ability to learn. A new hire who can "hit the ground running" is an asset; one who can't is a liability.
- chucksmash 11y agoThis varies from place to place. My first company (as a non-programmer) was very much like this. It was very corporate and they weren't willing to take a risk on cross training a hobbyist without the requisite boxes checked on a resume. It was frustrating but I also understand the CYA logic behind it. There's someone willing to take a risk on you somewhere for some amount of money. Having a github with noob code in the language you are trying to get hired for helps. If you are just starting out, being able to show you want it bad enough to learn it off the clock is a strong signal vs "I'll start learning it if you start paying me" (which is...also a signal).
- jghn 11y agoid rather the person who will be overall better once they ramp up instead of worrying about hitting the ground running.
- ljw1001 11y agoI don't mean to be hurtful, but you sound like you've exactly the same biases the original post is about, and you're rationalizing. Seriously, not all good hackers fit any cookie-cutter definition of a hacker.
- romanovcode 11y ago"fresh and exciting". Do you know about .NET core? It's pretty fresh, open-source and it runs on all platforms.
- pingec 11y agoI meant fresh and exciting as in content/product, not the tech.
- staticelf 11y agoI think why .NET is looked down upon is because many have severe lack of experience with .NET. I too have made assumptions of .NET because of my experience was only webforms in a small course at my university. Ironically, I have recently started using .NET MVC for my projects since I think it's really great. It beats many alternative MVC-frameworks in my opinion.
- UK-AL 11y agoIt's simple ignorance. People think .NET = old, not innovative, corporate In reality its a fast moving stack, that's constantly innovating.
- vetinari 11y agoIt's not a simple ignorance. The wast majority of people, who claim .NET experience can launch Visual Studio, then some wizards to generate skeleton of the app and then fill something to have a CRUD "solution". They spoil it for the folks, who are truly experienced. The claims in the CVs are so maximized (Dunning-Kruger at the extreme), that it's simpler to just ignore .NET experience.
- UK-AL 11y ago"The wast majority of people, who claim .NET experience can launch Visual Studio, then some wizards to generate skeleton of the app" - This is the ignorance. There are people who are pretty bad on other stacks as well. I know many competent .NET developers. And many terrible PHP developers. On average the average .NET developer is more skilled then your average Python developer. This has about as much substance as your claim.
- bitwize 11y agoHow many Ruby on Rails Rockstars and Node.js Ninjas really, truly know computer science? My guess is "way fewer than is touted".
- marcus_holmes 11y agoI think most startups I've seen are using some form of POSIX back end. I've been advising corporate techs with only .NET experience to start learning some bash at least. I moved from commercial .NET coding to startup-land a few years ago, and there's definitely a learning curve. I had to ditch Windows on my personal PC and start using Linux at home to really get the hang of it. YMMV.
- staticelf 11y agoFunny to read, because I have the reverse experience. I have for long been using Linux and classic open source tooling for my work and am now moving to use Windows and .NET. I have immense issues understanding the platform and how everything work. For example, scheduling jobs is something I still don't fully understand.
- marcus_holmes 11y agoWelcome to DLL Hell ;) The thing I didn't get (and still don't fully appreciate) is the power of bash - you can write almost-serious code in this! And some of the standard CLI utilities (stand up awk) are like pocket universes of depth and complexity. Windows probably has a lot of the same stuff, I hear good things about PowerScript, but it's not so standard to use it as a code monkey. I miss Visual Studio sometimes. The mess of terminal windows and text editors that I code in now is frustrating at times.
- UK-AL 11y agoPowershell, not powerscript.
- marcus_holmes 11y agoI stand corrected. Thanks :)
- staticelf 11y agoI haven't had any reason to touch a DLL file yet. However, I still use the terminal by using ConEMU with Git Bash to get git in the terminal because I don't know how else to do it. But you mention bash and awk, I have never in my years of experience really used these tools a lot either. Maybe some small bash-script to backup or something similar, but nothing else really. You don't have to use it and most of the times it's easier to write a python script or what not. I haven't really bothered to learn any PowerShell except "Update-Database" in the Package Manager Console.
- jasode 11y ago>Is the anti windows/.NET bias really that common? ... I feel like .NET devs are looked down upon I don't have evidence of a wide random sampling of "trendy" employers but based on anecdotes[1][2], I think it is. Many trendy companies (a.k.a. "hot startups") overwhelmingly favor a Linux + open source stack. If the hiring managers at these companies see a resume with just ".NET/Winforms/WPF/ASP.NET", they perceive a negative signal. Yes, writing a loop to display a list in ASP.NET should be Turing equivalent to writing a loop in Node.js/Golang but people don't think purely on equivalences of computer science concepts. They also think about "culture" and a resume that's exclusively ".NET" looks "corporate" and "enterprisey" instead of "cutting edge" and "hip". My advice to potential job seekers who only have "MS .NET platform" as a skill: start a github profile with projects using Linux/Node/Golang/etc to help counteract the adverse cultural selection bias. [1]https://blog.expensify.com/2011/03/25/ceo-friday-why-we-dont-hire-net-programmers/ https://blog.expensify.com/2011/03/25/ceo-friday-why-we-dont... [2]"And the .NET developers are mostly enterprise folks who don’t like working in rough-and-tumble startup world. Remember, I worked at Visual Studio magazine and had a front-row seat." from http://scobleizer.com/myspaces-death-spiral-due-to-bets-on-los-angeles-and-microsoft/ http://scobleizer.com/myspaces-death-spiral-due-to-bets-on-l...
- rtpg 11y agoIt's not just cultural. Writing idiomatic C# does not mean you'll write idiomatic Javascript. Nor does it mean you'll write idiomatic Python. Being in the .NET ecosystem exclusively can also mean a reliance on IDEs and .NET-specific tooling to be productive (or things like Eclipse refactoring for Java). And there's the simple fact that there are a lot of qualified candidates who do more than just .NET/just Java. Polyglot programmers are more likely to be flexible and be in the right environment. Of course people can be good enough, but it's not just about the looks. Things happen differently depending on the tooling. Now, the extended part of this discussion is that maybe it's fine, and companies should be able to onboard people into a technology. Because, hey, it's just programming right? But that could mean looking at a multi-month training session until you're looking at someone as productive as the guy who's familiar with the tech already. Not all experience in programming is equivalent. An aside: I feel like this discussion usually has a lot of "web programming is easy" undertones (it hasn't been explicit but we all know what "trendy" means). But I don't think there would be as much of this discussion if it were something like "web-only developer applies to work on embedded systems with basically no C experience".
- mrweasel 11y agoI think that depends on where you live really. In the area I'm in being a .NET developer is clearly an advantage. One reason I, and others like me have looked down on .NET developers, is that a large number of them aren't any good. I've meet brilliant .NET developer, some of the most talented developers I know are .NET developers, but the crappiest developers I know are .NET developers as well. Some developers are completely ignorant in respect to computers, the Internet, algorithms and new technology in general, and they are almost exclusively working on Windows and by extension .NET. These are developers that can make code work, but take Visual Studio away from them and they cease to be developers. It's by no means fair, because as I said, some of the best developers I know are .NET developers. It's just that I've never see anyone working on Linux/Unix be completely ignorant other languages, tools and platforms.
- s_kilk 11y ago> These are developers that can make code work, but take Visual Studio away from them and they cease to be developers. Ha, during my brief stint at a windows-shop after graduating, I did meet a few who couldn't get their heads around the concept of having a build happen without someone clicking a green triangle button in VS.
- UK-AL 11y agoConsidering the .NET stack has a heavy bias towards CI, that's hard to believe.
- s_kilk 11y agoIt probably varies by geography, but the .Net scene I was in really didn't have a bias toward CI at all (or testing, or almost any decent development practices). I wont argue about it, our experiences differ, and that's cool :)
- dan_b 11y agoYou'd be surprised. There's a lot of shops out there who have never heard of CI/CD/Automated Tests/etc.
- zamalek 11y agoI struggle to understand, from a practical standpoint, where it comes from. The performance of ASP.Net is becoming outright ludicrous[1]. I've personally rewritten a lot of C++/CLR to C# and we've seen performance gains over 20% each time. C# is a language that hasn't gone stagnant, regular iterations on the language are made to meet real-world demands. Now that the OS is no longer an issue, why isn't C# seeing more startup usage? Just look what StackOverflow does with it.[2] Startups shouldn't be judging developers for knowing it, they should be looking at it themselves. [1]: http://www.ageofascent.com/asp-net-core-exeeds-1-15-million-requests-12-6-gbps/ http://www.ageofascent.com/asp-net-core-exeeds-1-15-million-... [2]: http://highscalability.com/blog/2014/7/21/stackoverflow-update-560m-pageviews-a-month-25-servers-and-i.html http://highscalability.com/blog/2014/7/21/stackoverflow-upda...
- zo1 11y agoThe problem is that with .Net experience comes a very big reluctance to "re-use" existing, open-source libraries. I've seen it first-hand, devs that "only" know the .Net stack. You come at them with any solution that involves "free" due to a library/project being open-source, and their brains nearly explode (bit of hyperbole, there).
- junto 11y agoReally? Everyone I know in the .Net world is busily building upon open source libraries via Nuget, which is an NPM equivalent. Most of that open source code is hosted on Github. Now .Net is now also open source it would seem that the only proprietary part to the stack is Windows itself, and shortly .Net is going to be running on any platform.
- eropple 11y agoIn my experience, trying to get people to use NuGet is like pulling teeth. When OSS dependencies are considered cromulent, vendoring, sometimes just straight-up binary vendoring, has been my experience with .NET shops. Those are the above-average places, though--I've seen a ton of reticence around using anything with an OSS license. Coming from a Mono background, this was very weird to me.
- oxplot 11y agoBias towards Windows is an interesting one. As someone who programmed on Windows for 9 years, I got away with writing code in IDEs and since most apps had GUI and command line was less than worthless, I was never exposed to simple tools that could be chained together under a minute that one had to spend hours either writing, or looking for a software that did the same in Windows. It wasn't until I started college, where I had to use Linux to get my assignments done, etc. that my mind got stretched open. In three months I couldn't believe I survived in Windows for that long. As an employer, the fact that someone has only ever developed in Windows and also uses Windows at home, tells me that at best they can appreciate unix and unix philosophy, but that it's unlikely they could build tools that do the right thing and play well in a unix environment, no matter how many years of experience they've had building tools. But not only that, unix goes deeper and teaches you about how to do things inside your program, even if that part never talks to other programs. Things like do the dumb thing first; or when you have nothing to say, say nothing (e.g. `ls` prints nothing if no files found), etc. It's about mindset and values and those are almost always dictated by the environment. Also values cannot be looked up on stackoverflow and copy/pasted in 5 minutes. They take a long time to sink in and I can understand why an employer would want to skip that cost when hiring.
- Fradow 11y agoI second that. When I was a student, I use MS stack a lot and sweared by it, but never really got to use the command line, since everything could be done faster using the GUI, and the command line had no benefits I could possibly see at the time. I had to really use it when I started to do automated builds, and since then it opened my mind on the value of command line and above all the unix philosophy, which I really consider as super important now. If I had to hire, I'd be relunctant to hire someone with Windows-only experience, not because I think the stack is bad, but because it's unlikely this person adhere to the Unix philosophy and is able to write scripts for small tasks, and automate important tasks with scripts.
- wolfgke 11y ago> But not only that, unix goes deeper and teaches you about how to do things inside your program, even if that part never talks to other programs. Things like do the dumb thing first; or when you have nothing to say, say nothing (e.g. `ls` prints nothing if no files found), etc. It's about mindset and values and those are almost always dictated by the environment. Also values cannot be looked up on stackoverflow and copy/pasted in 5 minutes. They take a long time to sink in and I can understand why an employer would want to skip that cost when hiring. Also Windows teaches you values that are not appreciated by UNIX wizards: http://www.joelonsoftware.com/articles/Biculturalism.html http://www.joelonsoftware.com/articles/Biculturalism.html "Unix culture values code which is useful to other programmers, while Windows culture values code which is useful to non-programmers." (really: read the whole article!)
- libria 11y agoThe old perception of .NET devs is that they're provincial in their approach to tech outside of Microsoft. Stacks are always top to bottom straight from MSDN or P&P: jQuery, razor, ASP.NET MVC, WCF, EF, MSSQL, TFS. Part of this is MS fault: the silver/gold partner licenses provide financial incentive for businesses to stay in the fold by being MS stack proficient. I've seen Biztalk shoe-horned into a product mostly because it was included in the quarterly MSDN mailout CD package and hey, it's free! To some degree, it's true. Many of my colleagues never touched node.js til Microsoft started using it. Or Linux til Azure supported it. Or functional programming til F#, or git etc. Java developers seem more comfortable searching online and piecing together a solution from oracle, apache common, other 3rd parties. It feels like they're better at critically inspecting packages for performance, applicability, adoption since they don't have a mother corp creating or blessing every product. nuget has helped a lot of .NET devs come out of their cave and explore the great unknown that is open source. Hopefully Microsoft's recent reinvention of itself changes both this perception of .NET devs and whatever reality is behind it.
- wolfgke 11y ago> Many of my colleagues never touched node.js til Microsoft started using it. Couldn't there also be the reason that before Microsoft started to become active in Node.js the Windows support for it was really bad (bad Windows support is a typical problem of lots of open source projects; I mean: I could understand it if OS X (at least the same degree proprietary) support were similarly bad, but this is usually not the case).
- ihsw 11y agoNode is very attractive for a variety of reasons, and TypeScript complements it like hand in glove (which is completely intentional, kudos to MS on that part). Transitioning to Node+TS from .Net is fairly straightforward (setting aside the completely new tooling, building, open source package resources, etc), and you get microservices + much better performance with minimal friction. Granted, large-scale systems of the Node variety are a world's difference from .Net, but that is not insurmountable. The appeal is more than simply improving compatibility -- the whole microservices movement had been happening beneath Microsoft's noses, and this is their response to it. It is nothing short of impressive how they have expanded the .Net stack in order to remain current.
- bye_amzn 11y agoEx Amazon here. I've done a lot of interviews and I've never seen candidates being refused an on-site interview for having extensive Windows experience. Still, the hire rate would be really low. Most would have little knowledge of what exists outside of an IDE: OS internals, system design, networking.
- robodale 11y ago14 years .NET developer here. Oh, I regularly am involved in LAMP and other uncool stacks, but I'm still labeled .NET developer. After all these years, I still am mystified by the whole technology/stack religion that pervades software engineering. I come from a mechanical engineering background. There's many ideologies on how to solve mechanical problems, but I would never hear "oh I see you have AutoCAD on your resume...we are looking for more of a life-cycle-engineering type of engineer" during an interview. A discussion like that would not even make sense. The whole .NET/LAMP/XAMPP/GemStone/whatever solution stack you use does not define who you are. I still consider myself a Mechanical Engineer who happens to be in the software engineering field who happens to choose .NET to solve problems since I'm highly productive on that platform.
- rpgmaker 11y ago> Is the anti windows/.NET bias really that common? I think it's less common now than it used to be but back in their heyday Java devs looked down hard on .NET devs. I think it's because MS visual IDEs, going all the way back to vb6, made a lot of people think they were professional developers just because they could create a basic crud program with a functional GUI very easily. This ended up promoting a huge amount of unusually bad code/coders to production environments and with that the bad rap .NET devs get to this day. The perception is that developers outside of the MS ecosystem usually have to be a little bit more erudite in the way they went about learning their programming language of choice.
- mclifton 11y agoI've strangely also found that this works the other way as well. I have strong experience in the .NET ecosystem and good experience with nix platforms and commonly related technologies (including Java and Ruby). When I interviewed for a part time freelance gig with a company on Upwork, they were concerned about my nix experience. They wanted to make sure that since they were a .NET shop, that I wouldn't try to get them to use any non traditional Windows based technologies. I told them that I'm not partial one way or the other - I just like to use the best tool for the job regardless of where it's hosted. I did end up working for them for a short period of time, but it didn't work out long term.