We got a call from a client that he wants 'boat' tracking tool, same as the car one.
-What car tracking tool? We didn't make any car tracking tool. What is tracking
-Well you know, your car tracking app - we now want a boat one!
Boss and I laughed it out on a confused client.
As it turned out, few years before both of us together made an web app that was connected with client mobile app (made by colleague) which collected, calculated and stored anon data for better inventory management. It worked so fine for years, calculating and growing in db size without problems - even used by client daily, that we completely forgot about it!
And there are two events I can remember clearly.
One is dear to me as I managed to improve car sales fleet app. The old one took 5 seconds to collect and calculate one car model info, and I managed to make it almost instantaneous for a whole model range! And I got a call from a client... price is calculated wrongly, fix it! As it was informal model builder so you can configure your vehicle with different options, packages and parts, I said I was busy right now but can fix it afternoon. Nooo - screamed client, whole region is waiting for a price list, we need it ASAP!
This model builder is made for 6 countries with specialized options and discounts for each but I managed to put it into 2 connected codebases. It was fast. It was powerful. It was very user friendly. And it was total opposite of their official must-use-by-official-dealers in the world - so for a whole year they used it as their official price list! I still remember my comment - so how did we get from For informational purposes only to a official price list used by all dealers?!
And second one is not that pleasant. There is a chocolate candy that keeps me reminding me whenever I see it in the store: there was request for a prize game website, and generation for unique codes accompanying it. It was Friday early afternoon after a busy week. So I commented how it's maybe time for early weekend and boss said we can generate codes for this. I was tired, documentation was of course non-existing and you had to scramble it from communications. My guts told me not to rush - and really there was no deadline. I didn't want to do it - didn't know the story, the need, the usage, nothing. But they forced me anyway. So I hanged on variable I knew - make it unique on the promise it will be printed.
It was wrong.
Long story short, I generated few million codes in short time, guaranteed unique, but you could guess the sequence by seeing few codes. Remember, I thought it would need to be printed and sent. Chaos ensured. People entered their own numbers. Game failed. Two client employees was fired.
All because.. let's squeeze all the work hours from developers, and because you saved those two hours, you lost hundred in fixing it (literally).
I think that concentrating on the technology is wrong. Tech comes and goes. asp? Web Forms? MVC? .NET? .NET Core? Flash? Silverlight? jQuery? Knockout? Angular v1? Are we still connecting to db with ODBC? How many authorization frameworks did .NET had? ES6? ES2016? NodeJS?
What they should ask is - what did you learn? Your stack will be obsolete sooner or later, with right design pattern or architecture your project will be prepared when time comes to replace modules. EF is great, but do you know what SQL will it generate when joining dozen tables for a report? Big picture comes first, technology follows it.
What technology I used? What was appropriate for that time - not the bleeding edge, not older than 3 years. Never failed me if I knew the scope of the project.
It's normal. Try to remember project highlight, details will pop-up.