Saturday, October 25, 2014

Learning to Develop Software Progress

I have made some pretty good progress in several areas of learning how to do this software development thing.

Discrete Math Continuing to work through Discrete Maths text book. I am almost finished with Chapter 5: Sequences. Turns out I really like summations. We have gotten to defining sequences recursively, which would have been good background to have in Principles of Computing. Connecting the dots in this way makes me glad I am taking the time to do this.

Work Tasks I have done two coding pieces recently at the J-O-B. I wrote a visualizer in Ruby that uses base class inheritance to organize our ontology, rather than the current organization by domains, which are just general areas of knowledge. Using domains like 'sports', 'cricket', 'engineering', and 'physics' is a pretty unintuitive means to browse a hierarchy. There is no consistent level, and knowing one has to look in the 'time' domain for the broadest concept of 'event' in our ontology is non-obvious, particularly when there is an 'event' domain!! It was really good to see how flat our hierarchy is and identify where we can add in some levels to make a more cohesive and browsable ontology.

I also started learning the Visual Studio IDE and C# language. I have written several small methods to help with a data on-boarding task I currently have. It is a nice way to ease into the language. It makes me realize how much there is to learn, though. I had to use our internal JSON paring library and create a dictionary to assign the appropriate language given a data source provider. Good stuff.

Self-Project I finally came up with a project idea and have a pretty reasonable scope! The idea isn't earth-shatteringly interesting or unique, but I like it and will be able to see it through.
I just started to put together the prototype design document, but it is an interesting little project that will require accessing or storing data, manipulating it into a given format, and then creating a mobile app to serve it up on mobile devices. I think mobile is the best platform for what I want to do, plus it is good skill expansion.

No comments: