6 ms·
Sounds like most developers, honestly. I think about 5% of all developers out there nowadays are actually good developers. IME, most would have no idea what to
by LandR 9y ago
Sounds like most developers, honestly.
I think about 5% of all developers out there nowadays are actually good developers. IME, most would have no idea what to do if you took away stackoverflow or their abstractions that make their day manageable.
A part of the problem might be that a lot I've met aren't at all interested in development, it's a job and they like the pay. They also just see it as a stepping stone to management.
When I do ask people at work how something actually works they rarely know. I get told just use 'x' it hides all that stuff away for you!
When I bring up basic concepts around coding, and therefore issues in their code, I get blank stares.
I mean, i've seen me having to explain to a C# dev with a few years experience why something like the following didn't work:
string s = "foobar";
s.Substring(1, 2);
Console.WriteLine(s);
He didn't know strings were immutable, didn't know how to understand the documentation for Substring and had never heard of immutability.
Similarly, I've had to explain why something like the following prints 5 and not 6:
void Main()
{
int x = 5;
Foo(x);
Console.WriteLine(x);
}
void Foo(int x) => x++;
A developer this time who had no idea about reference types & value types.
I don't know how we fix this though. As the people hiring and doing the interviews often don't know what they are doing either. So the blind hires the blind.
- photonios 9y agoWere the people to whom you had to explain those concepts juniors or people with a couple of years of experience?
- LandR 9y agoA few years experience (3+)
- foepys 9y agoThis is imho the difference between someone who graduated with a Bachelor (or higher) in computer science and somebody who completed a 3 month coding bootcamp. Before people get upset, yes, there are devs without a degree that know what they are doing.
- LandR 9y agoAbsolutely, the building i work in does these coding bootcamps. Learn web dev in 8 weeks type thing, I can't believe anyone comes out of that knowing much about anything.
- ubernostrum 9y agoThis is your occasional reminder that FizzBuzz was originally proposed because people with degrees -- even post-graduate degrees -- in CS were perceived as unable to code their way out of a paper bag.
- abhishekjha 9y agoI am having difficulty believing that someone wouldn't know how variables are scoped/refernced in function calls like the one you showed in the second example. About the immutablity of strings : Is it absolutely necessary for a string to be immutable? What harm could it do otherwise? I learnt immutablity on my own and apprently there's no such constraint in languages like C/C++, although the same behaviour can be replicated using `const`. I don't know C# but shouldn't `Console.WriteLine(s.Substring(1, 2));` have worked. No need to worry about immutability, at least in this case.
- LandR 9y agoStrings being immutable in .NET is a good thing, for a few reasons. e.g. string pooling (less assembly bloat), string interning (performance) and performance in general. You also get linq style benefits, e.g. string s = "this is a string"; if(s.Substring(5).ToUpperInvariant().StartsWith("I")) Console.WriteLine("true"); Console.WriteLine(s); If strings weren't immutable, you'd have to copy s to avoid changing / breaking it. These are things that I would expect a .NET developer to know. They are basic fundamentals.
- whyever 9y ago> performance in general. Really? Forcing you to copy whenever you want to modify gives you worse performance. > If strings weren't immutable, you'd have to copy s to avoid changing / breaking it. That seems like a disadvantage to me. With mutable strings, you have the option to modify it in place instead of being forced to copy.
- krzat 9y agoIdeally you have strings that can be both mutable and immutable based on context. C# is not that smart so they opted into the only other sane option.
- amarkov 9y agoThe advantage of making the string type immutable is that you can do what's known as "string interning": if the same string shows up multiple times in your program, only one copy has to be kept in memory. This is particularly useful for compile-time constant strings. C and C++ actually do a similar thing with their string literals, which are immutable even though normal strings aren't.
- deleted 9y ago[deleted]
- scarface74 9y agoI think about 5% of all developers out there nowadays are actually good developers. IME, most would have no idea what to do if you took away stackoverflow or their abstractions that make their day manageable. I'm a bit twiddler from way back - my first love was 65C02 assembly language in the mid 80s and my 2nd love as a professional was C for 12 years - but until I stopped considering myself as just someone concerned about code and learning how to efficiently deliver business value, my career suffered. I take advantage of as many third party libraries and abstractions as possible. I try to use cloud solutions as much as possible (Lambda, RDS, SQS, etc.). In the market where I live, React/Angular + NodeJS jobs are a lot more plentiful and pay more than C jobs. Also, being able to leverage "abstractions" like AWS/Azure functionality is a lot more marketable than knowing how to setup everything yourself. I'm the type of person that likes to learn deeply about my chosen platforms (C#, JavaScript, AWS,Mongo, SQL Server) just because I'm a geek, but the money comes from knowing high level architectural concepts. I've had 5 jobs since 2012 and only once did I have a coding test (pair programming on a computer).
- somecallitblues 9y agoIf you were any good you wouldn’t have 5 jobs in 5 years!
- dotsh 9y agoSince when changing jobs is an indicator of anything? This is not the time to spend 40 years in one company. So many people jump from company to company to feel the thrill and challenges which they currently do not have it does not mean that they burn bridges behind themselves or are bad at what they do. It's like climbing... but differently.
- scarface74 9y agoExactly. I can get positive references from all of my past managers since 2008. Except for the Fortune 10 Company. I was just a number there.
- scarface74 9y ago