6 ms·
I would never fault someone for not being able to pick up a language and use it competently in 3 days. I understand why you use this as an example, with having
by trey-jones 4y ago
I would never fault someone for not being able to pick up a language and use it competently in 3 days. I understand why you use this as an example, with having samey syntax, but there is still nuance. I think the bigger indicator is you've been in the industry for 10 years and call yourself a PHP/Java dev. At this point you should have dabbled in probably 10-100 ways of solving problems depending on what your 9-5 looks like.
- peteradio 4y agoWho said you need competence, looks like that was your own insertion, haha. But seriously is it not unreasonable to be able to write some non-deep dive code in a new but similar language in just a few days? 3 days is a long time to read and ask questions.
- trey-jones 4y agoWhat purpose does it serve though? I think being able to read and understand a Go program is a better example. That does seem like a reasonable and useful ask in 3 days for a veteran PHP/Java dev, and something that is more likely to come up in practice. What is the context of the former? "Welcome to our team. I know we didn't hire you as a Go dev. You have 3 days to "be able to write Go". I have long subscribed to "A programmer is not language specific", and I don't hire based on the languages you know. But that first task is "Here is access to the repo. Read and understand what our code does today please. I'll answer questions within reason." Acquiring the new language happens as a side effect.
- pantojax45 4y agoIf you hire someone in a language they don’t know, you expect them to learn on the job. It’s reasonable by day 3 to expect them to show some code - even if terrible.
- ASalazarMX 4y agoSame. I've never seen anyone become proficient in a new language/platform in less than a year. Sure, you could learn Go's syntax, use it in the style of Java/PHP, and make it work, but that is not being proficient in Go and its idioms.
- Jtsummers 4y agoA year? That's a very long time for anyone who isn't a novice to learn a new language.
- AlotOfReading 4y agoI would bet hard money that even an experienced developer wouldn't learn C in a year (e.g. avoid or recognize most UB and security issues) without prior exposure. I'll grant that C is pathological in that respect though.
- Jtsummers 4y agoMaybe we have different bars for what it means to learn something, but if I worked with an experienced dev who took a year to learn C (and there was an actual need for them to learn it) I'd question their claimed experience. It shouldn't take more than a few weeks to be capable of using C if you have a decent background with other procedural languages and already know the difference between heap and stack storage (so you don't make the mistake of a past colleague of trying to return data on the stack, he didn't claim to be experienced though). Learning a language and mastery are separate things. An actual experienced dev should be able to hit "competent" in any new language within weeks so long as it's within the same family of languages they've used in the past. Procedural languages, like C, are pretty much squarely in the middle of what everyone has learned unless by some fluke they started and continued with Haskell and similar languages and never touched any of: Go, Rust, C#, Java, Javascript, Lua, Python, Perl, Ada, Pascal, Fortran, Matlab, BASIC (various forms), and a hundred other languages.
- Adiqq 4y ago
- roflyear 4y agoI dunno. I haven't had much need to do a major project in another language other than Python for the last 10 years. Is that an issue?
- trey-jones 4y agoI recognize the value of expertise in a language. I recognize that I have touched so many different languages that any "expertise" that I might have possessed at some point has probably passed as I've missed out on new features, etc. I guess I would just expect you to be really knowledgeable and efficient in python! So I don't think it's an issue, if that's been your job. My job exposes me to a lot of different technologies: many programming languages and endless different software that might be supporting a web application (databases, webservers, firewalls, etc.). I consider my value to be looking at problem and being able to spot 10 different possible points of failure in a system in my mind and order them by priority based on likelihood and ease of troubleshooting. And this is something that I think is only gained through experience and that's what separates me from someone who just started.
- roflyear 4y agoYeah. I wouldn't even say that I'm amazing at Python, not really! Much of my time these days isn't spent writing code. But, I can still get things done quickly. I wouldn't say I'm a superstar, though.