I have no complaints about the process itself. It involved a 30-minute screening interview followed by a technical interview conducted via CoderPad. The task was to implement a mini-script language, with a couple of example statements provided. When these statements passed tests, the interviewer added different kinds of statements to the language and asked me to modify my program to handle them as well.
This is a standard task in the computer industry. I have performed it many times on the job, and there is a whole theory and set of tools (parsers) that programmers typically use in practice.
However, since this was on CoderPad, I could not use third-party libraries. The standard way to solve such tasks is to have a grammar, break down the input into tokens, and then apply a parser. Since the only time at my disposal was 45 minutes, some steps needed to be "hacked." For lexical parsing, I used regular expressions, and for the grammar parser, I used branching logic based on the first token.
The interesting question is what kind of skills the company is trying to verify with this sort of test: how to solve a standard task under very strict time constraints?
The task itself is trivial, but the entire experience made me think the company is looking for hackers rather than engineers. I am going to skip further interviewing with Square, regardless of the interview results, which are not known to me yet.
Implement the Miniscript language.
Here are a couple of example statements:
When these statements pass tests, the interviewer adds different kinds of statements to the language and asks you to modify your program to handle them too.
The following metrics were computed from 158 interview experiences for the Block Software Engineer role in United States.
Block's interview process for their Software Engineer roles in the United States is very selective, failing most engineers who go through it.
Candidates reported having good feelings for Block's Software Engineer interview process in United States.