Role: Java Developer
Work Location: Mississauga, Ontario (Day one onsite required)
Contract
Job Purpose
The Senior Software Engineer works as part of a team of developers focused on building enterprise customer experience management software
They find solutions for converting client requirements into product implementations and contribute to the software architecture of a highly concurrent high throughput system through writing code
Duties Responsibilities
The following is a list of the essential duties and responsibilities of this job
Key Results Expectations
Find solutions for converting client requirements into product implementations
Participate in full software development life cycle
Write code and contribute to the software architecture of a highly concurrent high throughput system
Role Responsibilities
Contribute to design of new functionality and expand existing functionality
Collaborate with Software Engineers Team Lead and management on product roadmap and architecture development plans
Help to train and mentor other Software Engineers
Manage a number of projects and tasks using a variety of technologies
May travel to visit clients throughout North America to participate in design sessions and deliver technical presentations and training
Learn and become proficient with new technologies as product designs dictate This may occasionally involve training at local and national technical training workshops
Education Requirements
Bachelors degree in Computer Science or Engineering or equivalent experience
Work Experience Requirements
Minimum of 5 years of experience in Java environments
Proficiency in Java 8 object oriented design with knowledge of Spring and Java EE
Experience with Amazon AWS cloud services such as EC2 S3 SQS Kafka and RDS is preferred
Experience in Java concurrency use of relational databases and stream processing
Experience writing JUnit tests to achieve high test coverage of Java code changes
Leadership experience is preferred
Key Skills Abilities Required
Effective communication and organizational skills
Team player who takes pride in their work
Well rounded agile adaptable and responsible individual with hands on experience of all phases of a project requirements design development testing and deployment
Strong analytical and problem solving skills
Thrives in a fast paced delivery oriented environment with the ability to multitask and manage multiple competing deliverables and deadlines
Strong object oriented programming skills and knowledge of design patterns
Ability and desire to work at a very detailed level while also having the ability to understand objectives from a macro perspective
Willing to work extended hours to meet deadlines when required
Passionate about building great software that exceeds user expectations
Ability to learn and adapt to new technologies through training self advancement and collaboration with peers