I joined a company three and a half months ago and prior to that, I worked for another industrial automation company as a junior software engineer for one year (late 2018 to early 2020). I have a Master's degree in high performance heterogeneous computing.
I am the only software developer in my current company and two months ago, I was asked to re-create an existing database to help out a team. I was not given any explicit requirements besides being told that the new software should be more user-friendly than the older one. I used C# and SQL Server to create the software but I had no prior experience with C# and SQL Server before. I used VB.NET , WPF and Windows forms in my previous company and I found C# to be very similar to it and I learned SQL a few months ago by taking a course on Udemy. I asked my manager for three weeks to build the software and I released it after 3 weeks. My manager was not pleased with the appearance and usability of the software and told me to re-create the software in two weeks. In those two weeks, I was expected to document the software specs, create a wireframe of the software and get approval from the entire team and complete the implementation of the new software design.
In the new software, I reused many of the things I had created earlier but I was also required to do many new things which I didn't have prior experience with (creating PDF reports with SQL data, filter list-view data according to text typed by the user, store documents in the database and fetch them, CRUD operations, etc.). There are about 12 tables in the database and each table has about 6-15 entries. Given the number of things I had to learn and implement and the fact that I was building this software alone, I found two weeks to be insufficient. I had to work over-time for several days and I still couldn't complete the software but did most things. Fortunately, my manager was pleased with my efforts and gave me an additional week to have the software finished and ready for use. Two weeks later (some of my time was lost because of getting vaccinated), there are still many unfinished little things and trivial bugs in the software but the software is more or less functional.
Given my circumstances, do you think I should have finished the software within two weeks? I want to know what the general expectations are in the industry for such tasks so that I can address any shortcomings I have and position myself for a successful and long lasting career.