A highly technical Software Engineer specializing in Big Data, Machine Learning, and Cloud Architecture. I am driven by interesting challenges and constantly seek to further my own skills in areas of interest including Big Data, Machine Learning, Neural Networks, Distributed Computing, Computer Vision, AI, IoT, Serverless Infrastructure, and more. I am an advocate of clean code and functional design principles and hold myself and those I work with to the highest of standards.
Having worked within both large and small organisations, I am now building out Manta Innovations Ltd as a software consultancy and looking for friendly clients with interesting problems that we can assist with solving.
While I strongly believe in choosing the correct languages and tools to solve the problem at hand, there are a number of languages I look to utilise, which based on my experience and expertise I have identified as best tools for the various services we offer.
Big Data - our big data solutions are based on Apache Spark, a distributed programming framework written in Scala. Due to this we believe Scala, a highly functional and typesafe language, provides the best quality for writing Apache Spark applications.
Machine Learning - our ML solutions often involve Scikit Learn and TensorFlow, two powerful data science libraries written in Python which call out to fast C bindings underneath. Due to the support of these in the Data Science community, we feel that Python, a versatile general purpose language, is a perfect fit.
Cloud Architecture - infrastructure as code (IaC) gives us the benefits of creating and maintaining the same architecture time and time again, and avoiding issues of misconfiguration or undocumented manual processes. Due to the explosion of cloud services, we feel that Terraform provides the best solution for this, as it additionally allows us to avoid vendor lock in that other solutions such as CloudFormation do not afford.
DevOps & Platform Engineering - DevOps is not a job, but a discipline that should be used to empower developers and automate away feedback loops in order to test, deploy, orchestrate, and maintain their applications in safe isolated containers. We look for tools that follow this premise with support from the ground up for docker and kubernetes, rather than trying to rework legacy tools. Due to this we believe in tooling such as Circle CI, FluxCD, Spinnaker, GitLab, and of course GitHub.
Web Apps - a wide area covering everything from backend webservices to static frontend websites. Backend services should seek to be resilient, fast, concurrent, safe, and reliable; whilst frontend sites should seek to be flexible, maintainable, modern, highly configurable, but also still reliable. For these reasons we believe that Golang and Elm offer the best combination for a full CRUD site, however we also offer Python-Flask and Scala-Slick as additional backend configurations.