If anyone is looking to brush up on their Algebra fundamentals, I built an app for that and it's free to use: https://apps.apple.com/us/app/pensend/id1571322730. I had a similar problem where I didn't understand where my fundamental knowledge gaps were so I ended up starting from the beginning (pre-algebra). I hope this is helpful for people!
IMHO Javascript is "unusable" because you can mutate state (among other things). Rich Hickey has a few other arguments against static typing and OO such as names dominating semantics and "types are an anti-pattern for program maintenance and extensibility because they introduce coupling. They’re also parochial." I think he said that in his talk called "Effective Programs":
Regarding take-home assignments, if you do decide to incorporate this into your hiring process, I think pulling a page out of Aaron Swartz's "How I Hire Programmers" [1] is a good place to start. Important points being to keep the task small and non-proprietary. If it is legally and financially possible, then also pay the programmer for her/his/they time.
I'm still under the impression that if you gave the same set of companies to every VC in the world and had each of them bet on the winners, that you wouldn't see that much of a difference in portfolio performance from the very worst to the very best VCs. There's no magic formula for choosing companies that firms like KP have--a lot of it is based on their reputation. Plus, the next Facebook is not going to look like Facebook or whatever that maxim was. The better companies tend to go to the VCs with the better reputation and the cycle continues.
I can't speak about lein or maven, but it is in no way a requirement to use emacs as your editor. In fact, there is really interesting work going on in other editors like Atom with proto-repl[1]. For the web, you can spin up a Gorilla REPL[2] which basically gives you a Jupyter notebook but for Clojure.
> To be perfectly honest, Clojure's biggest mistake, from my point of view, was to be so heavily JVM-dependent.
With Clojure being a hosted language, there's nothing stopping it from adopting a new platform or expanding to other platforms or languages. It has actually already done this with Clojurescript (run in the browser or Node.js)[1] and Clojure CLR (run on Microsoft's .NET)[2].
Could you speak more on the use of macros and bottom-up programming as well as REPL-driven development at Walmart Labs (if applicable)? Would be interested to know if those lisp-like attributes play as important a role as functional programming and the JVM in general.
The docs for the API, especially for a company whose primary users are software developers, is a core part of the product offering. Just look at the investments that AWS, Twilio, and Stripe make in their docs. This stuff matters.
Chief Architect of Warby Parker Robert Lefkowitz's presentation on technical debt and his proposition for a microservice architecture called the von Neumann.
Some interesting ideas include:
1. Remove dependencies.
2. Store data in the code (inside AWS lambdas).
3. Technical debt is "borrowed" code.
Agreed. One of the core tenets of bitcoin, in my opinion, is that it's borderless --or international as you say-- and not centralized in any way. National cryptocurrencies won't work (IMO) because they violate the principals of decentralization. Open vs closed/government-based crypto is like comparing the internet to a closed off intranet.
(sorry for the shameless plug)