From: http://gotocon.com/aarhus-2013/presentation/Why%20code%20in%20Node.js%20often%20gets%20rejected%20by%20SoundCloud
At SoundCloud we ask candidates to send us some code before inviting them in for interviews. Candidates can use whatever language they want, and over the past years we saw a massive rise on the number of submissions using server-side JavaScript. Unfortunately, too many submissions are asynchronous blobs of procedural code.
JavaScript is a fairly functional language, and over the past decades Functional Programming developed interesting solutions for many of the problems we face when writing Node.js and regular JavaScript. Let's talk about how to leverage good old Functional Programming techniques to make code less coupled and more readable!
10. you can choose any language.
0
10
20
30
40
Ruby Java JavaScript (Node.js) C Clojure Scala
% of submissions ~2011-2012
Tuesday, October 1, 13
11. you can choose any language.
0
10
20
30
40
Ruby Java JavaScript (Node.js) C Clojure Scala
rejected before interview invited for inverview
Tuesday, October 1, 13
13. you can choose any language.
0
7.5
15
22.5
30
Ruby Java JavaScript (Node.js) Go Clojure Scala
% of submissions on the past ~1 year
Tuesday, October 1, 13
14. you can choose any language.
0
7.5
15
22.5
30
Ruby Java JavaScript (Node.js) Go Clojure Scala
% of submissions on the past ~1 year
Tuesday, October 1, 13
15. you can choose any language.
0
7.5
15
22.5
30
Ruby Java JavaScript (Node.js) Go Clojure Scala
rejected before interview invited for inverview
Tuesday, October 1, 13
16. you can choose any language.
0
7.5
15
22.5
30
Ruby Java JavaScript (Node.js) Go Clojure Scala
rejected before interview invited for inverview
WTF?
Tuesday, October 1, 13
30. http://bit.ly/JFbZt8
“SICP and some of the Sussman & Steele "Lambda
the ..." papers made a big impression on me years
before, although I did not understand their full
meaning then.
Remember, I was recruited to "do Scheme" [...] My
interest in languages such as Self informed a
subversive agenda [...]. Likewise with first-class
functions, which were inspired by Scheme [...]”
Tuesday, October 1, 13
62. How to Design Programs - http://bit.ly/K0BfrL
Structure and Interpretation of Computer
Programs - http://bit.ly/K0BjYm
The Art of the Metaobject Protocol
http://amzn.to/K0BqU1
Purely Functional Data Structures
http://amzn.to/JFn4KG
Let Over Lambda - http://amzn.to/IMMkNO
An Introduction to Lambda Calculi for Computer
Scientists - http://amzn.to/IX8d1B
All drawings are available as t-shirts from the
awesome Diesel Sweeties -
http://dieselsweeties.com/
Tuesday, October 1, 13