Very lengthy and exhausting assignment which you need to submit one day prior to tech interview date which is scheduled for reviewing assignment. Task is to implement service for transaction fee calculation. Need to calculate fee from selected networks among multiple crypto networks + one from multiple fiat network + one from multiple liquidity providers + apply customer tier discount. On top of it, you need to convert assets as per requested fee asset. It can be fiat(ex fees are in USD or crypto and convert those to EUR) or crypto(Fees are in USD and ETH and convert those to USDC). Though this was not clear which can be added to the next list of unclear things. Assignment have little unclear requirements like whether need an REST API or just kind of SDK API, whether source network and asset can be fiat and crypto both or can only be fiat, and vise versa for destination network and asset. By looking at assignment, I didn't want to invest time in solving this. But as recruiter already scheduled interview round for assignment review, for the sake of respecting interviewers time, decided to attempt assignment one day prior to interview. Added most of boilerplate code which took around 5-6 hours but I was not able to finish till time of interview so submitted partially completed assignment one hour prior to interview and asked interviewer if its okay to proceed for interview. And he respond that its okay to proceed. This thing need to consider before I mention about interview experience. Assignment doc mentions that this assignment is to show off best practices for backend services and setup(but you will see that none of these things will be considered for assessment). So tried to use best practices with gRPC service plus extendable integrations for crypto networks, fiat network, providers using SOLID principles. But added only single implementation for each network and provider(1 for crypto, 1 for fiat and 1 provider) and other networks will be similar implementation following same contracts. In tech interview, CTO asked me to finish missing parts in 30 minutes to run integration tests and asked other senior developer to help me in pair programming session and he left the interview. Then this second developer, instead of helping started to ask some unnecessary questions like "why you keep properties of some struct private and not expose them", which clearly shows up his lack of experience about taking interview and making it more difficult for me to finish remaining thing in 30 minutes. It took me around 80-90 minutes to finish remaining things for running one happy path integration test. Then CTO again joined the interview and asked some questions like, why you took so long to finish this? Do you usually implements in this way? Do you usually write unit tests in this way and why don't you use any testing libraries? etc. And he said he is surprised that I took so long to complete assignment and he need to check assignment again and simplify it. During the interview he was insisting me to keep pushing code for whatever changes I made. At this point, I knew I am not going to be selected but CTO asked me to finish remaining implementations and commit the code after interview. I don't understand why he was asking to do that after I spend all my night for assignment without sleep, submitted it at 5 am and attended interview at 6 am in my timezone. And feedback I got is, "we are looking for someone with more production engineering experience.". Really? I shouldn't have attempted the assignment and waste my time on this.