Summary
Overview
Work History
Education
Skills
Additional Information
Certification
Timeline
Generic

Thakhani Tharage

Software Engineer
Johannesburg

Summary

A seasoned software professional, I bring a comprehensive understanding of software development methodologies, underpinned by proficiency in Java, Spring Boot, Google Guice, JBoss, IBM infrastructure, open-source technologies, and expertise in frontend frameworks like Angular and GWT. With a solid grasp of backend systems, from database management with SQL Server and Oracle to middleware tools like Tibco EMS Active MQ and IBM WebSphere MQ, I've consistently led teams to deliver robust solutions. My acumen in leveraging tools such as Maven, Team City, Jenkins, and IntelliJ amplifies my technical lead capabilities. My strength in bridging communication between technical and non-technical stakeholders, combined with an extensive background in software infrastructure implementations, positions me uniquely for a Technical Lead role. I'm eager to further these proficiencies in a forward-thinking, technology-centric company, leading teams and projects towards innovation and excellence.

Overview

24
24
years of professional experience
3
3
years of post-secondary education
2
2
Certifications
4
4
Languages

Work History

IT Developer

Rand Merchant Bank
01.2015 - Current
  • Java Ecosystem: Employed the advanced features of Java, including multi-threading, generics, and the Java Streams API, while leveraging the Spring Boot framework for rapid microservice development
  • Framework Management: Utilized prominent Java frameworks like Hibernate with Spring Boot to optimize database interactions, transactions, and overall application functionality
  • JBoss EAP: Managed deployments on the JBoss Enterprise Application Platform, ensuring high availability, performance tuning, and system uptime
  • Web Development:
  • Utilized the Google Web Toolkit (GWT) to create modular, reusable UI components, promoting consistent user interfaces
  • Enhanced interfaces with modern JavaScript libraries like Angular and Backbone, and in some cases JavaServer Faces (JSF) for a responsive and interactive user experience
  • API Development: Architected and maintained robust API endpoints for interna system use
  • Database Management: Integrated Java applications with relational databases, optimizing SQL queries through JDBC and ORM tools like Hibernate
  • Atabase used (Oracle and MS SQL)
  • Tibco EMS: Championed the use of Tibco Enterprise Message Service for messaging middleware, integrating different bank procesees efficiently
  • Informatica ETL: Worked with ETL processes with Informatica, ensuring smooth data transitions between source systems and data warehouses
  • Security Protocols: Established and maintained security measures, implementing OAuth2, JWT, and other security protocols within applications
  • Debugging & Monitoring:
  • Employed tools like JProfiler, Log4j, and Spring Boot Actuator for in-depth diagnostics, system health monitoring, and effective debugging
  • Engaged in performance tuning and bottleneck identification, ensuring optimal system performance
  • Development Tools & Practices:
  • Streamlined development processes using Maven and Gradle for dependency management
  • Utilized version control systems | Git and SVN for effective team collaboration and code management
  • Upheld best practices in CI/CD with tools | Jenkins and Team City
  • Engaged in rigorous testing regimes, collaborating with QA teams and utilizing JUnit and Selenium for comprehensive testing
  • Collaboration: Regularly engaged in agile ceremonies, collaborated across cross-functional teams, and actively participated in code reviews, sprint planning, and daily stand-ups
  • Continuous Improvement: Committed to regular code refactoring, technology trend monitoring, and adoption of innovative solutions
  • DevOps Interaction: Applied DevOps prinsiples for environment setups, application monitoring, and aligning development with operational standards.

Business Technology Team Leader

Rand Merchant Bank
06.2019 - Current
  • Line management and personal development of a team.
  • Managing the delivery of system development projects from design through to release for Finance Technology.
  • Facilitate the agile process for the team and the stakeholders.
  • Contributing to the technical solution from design through to code level.
  • Responsible for keeping the big picture in order as well as filling in the cracks between team members.
  • Speaker for the team to the rest of the company at the organizational level
  • Define delivery phases of the project including activities, sub-activities, and milestones
  • Maintain consistency within the development team, managing tools, techniques, and development strategies
  • Take responsibility for ensuring that risks and issues are identified and managed closely for both business units

