News for hackers. Stuff that matters.
Re:Stop requiring specific technology experience for senior-... by gfxgirl on Monday November 08, 2021 @12:47PM (#29151954)
It really depends doesn't it? Would it be a good idea to hire someone with 20 years experience in Python+Go+JavaScript+Perl+PHP for a C++ role? (note: my assumption is the first 4 languages rarely deal with direct memory issues were as the C++ role probably does. Ownership, allocation, deallocation, binary structure packing, more complex/low-level cross process issues, etc...

Not to suggest this all can't be learned.

Is GPU work unique or is it generic programming such that I should be ok to hire a programmer with zero GPU experience for a GPU role?

Similarly, sometimes you're hoping for someone that can be productive immediately, not after 2-6 months of getting used to something new. For example, I trust that a Java programmer could write C# or Swift or Python, but I'd expect the Java programmer to know the Java standard library and common solutions fairly well but not know the C#, Swift, or Python standard library. I get it might short sited not to hire them for long term growth but right this second I might want someone who can hit the ground running?

Re:Stop requiring specific technology experience for senior-... by tialaramex on Monday November 08, 2021 @02:48PM (#29153398)
I was hired into my current role where a lot of code is in C# never having written any C# in my life. That was about six weeks ago. The interviewers correctly assumed that since I have written numerous other semi-colon languages for 20+ years and know what I'm doing it won't be a problem. I use some modern C# idioms (because to me no idiom is more or less "modern" as I learned them all in the last six weeks) more than my colleagues do, and I think I'm perhaps squinting at the async feature wrong, but it's basically fine at this point.

I would not have taken a C++ role. But that's because I don't like C++. Could I learn C++? Presumably, I assume it'd take quite a bit longer than C# but I don't want to.

A lot of programming skill that's transferable from one role to another is also transferable from one general purpose language to another. Almost everything about programming generally is transferable. All the practical implications of architecture is transferable. All the theory is transferable. Data structures are transferable (albeit if you've got very narrow experience you may not be aware of just what's possible). A lot of high level APIs are transferable.

On the other hand corporate knowledge isn't. So, the fresh graduate hire who is an expert in your preferred language does not know that around here nobody above an Engineer Lead reads their Teams chat, and nobody above Group Manager reads email. They don't know that tweaking the CSS requires a Design Team Lead authorisation because once somebody made the text the wrong colour and branding were furious - and they equally don't know that "Normal Minor" changes take six months to approve around here so they should mark small changes "Urgent Minor" instead and then pester a Senior Engineer to OK them, but never pester a Senior Engineer if it needs a Config change because that is an ops problem and... you are going to need to hire internally if you actually need them to "hit the ground running".

Re:Stop requiring specific technology experience for senior-... by Breza on Monday November 22, 2021 @11:31AM (#29308234)
I've never heard the phrase "semi-colon languages" before and I might have to steal it.
Re:Stop requiring specific technology experience for senior-... by hiptobecubic on Tuesday November 09, 2021 @10:14AM (#29162768)
By "running" I guess you mean "crawling desperately thorough sludge."
Re:Stop requiring specific technology experience for senior-... by hippich on Monday November 08, 2021 @12:59PM (#29152100)
I am one of these python+go+javascript+perl+php folks (minus go and python)... Yet somehow I know about memory access and associated gotchas. I am even able to heavily modify, debug obscure C codebase. Even made my own LLVM pass that does quite a tricky modification of the LLVM bytecode prior to final compilation and linking. I learned about LLVM bytecode existence about 3 months ago. I started tinkering with this C project about 8 months ago...

Yes, there are differences, but they are not fundamental. And with google, it really takes little time to learn things on the go. And with a team sharing necessary experience it will take no time at all.

EDIT: "I might want someone who can hit the ground running" - this is luxury, so one wanting it gotta pay up... And such short projects where such quick ramp up is important perhaps will be a better suited for contracting out the work anyway.

Re:Stop requiring specific technology experience for senior-... by JAlexoid on Monday November 08, 2021 @02:10PM (#29152987)
Know of and being proficient are two different things.
Re:Stop requiring specific technology experience for senior-... by morelisp on Monday November 08, 2021 @02:23PM (#29153101)
Unless you are a startup that needs someone cranking out features within two weeks, the time it takes a senior[0] developer to get familiar with the company's actual work vastly outstrips the time it takes to get familiar with their commodity tech stack.

(And if you are such a startup, you want mostly senior generalists anyway.)

[0] Well, this is also probably begging the question. For me that's part of the definition of senior. Based on resumes I see lately it's far from everyone's.

Re:Stop requiring specific technology experience for senior-... by magicalhippo on Monday November 08, 2021 @08:32PM (#29156624)
We just hired some new guys who had never developed in the language we use. They had some Java, Python and PHP background.

Sent them on a course and within a couple of weeks they were committing stuff with minimal review needed in terms of language things.

It's now been a year and they're still learning about our code base. For me it took about two-three years before I felt comfortable on my own in the most-used areas.

Re:Stop requiring specific technology experience for senior-... by JAlexoid on Monday November 08, 2021 @02:30PM (#29153212)
That's not universal.

The lat thing I need about any of my colleagues is to learning all gotchas, at the same time as integrating into our team.

Some tech I'll argue against, other tech I will require.

Some tech is fundamental to a domain. Some tech is a nice to have. Some tech is just generic.

My current team will not hire anyone for a senior role, without Spark experience. No matter how good you are in C++...

Re:Stop requiring specific technology experience for senior-... by morelisp on Monday November 08, 2021 @02:39PM (#29153308)
> My current team will not hire anyone for a senior role, without Spark experience.

An example close to my heart. The company I'm currently at had a totally ossified Spark monolith and data eng team because they only wanted Spark developers. Drop one C++ developer in there to start spreading the good news about data-oriented design and suddenly there are a dozen previously-intractable "big data" problems we can rip out of the ball of mud and run outside of the cluster. Drop in another SRE who doesn't know shit about Java but can actually write shell scripts, and hey alerts from bad orchestration from weekly to twice yearly.

Yeah if you have a Spark job, you probably need a Spark dev. But if you have a team of Spark devs, suddenly everything that involves more than 1MB of input data looks like a Spark problem and you're in for a real bad time in a couple years.

C++ programmers know map/reduce/filter too.

Re:Stop requiring specific technology experience for senior-... by JAlexoid on Monday November 08, 2021 @03:47PM (#29154024)
Well... Funny enough. The person that our team of Spark engineers is cleaning up after was - a C++ dev. For some reason we, Spark engineers, had to rewrite his all Spark application into different components with relevant tech.

Thanks for generalizing Spark engineers to an insulting level, though.

Re:Stop requiring specific technology experience for senior-... by hippich on Monday November 08, 2021 @10:06PM (#29157245)
I can't know for sure, but I think person you are replying to meant that in a team lacking diversity (in this particular case, diversity of expertise) all solutions tends to receive same, less than optimal treatment no matter what. If anything, it is insult of managers who create such bubbles, not engineers stuck in these bubbles.
Re:Stop requiring specific technology experience for senior-... by morelisp on Tuesday November 09, 2021 @02:32AM (#29158813)
> Thanks for generalizing Spark engineers to an insulting level, though.

I have no clue how you got that from what I wrote. I even said a Spark project needs a Spark dev!

It really sounds to me like you're the one generalizing from "the one C++ dev we hired couldn't do data engineering right at all" to "senior programmers are dangerous to us unless they are Spark developers" (which imo, is more indicative of serious deficiencies in your architecture / design process), to "all senior programmers crossing subdomains are dangerous."

Re:Stop requiring specific technology experience for senior-... by hippich on Monday November 08, 2021 @03:26PM (#29153800)
I've solved serious problem using these two technologies, and it makes a significant impact right now. (sorry, can't discuss in more details).

Sure LLVM or C pro will cringe looking at my code. But the business problem is solved, by someone who is not LLVM/C pro, and there is no need for more of that LLVM/C skills for now at the organization...

Re:Stop requiring specific technology experience for senior-... by UncleOxidant on Monday November 08, 2021 @08:11PM (#29156485)
> Similarly, sometimes you're hoping for someone that can be productive immediately, not after 2-6 months of getting used to something new.

I've often seen organizations spend 6 months or more to find the perfect Foo developer when they could have hired someone right away who had Foo-adjacent skills and was very willing to learn Foo.

Re:Stop requiring specific technology experience for senior-... by hiptobecubic on Tuesday November 09, 2021 @10:32AM (#29163037)
Sunk costs, I guess? I feel like the idea that your codebase and business is so simple that all anyone needs to know to "hit the ground running" is how to use your build system and which ng-whatever keyword produces the right UI element should be deeply worrisome.
Re:Stop requiring specific technology experience for senior-... by MR4D on Monday November 08, 2021 @07:15PM (#29156100)
Let’s say you have a requirement for 5 years in a particular language.

Would you rather hire a developer with 20 years experience but only 3 in the language you want, or would you rather hire the guy who has 6 years experience in the language you want and that’s it?

Personally, I’d hire the former every single time, even though he didn’t have the requisite 5 years in the language.

Re:Stop requiring specific technology experience for senior-... by vmception on Monday November 08, 2021 @07:20PM (#29156134)
My experience is that people expect an uncanny ability from the former, as opposed to just having never retired or changed a job by then.

Pretty much better to reduce the years on the resume.

Re:Stop requiring specific technology experience for senior-... by WalterBright on Monday November 08, 2021 @01:48PM (#29152726)
I find now and then that less experienced programmers can be adroit with programming techniques, but will use those techniques inappropriately.

Sometimes, the right tool for the job is just a hammer :-)

Re:Stop requiring specific technology experience for senior-... by c0decracker on Monday November 08, 2021 @03:20PM (#29153738)
Great point IMHO. I think the ability to learn these somewhat different languages depend on the experience. Like roots of different trees -- once you groked Asm/C, C++, Python and such, Lisp and such enough, you can get productive in most general purpose languages quickly enough that language learning time will be negligible compared to platform/ecosystem/domain time at least for any reasonably complex domain.

I think more pragmatic question in such situations however, is why the potential employer is requiring $A years of experience in $TECHNOLOGY. For example, why they need someone to be productive from the say day $N and what does it actually mean (for them) to be productive?..

IMHO getting to shared understanding of what drives such requirements can help find a better path forward for both sides.

Re:Stop requiring specific technology experience for senior-... by codegeek on Monday November 08, 2021 @02:58PM (#29153489)
Yes but then it is not comparable. Using GP's analogy, I would say Walking = Web Development (whether you do in PHP or Go, http is http etc). However, if you are talking about C++, let's call it "Para sailing" and not walking. Since you are not just writing a bunch of http API for the most part (I am simplifying a bit but you get the point).
Re:Stop requiring specific technology experience for senior-... by webmaven on Tuesday November 09, 2021 @09:36AM (#29162262)
> Is GPU work unique or is it generic programming such that I should be ok to hire a programmer with zero GPU experience for a GPU role?

Is that the right analogy, or is it more like requiring CUDA experience vs knowing OpenCL (or Vulcan/Metal/etc.)?

Re:Stop requiring specific technology experience for senior-... by djmips on Monday November 08, 2021 @08:00PM (#29156404)
For sure GPU aka rendering programmer requires experience. It's quite a hill to climb.
Re:Stop requiring specific technology experience for senior-... by mixmastamyk on Monday November 08, 2021 @01:33PM (#29152511)
You can find exceptions but it’s generally true. For example the high level data structures in Python and Java are both in the collections package.

I haven’t done C or asm since college but haven’t forgotten the concepts. Probably know more now than then.

Re:Stop requiring specific technology experience for senior-... by q-big on Monday November 08, 2021 @07:32PM (#29156226)
> Would it be a good idea to hire someone with 20 years experience in Python+Go+JavaScript+Perl+PHP for a C++ role?

I my experience, when working in a programming job, your programming skills rather degrade quite fast if you are not actively working in your free time to work hard against this degradation.

I rather get better in programming almost exclusively by the side projects that I do in my free time.

So, I would rather say that x years of job experience show nothing; what is important is what you do in your free time (if such side projects are possible).

Re:Stop requiring specific technology experience for senior-... by hiptobecubic on Tuesday November 09, 2021 @10:20AM (#29162850)
This depends hugely on your job. If you spend all day writing variations on the same crud app handlers then yeah, you probably aren't learning anything new after two years. If you spend twenty years in that job, you probably aren't the kind of person that wants to learn new things anyway.
Re:Stop requiring specific technology experience for senior-... by 908B64B197 on Monday November 08, 2021 @07:51PM (#29156359)
Programmer? No.

Engineer? Yes.

Someone with a solid track record and a good foundation and background should be able to pivot relatively quickly.