We need someone with experience running large websites. We already have 5 very talented developers with systems and networking experience who are already managing the sites on a day-to-day basis. They need someone to lead them: guide designs, anticipate problems, communicate with other departments, prioritize projects, etc. You will need to have a strong development background even though this is not a developer position.
If you can do the job, you can work from anywhere or we will get you a visa to work from our offices in Singapore (assuming you don't live here already). Singapore is an ideal location for living in and exploring South East Asia.
We're looking for 1 more developer with systems/operations experience to join us. We are a team of 5 working to simplify and automate operations of our 7+ networks of websites and internal services across Southeast Asia. The entire team is remote.
We've built and tested a Nix(OS)-based network powering a traditional LAMP stack, running on AWS. Initially deployed with NixOps, we've since started deploying it with our in-house tool written in Haskell (https://github.com/zalora/upcast). Currently in testing, it will soon be in production serving 7+ countries and 1 million+ customers.
We release as much as we can under Free Software licenses and contribute upstream to open source projects when possible. We have no fixed schedules and no deadlines. Your job would be to learn your way around our infrastructure (and enhance our growing wiki in the process), take pager duty 1 out of every 6 weeks, and find yourself projects that will challenge and motivate you to create value for the company.
We're hiring functional programmers for development and DevOps positions. Our tools of choice are Haskell and NixOS, and we apply purely functional principles anywhere we can.
You'll be working with an experienced team, but you'll still have the opportunity to influence the design of our systems. We sell fashion products online in Southeast Asia, and the work involves building out a new NixOps-managed network, writing daemons/tools for a service-oriented architecture (primarily web-based), and the odd data science/machine learning problem (if that interests you).
We can assist you with relocation to Singapore, or you can work remotely and travel there occasionally. Apply via our jobs board at http://jobs.zalora.com/
Haskell, PHP, JavaScript, Python, Linux, PostgreSQL, MySQL
Several years of experience working remotely for high traffic sites (> 1 billion page views per month) and a deep understanding of big data/large infrastructure. I've worked on everything from large JavaScript codebases, optimizing and normalizing databases, to writing high-performance PHP extensions in C.
I take pride in what I write and document it for future maintainers. My email address is available on my site and I'd be happy to talk with you about your needs.
I agree. Tight, stateful algorithms aren't going to disappear and are harder to reason about (currently) in functional languages. I expect that their implementation and use will shrink over time, in the same way that embedding inline assembler has all but disappeared.
I definitely don't expect, or hope, that monads are the final answer to isolating state manipulations, and I agree with a later comment of yours that the IO monad is not granular enough as it is in Haskell. When a large chunk of code ends up being written in the IO monad or in another monad that wraps IO, you miss out on a lot of safety and reasonability that Haskell is supposed to give you. And I've seen that happen (my own projects included).
Yes, a lot of these are characteristic of functional programming, and many are being adopted. But I think that the idea of using mathematically pure functions---programming without side effects or mutation---is a/the key idea behind functional programming. And it's this purity that divides the communities. You can take high-order functions and folds and put them in just about any language, and you could put OOP concepts like subtype polymorphism into functional languages. But there's a line that neither class of languages can cross over, and that's mutable state.
I know that some developers are beginning to lean in the direction of functional programming by relying on const annotations and adopting a functional style. And I'm very excited and hopeful about the overall trend.