Software Developer

HSBC
09.2013 - 05.2015
  • Designed and developed systems using various tools and languages, maintained and supported internally developed systems, conducted tests, collaborated with various teams, and recommended system solutions
  • Responsibilities:
  • Java Development with JEE and EJB: Spearheaded the development of scalable and robust enterprise applications using Java Enterprise Edition (JEE)
  • Utilized Enterprise JavaBeans (EJB) for building modular and transactional components, focusing on encapsulating business logic and facilitating efficient database operations
  • SQL Server Expertise: Led the design and maintenance of complex SQL Server databases, optimizing schemas, indexes, and query performance to ensure rapid data retrieval and manipulation
  • Regularly performed database backups, restores, and migrations
  • Stored Procedures: Developed, tested, and optimized stored procedures to encapsulate and standardize complex business logic within the SQL Server environment
  • This resulted in more maintainable code and faster query execution
  • Java Enterprise Edition (JEE) on WebSphere: Architected and deployed robust enterprise applications using JEE on the WebSphere Application Server
  • Ensured applications were scalable, highly available, and met performance benchmarks
  • Messaging with MQ Series: Implemented reliable messaging patterns and workflows using IBM's MQ Series
  • This ensured fault-tolerant, asynchronous communication between distributed applications, improving system resilience and responsiveness
  • Front-end Development with JSF: Leveraged the JavaServer Faces (JSF) framework to design and implement user-friendly, dynamic web interfaces
  • Collaborated with UX/UI designers to ensure seamless user experiences and worked closely with back-end teams to integrate with server-side APIs
  • System Integration: Ensured that various applications integrated seamlessly using a combination of direct database links, messaging via MQ Series, and RESTful/SOAP APIs
  • Performance Monitoring & Tuning: Regularly used profiling tools and logs to monitor system performance, especially focusing on SQL Server optimization and WebSphere application throughput
  • Identified bottlenecks and implemented solutions to address them
  • Team Collaboration: Worked within an agile development environment, participating in daily stand-ups, sprint planning, and code review sessions
  • Collaborated closely with QA teams to ensure software quality and reliability
  • Continuous Learning: Stayed updated with the latest versions and features of SQL Server, WebSphere, MQ Series, and JSF to leverage new functionalities and improve system performance.

Java Developer

Knowledge Dimension
11.2011 - 10.2013
  • Java Development:
  • Led the design, development, and deployment of scalable Java applications, adhering to best practices and design patterns
  • Collaborated closely with cross-functional teams, translating business requirements into functional code
  • Engaged in rigorous testing using tools like JUnit, ensuring the reliability and robustness of developed applications
  • WebSphere Application Server Administration:
  • Managed and monitored the WebSphere Application Server environment, ensuring optimal performance, high availability, and security
  • Performed regular server maintenance, updates, and patching to ensure a stable and secure environment
  • Collaborated with the development team to streamline application deployments and troubleshoot any server-related issues
  • Proficiencies:
  • Demonstrated expertise in Java and Java Enterprise Edition (JEE) and Hibernate
  • Developed user interfaces using front-end technologies like JSF, JavaScript, CSS, and HTML
  • Managed messaging services using IBM WebSphere MQ, ensuring reliable communication between distributed systems
  • Displayed adept knowledge in XML, Web Services (both SOAP and REST), and database management using tools like JPA
  • Administered server configurations, performance tuning, and clustering using WebSphere
  • Demonstrated proficiency in various developer tools including Rational Application Developer, IBM Forms/Forms Experience Builder, and Apache Directory Server.

Technical Trainer and WebSphere Application Server Administrator

