5 ms·
He's in his early 40s and has two decades of development experience. Experience is not the issue. The issue is his lack of machine learning knowledge. His do
by cerrelio 11y ago
He's in his early 40s and has two decades of development experience. Experience is not the issue. The issue is his lack of machine learning knowledge. His dodgy, non-working, memory-hoggy misimplementation of A* search on a problem space of size > 10^20 demonstrates that very pointedly. Also, his general experience should teach him that if he knows nothing about a topic then he should do his homework. He doesn't. Education is key.
He sure can build a great ecommerce system in Rails though.
- blub 11y agoI don't get this. Why aren't you sending this guy on an intensive course on machine learning (and graphs) instead of complaining on HN? This way he'll acquire that missing knowledge and one can still profit from his decades of experience, something a fresh graduate would not have and can't acquire at all without spending the actual time.
- roel_v 11y agoLol if you think that you can make a productive machine learning guy with 'an intensive course'.
- blub 11y agoWhat does it take to make a productive machine learning guy? OP seemed to hint at a master's degree or Phd, but then also mentioned doing one's "homework".
- roel_v 11y agoMaybe it's a difference in interpretation, but to me, an 'intensive course' for people who are working is a few weeks of classroom-led instruction. That's the interpretation I was dismissive of. Without wanting to make this into a discussion about what 'a productive machine learning guy' needs to know, I would say that you need to be able to understand, implement and calibrate most state of the art machine learning techniques. So then you need 3-4 semesters of undergrad maths (algebra 1 & 2, calculus 1 & 2, statistics, linear algebra), a theoretical machine learning specific course (course as in 'university course', so 8-12 weeks with 1/2 lectures per week plus lab sessions, plus homework/exercises, plus exam; this could maybe be consolidated into half that time for a more experienced person who commits himself 8 hours a day plus half a day on the weekends), an operations research or similar course, and maybe a numerical computing course or short course. All of this is assuming that the candidate already has a solid grasp of computer programming, including some data structures, algorithms, distributed systems maybe. Plus good practical skills, but that should be the least of the problems. This is at least one year of full time study, for a gifted person who can really commit to the program. Realistically it's 1 1/2 or 2 years for most people. Somebody without a college degree will likely not know any of these topics (I mean the things from my second paragraph), save maybe some high school calculus and stats. Maybe they've used R a bit and have done some numerical computing or so. But that's a far way from becoming what I would call 'a productive machine learning guy'. edit: typo
- blub 11y agoThanks for the thorough answer. My interpetation was that the person described could get away with having fundamental knowledge - this was optimistic and involved too much guessing on my side.
- roel_v 11y agoWell I can't blame you - I have thought for years myself that I could 'pick up machine learning' like it was some web programming framework that you can be an expert at over a weekend. But I had to concede after a few years of trying on and off that it doesn't work like that. Which is also why it's a testy subject for me - like how ex-smokers are usually the most obnoxious anti-smoking crusaders. I don't have a proper math-intensive CS degree myself, only a 'software engineering' degree, so I've been going back to uni and studying when I can to build a math foundation first. So what I wrote down above is basically the 'curriculum' I designed for myself, as well as what I already know from the software side and is needed for ML. To make it relevant again to the topic at hand - this is also why a university degree (and a proper one) is required for programming jobs that are cutting edge. Sure, making websites doesn't require it - and neither do line of business CRUD applications. The interesting work though is not 'programming', it's 'using math to solve problems and using programming to get the computer to do the repetitive stuff for you'. When it's framed like that, it becomes obvious why a university degree is required. (yes yes theoretically it's possible to study math by yourself - the number of people who have the discipline to do that though is minuscule compared to the number of people who can bootstrap themselves to be 'programmers' of simple applications like web applications, most mobile apps or CRUD applications)
- duaneb 11y agoIsn't that what a degree is? Granted, an expensive, intensive course in the US.
- cerrelio 11y ago1) I'm not his manager. 2) I've sent him half a dozen papers about topics ranging from heuristic search to genetic programming to general good ML practices. He's read none of them. 3) He believes he knows what he's doing. Those who do not want to be helped cannot be helped. And an intensive course won't fill all the statistics and math requirements he doesn't have.
- diffraction 11y agoYowza, sick burn on your coworker! Since we are talking about hiring practices have you read this section of Joel's Guerilla Guide to Interviewing? "People who are Smart but don’t Get Things Done often have PhDs and work in big companies where nobody listens to them because they are completely impractical. They would rather mull over something academic about a problem rather than ship on time. These kind of people can be identified because they love to point out the theoretical similarity between two widely divergent concepts. For example, they will say, “Spreadsheets are really just a special case of programming language,” and then go off for a week and write a thrilling, brilliant whitepaper about the theoretical computational linguistic attributes of a spreadsheet as a programming language. Smart, but not useful. The other way to identify these people is that they have a tendency to show up at your office, coffee mug in hand, and try to start a long conversation about the relative merits of Java introspection vs. COM type libraries, on the day you are trying to ship a beta." http://www.joelonsoftware.com/articles/GuerrillaInterviewing3.html http://www.joelonsoftware.com/articles/GuerrillaInterviewing...