I joined Certua about 3 years ago, straight out of university. Here I've been part of an equally eclectic set of projects. Day to day I work a little bit on the data science side and a little bit on the engineering side. It has been great to watch how our technology stack has evolved over time, going from manual testing and releases to a fully flushed CI/CD pipeline.
Outside of Certua I maintain an open source library called JAAQL. This has helped me a lot with my job and vice versa as things I learn are interchangeable between JAAQL and Certua, allowing me to perform my best at both. I also like road cycling.
This is certainly a tricky question. I'm going to have to bend your request for one and put forward 2.
The first one is a small internal project called IQ-Treats(Testing Repository and Actioning Service) that I developed initially solo before getting a helping hand from one of our new developers. Whilst it's still in development, we aim for it to be a repository for all the multi system tests we have at Certua, be they postman tests, front end tests or request style tests that we can use to test RESTful services. It hooks up with teamcity and can spot deployments automatically, alerting us to any issues with multi system products without us having to lift a finger.
For the other project, I would have to say our Invoice Financing proposition. For anyone not in the know, it allows a company representative to automatically apply for and receive financing based on a model for which their accounting packages and banking data are inputs (along with other things). The models are swappable with a wide array of data so anyone can design one for their business case, if they want to distribute the product themselves. It really dawned on me how far we've come at Certua when releasing it. Whilst there was a lot of original work done on the project, there was a significant amount of redirecting data from existing services using our API
When we talk about machine learning, we must speak about the data revolution as the 2 go hand in hand. Without data there can be no machine learning and without an automated model to process these large quantities of data, it is overwhelming. Many people have described the process as democratising finance. Whilst it is true that finance has been democratised in the way of lowering barriers to entry, I'd argue that this is incorrect for everything else. In my opinion, it has broken a centuries long hierarchy to replace it with a new one entirely. The hierarchy of efficiency.
SMEs have always had access to credit but only recently have had access to alternative lines of credit. Initiatives like open banking have made it possible for alternative providers to overcome the "data blind spot", meaning informed decisions can be made. Financing like this is to me a moral imperative. Businesses who get access to better rates with less hassle are able to grow more efficiently. This creates wealth, jobs and allows them to cut their prices making their product more affordable to everyone. Credit distributors who can more accurately sort the wheat from the chaff are more likely to succeed, making their investors money and thereby increasing the pool of finance they have available to good prospects, who can now grow more. An open and free marketplace for credit where competition occurs at the level of ease of access and best rates. This is efficiency.
Over the next 10 years, I see the growth of embedded finance. Platforms with data "reservoirs" on their users can give access to new products, be they in the form of insurance, discounts, financing. These products will have more competitive offerings and be even easier to access for consumers.
Projects. Projects. Projects. I don't think I've ever used a programming book/online course. If you start with a project in mind, you can learn the tools you need to do the job, as and when you need them. It works for people who've never written a line of code before to people who've been coding for years. This makes the process far more engaging and even though you only learn what you need, you end up learning far more in my opinion than going page by page through a book. Once the project is over, my curiosity drags me back to what I have used along the way, why does it work that way/why was it designed like that? Once I've used something "in anger" I'm far more likely to gain a theoretical understanding of it as well. It is important to cover your engineering skills with a good theoretical backing as tools work best in certain situations where they are deployed correctly. Assumptions you make about something you thought you understood will come back to bite you down the road.
Like mastery of any skill, the road to becoming a great developer is a long one (one I still have a great deal of distance to travel down) and becomes less and less about what frameworks and languages you know to how well you can operate within a team and delegate tasks. I remember reading somewhere that doing something for 10k hours brings mastery of a skill. I'd say developers starting out spend about half their time writing code (and will progress to less) which is about 1000 hours a year. If this seems daunting, remember that one does not need to be a master of their craft to add value where it counts. Before you know it, tasks which seemed impossible will seem tedious and you'll be able to provide just that extra layer of competence.
Starting at Certua as a bright eyed intern, I hadn't had much experience in "vectorised functions". This is a function that takes a 'list' as an input and will perform a function on all elements. This may not seem like much but it's key for working in python/numpy which is a core part of my day to day data science work. This to me unlocked a whole new paradigm for programming (sort of like imperative vs functional) and today I am on call if any of our python code needs optimising. I develop best in a hands off way and mentorship at Certua has helped me develop like this. I've always felt like I've had freedom to choose my own direction and the guidance available, should I need it.