11.2009 - 10.2011
  • Technical Training:
  • Designed, developed, and delivered comprehensive technical training modules tailored to the IBM technology stack
  • Conducted hands-on training sessions for IBM Products, ensuring rapid proficiency in the tools and platforms
  • Continuously updated training materials based on technological advancements
  • WebSphere Application Server Administration:
  • Server Management: Demonstrated 95% uptime, effectively managing server lifecycles, including installation, updates, and patching
  • Cluster Management: Successfully managed an average of 10 clusters, ensuring load balancing and high availability
  • Deployment Efficiency: Achieved a 98% first-time successful deployment rate for applications
  • Configuration Changes: Successfully performed an average of 30+ configuration changes per month with less than 0.5% rollback due to issues
  • Access Control: Implemented and maintained access controls for an average of 100+ users, with 99.9% accuracy in role assignments
  • Security Patching: Ensured 100% compliance with security best practices, applying patches and updates within 24 hours of release
  • Incident Resolution: Resolved 90% of server and application incidents within 2 hours of being reported
  • Root Cause Analysis: Successfully identified root causes for 95% of recurring issues, reducing similar incidents by 70%
  • System Health: Maintained an average system health score of 98%, using monitoring tools and regular audits
  • Response Times: Ensured 95% of applications had a response time below the company's defined threshold
  • Optimization: Improved server response times by an average of 20% through meticulous tuning processes
  • Resource Management: Efficiently managed server resources, achieving a 25% increase in concurrent user handling without compromising performance.

Music Producer

Self Employed
01.2000 - 11.2009
  • Transcribed musical compositions and melodic lines to adapt to particular group or create specific musical style.
  • Directed global operations, from starting point of signing artist to label through marketing and sales of music.
  • Handled requests for specific musical selections.
  • Produced music videos broadcast on international cable and satellite networks and streaming music channels.

Education

NATIONAL DIPLOMA - INFORMATION TECHNOLOGY: SOFTWARE DEVELOPMENT

Tshwane University of Technology
01.2007 - 05.2009

TUT - Website Computer Studies

Tshwane University of Technology
01.2007 - 05.2007

Skills

    Object-Oriented Programming

undefined

Additional Information

Skill Category Proficiency Level
Backend Technologies
Java (incl. Java Enterprise Edition) Advanced
Spring Boot Advanced
Google Guice Advanced
EJB (Enterprise JavaBeans) Advanced
WebSphere Application Server Advanced
JBoss Enterprise Application Server Advanced
SQL Server Advanced
Stored Procedures Advanced
Functions Advanced
Oracle Advanced
DB2 Proficient
Frontend Technologies
Angular Advanced
Google Web Toolkit (GWT) Advanced
JavaScript Advanced
JavaServer Faces (JSF) Advanced
React Proficient
Vue.js Proficient
HTML/CSS Advanced
Middleware & Messaging
Web Services (RESTful & SOAP) Advanced
Tibco EMS Advanced
Informatica ETL Proficient
Control-M Advanced
IBM WebSphere MQ Advanced
Security & Authentication
OAuth/OAuth2 Proficient
JWT Proficient
Development Tools & Systems
Maven/Gradle Advanced
Jenkins (CI/CD) Advanced
TeamCity Advanced
Eclipse Advanced
IntelliJ Advanced
JProfiler Proficient
Log4j Proficient
Training & Collaboration
Technical Training & Onboarding Proficient
Agile Methodologies Advanced
Code Review Practices Advanced

Certification

IBM WebSphere MQ Core System Administration

Timeline

Business Technology Team Leader

Rand Merchant Bank
06.2019 - Current

IT Developer

Rand Merchant Bank
01.2015 - Current

Software Developer

HSBC
09.2013 - 05.2015

Java Developer

Knowledge Dimension
11.2011 - 10.2013

Technical Trainer and WebSphere Application Server Administrator

11.2009 - 10.2011

NATIONAL DIPLOMA - INFORMATION TECHNOLOGY: SOFTWARE DEVELOPMENT

Tshwane University of Technology
01.2007 - 05.2009

TUT - Website Computer Studies

Tshwane University of Technology
01.2007 - 05.2007

Music Producer

Self Employed
01.2000 - 11.2009
Thakhani TharageSoftware Engineer