Intermediate Software Developer



Intermediate Software Developer

Toronto,†Ontario †-†Permanent


Job Description

We're looking for an experienced software developer to participate in the analysis, design, development, operation, and maintenance of software, following the iterative software development process and software engineering best practices. You will be assigned duties based on the projects needs and are expected to execute them while conforming to the internal processes and procedures.

Responsibilities:

-Design, develop, and test high quality functional code
-Creation and maintenance of reference technical documentation
-Promote extensibility and reusability in application design and coding
-Design and develop unit, integration and automation testing code
-Integrate software components into a fully functional software system
-Troubleshoot, debug and upgrade existing systems
-Review current software to identify defects and opportunities for improvement, including technical debt reduction
-Participate in design discussions, code reviews and code inspections
-Support and participate in Agile Scrum Ceremonies
-Ability to be task focused and meet expected deadlines
-Ensures that code is in tip-top shape by running static code analysis tools such as Sonar and resolving any warnings


Must Have Skills:

-Bachelorís Degree in Software related area (Computer Science, Software Engineering, etc)
-Java 8, Java EE (JPA/Hibernate, JMS)
-SQL, SQL Server: experience writing and debugging stored procedures and functions
-Experience developing REST APIs using RestEasy and/or Spring frameworks
-Experience using JBoss as the application server
-Experience developing and deploying in the cloud, in particular AWS
-Unit Testing and Mocking (JUnit, Mockito, EasyMock, etc)
-Build and merge best practices, and can resolve issues independently
-Experience with data structures and algorithms and asymptotic analysis (Big O)
-Domain-Driven Design

Skills:

-Excellent analytical and problem-solving skills
-Strong written and communication skills
-Team player, ability to integrate and collaborate with other team members
-Positive work ethic and attitude, punctuality, judgment, and discretion
-Ability to estimate work accurately
-Adapt to changing priorities
-Aptitude and interest to quickly learn new and emerging technologies and methods
-Attention to detail, judgement, and good decision making
-Ability to be task focused and meet expected deadlines


Nice to Have Skills:

-Ability to problem solve complicated application and database performance issues effectively through the use of profiling tools
-Git/Maven in a continuous build, continuous deployment environment
-Exposure to JavaScript front-end frameworks such as Vue.js, AngularJS, React
-Exposure to Seam 2 and JSF frameworks
-Background in the financial services industry and specifically wealth management industry


Details:

Starting: ASAP
Travel: 0%
Dress Code: Business Casual