Post #3

A quick project update – I’m beginning to move from planning into coding. The planning stage of this ended up taking longer than anticipated. As a reminder, my team is taking an existing desktop application and converting the calculation engine over to a cloud based system. Most of the calculation-specific functions can be left alone, but a lot of supporting utility functions are looking for folder and file structures that you would see on your desktop (e.g. find and read the file at Corvallis/DataCache/pastResult.csv). For that example, I have to modify all these supporting functions to interact with an AWS database instead of looking for a desktop file structure. Technically it is not that challenging, but it is a lot of code to parse through to look for any line that could be impacted by this cloud conversion. I think I found all the impacted functions, but we will see!

I’ve run into an interesting predicament where I need to decide to try to further refactor/optimize the existing code for this new cloud structure or do I try to minimize the amount of time needed and try to do as close of a conversion of desktop functionality to cloud as possible. Initially I planned to save past calculation results in a pretty simple database, but then began to realize there is a nested file structure for the desktop app that saves results of similar (but not identical) calculation runs that wouldn’t be captured in my original simple database. If I want to fix this in an elegant/logical way, I will end up needing to modify a bunch of the calculation functions as well which will add much more time to this conversion. I can solve it in an ‘okay’ way that would allow me to not touch any of the calculation functions. Decisions, decisions! I’d like to solve it the more ‘correct’ way, but I likely won’t have time to complete it this quarter.

Learning C# hasn’t been too bad yet. I’ve mostly been reading through C# code to understand it and not actually coding in it so my comfort level could change rapidly, but I don’t anticipate any issues. I do have a new appreciation for what any new developer has to go through when joining a new project. There can be a lot to take in between the thousands of lines of code, potentially a new language for you or new technology. I certainly felt overwhelmed at first but just took it one line at a time and I’ve reached a point that I am very comfortable with the existing code base. Similarly, I can now appreciate all the work that goes into converting an application between different platforms (mac vs. windows, ios vs. android) or similar to my project going from a desktop application to something cloud/web based. It’s quite a bit of work!

Feels good to finally get going on the code, so here’s to hoping for a smooth implementation.

Print Friendly, PDF & Email






Leave a Reply

Your email address will not be published. Required fields are marked *