I have now been at the new job, new position, and new company for two months and it ls has flown by.
I am a Senior Software Developer on a project for the Air Force at the Lackland Air Force Base. I am on a team that is responsible for 3 different applications.
The application I am working on was developed 15+ years ago and the code base is (STILL) what was used 15+ years ago - CLASSIC ASP! This technology was in vogue back starting in 1996 and yes I worked with it, thankfully it was not Visual Basic 3, which I also know. Gosh, I am old!
The company has won a 5 year contract to TOTALLY UPGRADE this application, YIPPEE.
What I have been tasked with has been building out the application framework. So far I have accomplished the following:
- Creating a Windows virtual machine with a local Oracle 12C database. This is so all the developers can code and test in a local sand box.
- Create the application solution with Visual Studio 2017 and figure out how to get it to work with Oracle 12C. Since we want to use Entity Framework and EF and Oracle don't play well together regarding Store Procedures, we decided to use a blended solution of EF for distinct table Select, Update, Add and Delete operations and then use old school database calls for stored procedures that return reference cursors. I also built out a library to do this with the Oracle Managed Data Access libraries.
- Using ASP.Net and MVC vs classic ASP and Frames. Oh the FRAMES! I now hate frames, frames are on the voodoo doll. "Those people" went frame crazy; there are framesets that use other framesets and so on so and once you get to the actual frame that displays pages, only one page is displayed and the other page is empty; OY is an understatement. We will use a main layout page and minimal partial views and mostly single views.
- Since this is a government application the users will use their government smart cards to be authenticated and authorized. There are libraries in ASP.NET/MVC that can handle individual authentication and authorization (ASP.NET Identity Core) but I had to customize the system to:
- Work with not only Oracle
- Work with non-standard tables.
- Work with the smart card certificate.
- Build out the new application organization and naming conventions. The old application is a mishmash of various web sites and the physical location of files and folders does not match what you see in the development environment.
- Unit Tests. We will do unit tests on all the modules and for that I am currently writing a testing framework using Moq. There is talk of using Nject too but I have not needed it yet.
- Regression Tests. We will do full regression tests which is possible to do with Visual Studio Enterprise edition, which only a few team members will have as they will be responsible for the testing.
- .NET Framework v: 4.7.2
- ASP.Net/MVC v: 5.2.5
- Entity Framework v: 6.2
- Oracle Database v: 188.8.131.52
- Oracle Managed Data Access v: 12.2.1100
- Oracle Managed Data Access Entity Framework v: 12.2.1100
- Bootstrap v: 4.1.3
- jQuery v: 3.3
- jQueryUI v: 1.12.1
- Moq v: 4.10.0
- Automapper v: 7.0.1
Looking back over these two months I can tell you that I am really enjoying the work; I am busy every day, I am very challenged, and I am doing some cool development, my ideas and recommendations are listened to and as a team we work out a solution. Looking back at my time at Rush I am not saying that I hated it; I am saying that I was not fully engaged and not challenged for the work I was doing and I felt that my ideas and thoughts on how to improve things did not matter by upper management (my manager, Jesse, did but his hands were tied).
ANSWER: the tune is Bohemian Rhapsody, 'cause who doesn't like Bohemian Rhapsody, Bohemian Rhapsody, and of course Bohemian Rhapsody.