I am a Software Developer with a passion for ALM, Agile, and Coding Practices. I have been working in .NET as a developer for over a decade, a network admin for years before that. I have worked for large companies and small ones, many that you would recognize some that you probably interact with. I am opinionated and deeply curious about the world. If you have a problem there is a good chance that I would be interested in hearing about it. More than that I want to help others, mostly because I believe that helping a single person raises the quality for everyone.
Other Things of Interest
TL;DR: Technology in your business needs to continually evolve or it will become toxic, doing more damage to your business than any advantage you originally gained.
The red queen problem is a problem that is modeled in nature as a reality; that there are two species that are in continual evolution fighting to get the upper hand. The name comes from a line in Alice and Wonderland. But is serves as an example that in order to survive one ground must struggle to get the upper hand, once that species has the upper hand they have to defend it. This is a parallel that can be pointed directly to business to business competition. Through the course of this blog post I will explain not only how this relates to the field of computer science and business. I will attempt to lay out the problem with the method of thinking.
I have worked in technology for well over a decade, and I find this to be one of the reoccurring topics that we can't seem to escape. If you are looking to interact with technology and make it a central part of your business, realize that you are entering into an evolutionary race. As a business you have to come to grips with the fact that the amazing solution that you put into place today is not going to be silver bullet. Today's advantage is tomorrows liability. This is one of the reasons that I have realized that consultancies for technology are a failure. The Idea is that you can hire someone today and then you won't need them tomorrow.
In the business to business case the number of times that I see someone come to us asking for a feature similar to a feature that exists on the site of a competitor is too many to count. In every case that I have seen they have spent enough time playing with the functionality that they generally have a better understanding of the user experience than the people that initially developed it (this excludes the testers, those poor souls). So in this case we see that we have one group of businesses setting the path, but if it's the right path it isn't long before your competitors will follow your lead, and it's likely that they will take it to the next step. Leaving you in a place where you are open to poaching. In the event that this isn't the case, people become complacent and a whole new breed of creature comes up to eat you. A great example of this is the Uber vs Taxi, and no matter how many stories that you hear smearing Uber ask any hard core traveler if they would rather get into a taxi or an uber and I think you will find that they opt for the better experience every time. Think your business model is immune to this? So did the taxi companies.
In the management vs workers case we are seeing a constant battle between the expansion of workers rights and the desire for lower wages.
The take aways from this:
As part of a project that I am working on I was doing some work with Azure Data Lake. As part of the solution we need to analyses large amounts of data that will be generated by users and condensed into some interesting analytics. As part of the PoC we decided to look at two different directions in attempting to solve the problem. The first was to build a solution in data lake that would take all of the generated data and summarize it into something that would make some sense. The second was building an application to run the analytics.
At the current moment I think the hardest part of working with the toolset is the lack of documentation that exists. I'm sure this will improve over time and is something that is normal for pre-release software.
So... what was I attempting to do? The idea is simple we wanted one of our applications to publish a message to an event hub to capture that the event happened, we are expecting there to be several thousands of these messages over the course of an hour (not really too ambitious but it's a place to start and the key is making sure that we can scale when we need to). From that point we would have web workers that would take those messages off of the event hub and push them over to table storage (cheap storage is always a good thing), then we would move them from the table storage over to data lake and run some processes for aggregating the data. Nothing to complicated, after working through all of the steps needed to make it happen we were successful. The whole process worked fairly well and would have done what we needed and the pricing on it was much less than I expected for the demo. Even with all of the services parts spun up I was still going to come in well under my $50 allocation for MSDN.
The application direction ends up exactly where you think it would, too much yak shaving to make it worth while, so there's nothing really interesting to talk about there.
In the end we decided not to go this way because we decided that part of the underlying architecture was the problem and that we would be able to get better analytics out of fixing that part. But in the end I have to say that I was really surprised about the quality of the product that's out there and I'm extremely interested to see where the final version ends up.
So I have been working on migrating the site from DNN to Umbraco, in the long run it's a better fit for me. Hopefully this will mean more updates in the days to come as I will have less of the other maintenance to do on a regular basis.