Experienced web developer who in a bid to build enterprise class web applications and web services made the switch to Java.
With over 13 years web development experience using PHP, I found myself frustrated by the inconsistencies in the language, the avoidable errors that appear in code due to the language being loosely typed and there being no compile time debugger. IDEs such as PHPStorm do a fantastic job of type hinting and providing guidance when you’re developing applications, but those small error still get in there, there’s 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 difficult to manage due to the size and complexity of the project, and the lack of true 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, but Java edged it as it’s truly cross platform (.NET Core isn’t mature enough for me yet).
The transition to Java was a smooth one, with many programming ideals 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 past experience working with ASP.NET, which helped make the switch to Java fairly 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 a number of 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 a number of 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 organisations 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 using 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.