News for hackers. Stuff that matters.
Re:Why We Hire Great Developers, Not Great Mobile Developers by lordnacho on Monday January 11, 2016 @08:01AM (#10880519)
Makes total sense. Once you've figured out how coding works, you can do any stack, any framework, any language.

It bothers me how job ads tend to focus on various buzzwords. I'm quite sure you're better off hiring someone with good fundamentals who can learn your stack, rather than someone who is a novice but has some experience in the stack.

I started off doing financial trading code in c++ / c#. It wasn't a huge leap doing Android and iOS. Principles are the same:

- Some kind of OO. They are all pretty similar for most purposes. C++ is maybe a bit more intricate. Similarly, some kind of functional/lambda.

- Some way to access a database. Plenty of ORMs or ways to do SQL if you need that.

- Some GUI organisational principles. WinForms, WPF, Qt, Android, iOS, whatever. They tend to have things like "only draw on the main thread" and a pile of APIs for organising the screens, buttons, and so forth. But if you've done one, you're not going to need a course to do another.

- StackOverflow will tell you everything that's pure translation. Things like {} dicts for python.

- Get a brief tutorial for each new language/framework. They're all over the web, and the main point it just to highlight the features.

Re:Why We Hire Great Developers, Not Great Mobile Developers by bitwize on Monday January 11, 2016 @09:09AM (#10880799)
A technical recruiter, having discovered that that the ways of Unix hackers were strange to him, sought an audience with Master Foo to learn more about the Way. Master Foo met the recruiter in the HR offices of a large firm.

The recruiter said, “I have observed that Unix hackers scowl or become annoyed when I ask them how many years of experience they have in a new programming language. Why is this so?”

Master Foo stood, and began to pace across the office floor. The recruiter was puzzled, and asked “What are you doing?”

“I am learning to walk,” replied Master Foo.

“I saw you walk through that door” the recruiter exclaimed, “and you are not stumbling over your own feet. Obviously you already know how to walk.”

“Yes, but this floor is new to me.” replied Master Foo.

Upon hearing this, the recruiter was enlightened.

--Raymond, Eric S., ed., "Master Foo and the Recruiter", Rootless Root, http://catb.org/esr/writings/unix-koans/recruiter.html

Though I note that in real life the recruiter would never be enlightened. He is beholden to the HR departments, and the HR departments have settled on a system which works for their purposes.

Re:Why We Hire Great Developers, Not Great Mobile Developers by adwn on Monday January 11, 2016 @09:48AM (#10881003)
Cute. Although there's some truth in that parable, back in the real world, experience in a specific programming language actually does count for something:

1) Learning the intricacies of a language takes some time before you're truly proficient in it.

2) Different languages demand a different approach to problems, a different style of forming the solution. A programmer with 10 years of experience in Ruby and 0 years of C is less desirable for a C programming position than a programmer with 5 years of experience in C. Though the Ruby programmer will be quick to pick up Python, he/she never had to deal with manual memory management, pointer arithmetic, and all the pitfalls that come with those.

Re:Why We Hire Great Developers, Not Great Mobile Developers by hakamadare on Monday January 11, 2016 @10:18AM (#10881194)
and the failure mode of the above philosophy is "you can write Fortran in any language" :) http://queue.acm.org/detail.cfm?id=1039535
Re:Why We Hire Great Developers, Not Great Mobile Developers by chrisseaton on Monday January 11, 2016 @08:52AM (#10880732)
If you're hiring someone to do something like implement a new machine learning algorithm or a new compiler optimisation they're not to just pick that stuff up off of stack overflow are they? Sometimes you need specialist knowledge.
Re:Why We Hire Great Developers, Not Great Mobile Developers by lordnacho on Monday January 11, 2016 @09:42AM (#10880969)
Most of the time you know when a specialist is needed. Also, the specialist's skill tends to be part of the job description, along with the stuff that is unnecessarily restrictive.

You might come across a ML job advert that says the person needs to know Matlab. Well, what if you're a Numpy or R ML guy? It's quite clear to me that such a person is just as well qualified.

If you're looking for a compiler guy, you want someone who understands those optimisations on a theoretical level, ie abstracted away from the concrete language. The toolset may be completely different for each language, but people with equivalent fundamental knowledge should not be separated just by what tool they happened to use.

Re:Why We Hire Great Developers, Not Great Mobile Developers by workitout on Monday January 11, 2016 @08:59AM (#10880755)
If it's a new concept then the entropy is huge for anyone regardless of background.
Re:Why We Hire Great Developers, Not Great Mobile Developers by chrisseaton on Monday January 11, 2016 @09:12AM (#10880816)
Do you really think any random programmer can master any given field of computer science in just a few months of starting a job? You could take a compiler engineer and get them doing cryptography, or a cryptographer and get them to write a compiler? No need for any experience to work in either of those fields? Just some JS or Android experience would be fine and you can use Stack Overflow to work out the rest of the details?
Re:Why We Hire Great Developers, Not Great Mobile Developers by AznHisoka on Monday January 11, 2016 @09:15AM (#10880831)
Agreed. I think OP's advice only applies to programming languages, and frameworks. But not concepts like machine learning, cryptography, compilers, algorithm design, distributed systems, etc. For those, actual experience does matter.
Re:Why We Hire Great Developers, Not Great Mobile Developers by AznHisoka on Monday January 11, 2016 @09:22AM (#10880860)
That's not correct. Who do you think would be able to implement a spam machine learning algorithm in a month? A NLP PhD or a regular Android developer?
Re:Why We Hire Great Developers, Not Great Mobile Developers by ThrustVectoring on Monday January 11, 2016 @03:03PM (#10882967)
You don't need someone to implement the algorithm, you generally need someone to wire together APIs between your application and machine learning libraries. I'd rather take someone who's been hacking around on Django for a year than a freshly minted NLP PhD for adding spam-detection for messages inside a Django app.
Re:Why We Hire Great Developers, Not Great Mobile Developers by tbrownaw on Monday January 11, 2016 @10:00AM (#10881069)
Given a whole month? Anyone who can use google and isn't afraid to experiment with the available libraries they find.
Re:Why We Hire Great Developers, Not Great Mobile Developers by chrisseaton on Monday January 11, 2016 @10:09AM (#10881139)
Would you trust your security to a TLS implementation done by someone who'd spent a month googling on it?
Re:Why We Hire Great Developers, Not Great Mobile Developers by lordnacho on Monday January 11, 2016 @03:14PM (#10883082)
What if they spent the month finding out how some open source implementation worked, including what experts thought of it, and wired it up for your needs?
Re:Why We Hire Great Developers, Not Great Mobile Developers by chrisseaton on Monday January 11, 2016 @03:21PM (#10883149)
You know, at the bottom of your stack someone, somewhere, needs to know a subject well enough to implement things from scratch. If what you are doing hasn't been done before you can't just google or find an open source library. Even if it has been done before often these things are often barely written down.

Do you think when Google decided to create the V8 JavaScript JIT they hired a couple of Django programmers and asked them to google 'how to write a JIT'? Or do you think they specified a certain level of experience in writing JITs on the job advert?

Re:Why We Hire Great Developers, Not Great Mobile Developers by lordnacho on Monday January 11, 2016 @03:58PM (#10883452)
> You know, at the bottom of your stack someone, somewhere, needs to know a subject well enough to implement things from scratch. If what you are doing hasn't been done before you can't just google or find an open source library.

That really depends on what "from scratch" means. Any particular piece of code can be examined in enough detail that nobody in the whole world would understand all of them. Luckily people who understand specific pieces will produce a part for others to use. Often the only thing that hasn't been done before is one particular mashup of existing parts. Then the skill of coding is like the skill of cooking: using judgement to assemble well known parts into a new whole.

> Do you think when Google decided to create the V8 JavaScript JIT they hired a couple of Django programmers and asked them to google 'how to write a JIT'? Or do you think they specified a certain level of experience in writing JITs on the job advert?

That wasn't the point. I'm not saying that any programmer can do any programming job. But that the selection criterion (language, framework) is in general wrong. If you have a guy who did a JIT for Java, do you disqualify that guy from a JIT for Go job? I don't think so.

Re:Why We Hire Great Developers, Not Great Mobile Developers by limeyx on Tuesday January 12, 2016 @07:50PM (#10891551)
Still no. Security is hard. Harder than most other stuff
Re:Why We Hire Great Developers, Not Great Mobile Developers by jpmoral on Monday January 11, 2016 @08:58AM (#10880750)
I don't know, Android (Java) and JS make me feel stupid. I know I'm not stupid, maybe it's impostor syndrome.
Re:Why We Hire Great Developers, Not Great Mobile Developers by egroat on Monday January 11, 2016 @09:30AM (#10880917)
Competence in JS is very different from most languages the average dev is exposed to, and decent Android is very far down the Java Super-OO rabbit hole.

So I'm not surprised!