Update: Actively interested in machine learning at time of writing, further details below.
I began learning to program, in fits and starts when I was 33. My day job didn’t require it but it became more and more helpful. By the time I left the role, I was at an advanced beginner stage with my understanding – basic grasp of OOP concepts, some functional coding skill in F# and enough SQL server knowledge to build simple databases with basic constraints.
I left, took a years career break and stopped working on computers for about the same amount of time, after I got a Coursera qualification in R programming. I got my first proper junior developer role in November 2015 and from day one was working on Oracle and SQL Server databases, legacy code projects in VB/C# and bringing some of those up to .Net 4 standards. I use a lot of stored procs and have become familiar with dynamic sql and using openquery to talk to oracle via sql server. The new standards implemented where I work are high – which means every potential exception accounted for in some way, solid data annotations and more.
- VB, C#, F#
- T-SQL, Oracle
Addition, I've used T4 templating, plenty of LINQ, entity framework, WPF in addition to Winforms, F# type providers and written a generic dynamic rules engine that generates a list of lambda predicates using expression trees in VB.
Other projects include a simply flowdocument printer with header, pagination, scaling and variable margin/border thickness.
I've an increasing interest in machine learning and AI. Currently I'm learning the basics of neural networks with a view to implementing a fractal one that is a neural net composed of neural nets. Part of this is investigating whether a genetic algorithm can be used by the higher levels of the NN to spawn neural net nodes on demand. May be a rather tall, naive order but that's ok; setting out to find out if it's possible will no doubt lead to interesting skill sets regardless.
I don't think people should have to just adapt to software. I don't think software can be quickly made to adapt to people either but I do think there is a solid balance to be struck and it should be biased towards the people NOT the implementation.