FP Castle

Logo

A representative FP Castle

View the Project on GitHub fpcastle/fpcastle.github.io

Satnam Singh's webpage: satnam.fpcastle.com

Advice for Whiteboard Coding Interviews
Postcard From The Valley

Hacking Haskell in a Scottish castle

At some point I hope to move back to Scotland to start a software company in a castle. We will specialize in using Haskell to write high quality code for discerning customers. Nobody is going to get rich, but a small number of us will have a lot of fun. I am always on the lookout for suitable castles to buy. Until then, here is a placeholder picture of the kind of castle I’d like to be my new HQ.

FAQs

Q: Will there be internet access?
A: Of course. We will arrange for one of Alphabet’s Loon project balloons to be geostationary above our castle to provide us with a reliable internet connection which is impervious to the incompetence of regular cable-based internet providers or sabotage by marauding hordes of Python programmers.

Q: Will there be a moat?
A: Yes, the moat will be an integral part of our security firewall. A company rowboat will ferry workers, customers and family members from the mainland shore to the castle complex. In the event of an attempted invasion by Java bureaucrats we can remotely deploy a virus that will shrink the size of their stack which will incur a stack overflow resulting in the attack boats sinking into the moat. The moat will be stocked with crocodiles to mop up the invaders.

Q: Will haggis be served in the cafeteria?
A: Yes. And once a week there will be haggis samosas.

Q: What will the dungeon be used for?
A: Every programmer that uses unsafePerformIO without an accompanying proof will have to spend a night in the dungeon.

Q: Will there be heating?
A: One of the castle rooms will contain racks of FPGAs mining bitcoins. These chips will be water cooled, and the resulting warm water will be pumped throughout the castle for heating (excepting the dungeon, which will deliberately not be heated).

Q: Will whisky be involved?
A: We will employ a distiller to help us create our own whisky. Initially, we shall outsource the distillation process to a nearby distillery and store the barrels in the castle. The whisky we produce will be given away free to the employees and local pubs and restaurants. Additionally, a good selection of Scottish single malts curated by John Hughes will be kept on the premises for everyone to enjoy at the end of the day, or for whenever Conor McBride visits.

Q: Will there be free snacks and coffee?
A: We fully understand the standard operating conditions of programmers. Mary Sheeran will oversee the installation of high quality expresso machines on every castle level. There will be a plentiful supply of tablet and oatcakes.

Q: What about transport links?
A: We shall keep a seaplane on standby for connecting staff and customers to Scottish airports like Glasgow, Edinburgh and Aberdeen. The seaplane will offer a wide selection of Scottish single malts. Carbon offsets will be used for all staff travel.

Q: Will there be standups or other aspects of agile programming?
A: Anyone proposing standups or that kind of thing will be thrown into the moat to be eaten by the crocodiles.

Q: How do I know if I would be a good fit for FP Castle?
A: Which of the following two would you prefer?

  1. A Functional Pearl in the Journal of Functional Programming?
  2. A PLDI paper with lots of graphs and charts and tables of numbers?

If you answered 1 then you can move onto the next stage of the interview process which involves writing a functional pearl and sending us a link to a blog post about it for review by a selection committee chaired by Richard Bird.

Q: What is the bar to be hired as a Research Scientist?
A: You must have had at least one paper rejected from POPL, ICFP, PLDI or OOPSLA. If you paper was rejected by Reviewer #2 then your application will be fast-tracked.

Q: Are Research Scientists subjected to a tenure-track process?
A: No, we do not haze our staff.

Q: What text editor will be used?
A: That would be an ecumenical matter.

Q: Will there be an enforced Haskell coding style guide?
A: Yes. If Simon Marlow raises his eyebrows and says “I wouldn’t do it like that” then you will need to rewrite your code and re-submit for code review.

Q: Will there be a profit sharing scheme?
A: Yes, a share of the profits will be donated to local schools, charities etc. and to help organize local events.

Q: Will there be personal development opportunities?
A: Yes, all employees are eligible for free onsite bagpipe lessons, although they have to be taken on top of the castle tower.

Q: Will there be onsite tech support?
A: No. Have you tried turning it off and on again?

Q: Will there be air conditioning?
A: You’ve not been to Scotland, have you?

Q: Will there by any ghosts in the castle?
A: No, but we expect there will be many phantom types.

Q: Will there be paper reading sessions?
A: Yes, in the ivory tower.

Q: Why?
A: Several large tech companies have their offices in the centre of London. This makes little sense to me. PHP coders are unlikely to have any meetings with customers. They won’t be able to afford to live anywhere nice in central London so they will have a long commute into work. They could just as well write their PHP in any other part of the country. Perhaps some are diehard party animals that want the fast paced city life. However, in my experience, many software engineers would actually prefer to lead a life where they can live close to work and their children’s school, travel by foot or bike and have a decent local primary school or high school nearby. We should create software company sites across the UK: not in London. I’m doing my bit by aspiring to create an 8 to 20 person company somewhere in the Scottish Highlands. Slàinte mhath!

Members In Spirit

Until I get FP Castle formally launched as a company I am accepting “members in spirit”. Please tag me or DM me on Twitter @satnam6502 to be included in this list (please let me know your real name). Even better, edit README.md at https://github.com/fpcastle/fpcastle.github.io to add your name and send me a pull request.