Hello again, everyone. For those who read my blog a couple of months ago, you may well have been expecting to hear from me a little sooner. Well – I was hoping that would be the case, but it turns out my body had other ideas. I was off for 8 weeks after my appendix ruptured and had to undergo emergency surgery. Beginning my professional career with a bang – quite literally. Anyway, I’ve been back for a couple of weeks now, so I thought I’d get back into the swing of updating my regular journal. Last week was particularly fun, after attending Microsoft’s Future Decoded for the first time – the first of many, I imagine.
What I’ve been doing
With regards to my personal development, not a whole lot has changed since my last blog. I’m still enrolled on a number of online training courses; the most recent of which is Microsoft’s ‘70-532: Developing Microsoft Azure Solutions’ certification. This exam is full of topics and tools that are totally new to me. As I explained in my last blog, my main focus at my time at endjin has been on everything Data Science. I’m currently getting myself used to Virtual Machines: how to build, configure, manage and monitor them using the Azure Resource Manager. I’m making sure I’m taking notes as there are so many new terms to do with computer networking with which I am unfamiliar! The course has also made me realise I may need to become accustomed to C# and PowerShell sooner rather than later – I’ve read that Microsoft enjoy basing a number of questions around C# code snippets and PowerShell cmdlets in their exams, and I wouldn’t want to put myself at a disadvantage just for not understanding these scripts.
I’m currently also collating all the content that will be used in our impending Data Science course, which you can read about at https://endjin.com/academy. This course aims to leave each registrant with a deep understanding of the DS process and good overview of the technical theory governing the DS process, whilst offering insights on endjin’s experience and expertise learned from past projects. The beauty I find with learning more about Data Science theory, is that there is always more to learn – always further to dig into related statistical and machine learning concepts. Then again, I suppose you can say that about most subjects. Hmm, there goes my inspirational insight. I guess what I like most about these types of concepts is that most of the time there is an explanation at multiple points along the detail spectrum. For example:
- A neural network, in the context of Machine Learning, is an algorithm which mimics the way biological systems process information.
- A neural network, in the context of Machine Learning, is an algorithm which mimics the way biological systems process information, using a series of interconnected layers (known as hidden layers) that comprise of nodes and weighted edges to learn an output predictive function from the input data.
- A neural network, in the context of Machine Learning, is an algorithm which mimics the way biological systems process information, using a series of interconnected layers (known as hidden layers) that comprise of nodes and weighted edges to learn an output function from the input data. The hidden nodes contain some ‘activation’ or ‘transfer’ function composed of the feature variables, along with their respective weights. The model learns by iteratively learning and correcting node functions based on incorrect predictions, using a process called ‘Backpropagation’.
- A neural network, in the context of Machine Learning, is an algorithm which mimics the way biological systems process information, using a series of interconnected layers (known as hidden layers) that comprise of nodes and weighted edges to learn an output function from the input data. The hidden nodes contain some ‘activation’ or ‘transfer’ function composed of the feature variables, along with their respective weights. The model learns by iteratively learning and correcting node functions based on incorrect predictions, using a process called ‘Backpropagation’. A metric to measure the significance of the incorrect predictions is the “Sum of Squared Errors”, which, incorporated with an optimization method like “Gradient Descent”, can be used to optimize weights through the use of partial differentiation…
Of course, one can dig even deeper than I have gone here. However, I should think most people would be content with the first or second explanation, and have no desire to delve further now that they know the general idea. It’s the Maths nerds like me that feel obliged to try and understand the goings-on ‘behind the scenes’ with these machine learning algorithms. It’s a blessing and a curse (i.e. when my Mathematical knowledge/capabilities don’t stretch far enough and I get irritated). But, of course, it’s possible to implement these algorithms without having to understand the first thing about how they work, using libraries included in R or Python, for example.
Our course will try and communicate these statistical/machine learning concepts a way in which the registrant will get all the information we feel they ‘need to know’ whilst not boring them with the specifics. We aim to provide an interactive experience for greatest engagement. Anyway, that’s the end of the course promotion (but, I’m telling you, it will be good!)
Last Tuesday and Wednesday, Microsoft hosted their fourth Future Decoded event. It was a great (and new) experience for me. I had never been to a conference before (I was meant to go to the Open Data Science Conference a few weeks ago, but, well – you know what happened). On the Tuesday of FD, I was a sheep. I followed Howard and Matthew around as they struggled to walk 20 metres before bumping into another person they knew. Then would commence a chat of some sort, since that is common courtesy, after all. This could be about business, or just general chit-chat and catching-up. At the moment I can’t offer much to businessy conversation – I’m still learning about many of the solutions endjin provides, and the processes and products which define the solutions – but, I must say, I’ve learned a lot from just being a fly-on-the-wall. Even if the learning’s not done there and then, say, if a certain term has come up in conversation: a mental note is made in order to research it at some later point. For example, I didn’t have a clue what Blockchain was until I overheard it in an informal chat with one of our clients. I spent half an hour looking it up when I got back home and proceeded to wonder how I’d never heard of it before.
But learning new technical stuff is not the only benefit of being a sheep, or a fly. Endjin is a consultancy, and the most difficult part of a lot of projects is exactly that – consulting. Every company has a different culture, and coming in from the outside and trying to define that culture, trying to find a way to resonate with the right people, and then trying to identify the business problem to provide a solution seems to be a knack that only experience can unlock. With each greeting/meeting/chat/catch-up/workshop, I’m learning how to appropriately and effectively interact with clients/partners/connections. One of endjin’s main ideals for the apprenticeship program is direct exposure, an ideal which presents itself almost daily for me.
On the Wednesday, I attended quite a few talks. The opening keynote was very interesting. There was a presentation on Microsoft’s HoloLens, pointing out its various possible uses – from planning a refurbishment, to having your colleague in a virtual state in the room during a meeting, to manufacturing a car door with visual aids. Another part of the keynote was based on encoding data in DNA, to confront the ever-worsening data storage problem. It’s really ground-breaking stuff; data is encrypted and decrypted using combinations of the A, C, G & T DNA bases. According to Wikipedia, one gram of DNA has the capacity to store 215 PETAbytes of data! And regarding longevity – kept at low temperatures, DNA can be stored for a very long time. I thought this was an awesome prospect.
After the keynote, it was straight to one of the session rooms to attend Mike Larah & James Broome’s talk on CosmosDB. Co-presenting with Microsoft’s Phil Harvey, they explained the platform and then showed off its prowess through a case-study of one of our partners Satavia, in which we used the platform to build an Aircraft Predictive Maintenance system. I won’t go into any more detail, as there are upcoming blogs and videos to do just that. One thing I will say, though, is that it was an absolutely brilliant talk! To think that Mike was in my position 5 years ago, having just graduated, and is now giving hitch-less technical demos at Future Decoded is quite unbelievable! And quite daunting, for that matter. No pressure, kid.
I attended two more sessions that day. One of which was building Bots to improve Customer Service, and the tools available to do so. The other was a brief talk on ‘The role of data in Sport’, given by Stuart Hooper, ex-captain and current Director of Performance and Development for Bath Rugby. I’ve always been involved in Sport in one way or another, so I was very interested in hearing this talk. As expected, data is used a lot in Sport – especially Rugby. There are the guessable uses, like its use for weight training: keeping track of what you managed to lift last week, your progression over the year for a certain exercise, and how much you should do this week. The most interesting part, in my opinion, was learning about the little GPS device that Rugby players have attached to their shirts, which provides the coaching and medical staff real-time telemetry, measuring distance, speed, acceleration & g-force etc. It enables coaches to see if the match-play is the same as the way they want to play, i.e. the way they train. It enables the Strength and Conditioning staff to see what areas of fitness the players need to work on. It enables the players to have some friendly competition – who ran the fastest, who made the most tackles etc. It really is a great source of data. But with any type of data, he warned – over-analyze it and it may be to your detriment.
The Wednesday was rounded off with an incredible meal at Japanese restaurant Roka, courtesy of Howard. I hadn’t really eaten authentic Japanese food before that meal, other than a few bites of sushi (of which I never understood the appeal), but I am now a huge fan.
All in all, I’m happy to be back in the swing of things. Daytime television has seen the last of me, although I will miss my daily sitting of ‘Can’t Pay? We’ll Take It Away!’