Java & Spring Boot
An experienced web developer who utilises Java to build enterprise-class web applications and web services.
With over 13 years of web development experience using PHP, I found myself frustrated by the inconsistencies in the language, the avoidable errors that appear in code due to PHP being a loosely typed language. IDEs such as PHPStorm do a fantastic job of type hinting and providing guidance when you are developing applications, but those small errors still get in there, there is only so much the IDE can do.
As I began working on large projects which were required to perform a lot of real-time data processing, the code in PHP was becoming challenging to manage due to the size and complexity of the project, and the lack of reliable multi-threading support was causing some performance issues.
After much research into other programming languages, I decided to make the switch to Java. It was a closely fought match between Microsoft’s ASP.NET and Java. Initially, Java edged it, but recently I have spent time working with ASP.NET Core as it has become more mature.
The transition to Java was a smooth one, with many programming ideas and principles applying to both PHP and Java. Having many years of developing OOP web applications in the past provided me with a good foundation of knowledge as a starting point. I had experience working with ASP.NET, which helped make the switch to Java relatively seamless as C# and Java are very similar in terms of their syntax.
My experience with Java has led me to create command-line applications, one of which pulls in data from Twitter, Facebook, Google+, Instagram, Tumblr and Youtube, which is then stored in an extremely large database (current 100GB+) ready to be accessed by an API which delivers the aggregated feeds to various mobile and web applications.
I have developed several RESTful web services which utilise the Spring Boot framework. The web services are high performance and have quick response times to deal with the variety of clients accessing the data and their potentially unstable network speeds.
The use of the Spring Boot framework has allowed me to develop several intranet and web applications for clients, the largest of which acts as a portal for sales staff and managers in a successful recruitment agency. The intranet provides managers with useful reports allowing them to analyse and review staff performance. It provides consultants with an overview of their current performance and collates leads from the agencies website and makes these available to recruitment staff within the organisation. Large 60″ televisions spread around the organisation’s office display full-screen reports that provide vital real-time sales information to staff, promoting competition and improving target achievement.
My experience with Java has led me to use tools such as Maven package manager, Docker, IntelliJ, Spring Boot, Apache Tomcat and Git. I have experience deploying Java applications to servers running Tomcat, and executable JAR files on shared hosting platforms, AWS and Rackspace Cloud.