Job Title: Senior Application Software Developer – Level 6
Job Description:
FX/MM Technology (FICC Technology) is looking for a Senior Application Software Developer with working knowledge of Trading Products to contribute to the completion of project deliverables under minimal supervision and is accountable for the analysis, design, development, implementation, and support of applications.
Responsibilities:
• Writes code according to accepted standards based on user requirements with minimal supervision, which are included in the delivery of the application solution, to meet the business need
• Lead in the development, testing, and implementation of small to mid-size initiatives to meet the functional and non-functional requirements of the application. The resulting artifacts will be used to better understand, communicate, and provide specifications during the coding and Quality Assurance activities
• Participates in the analysis and design of initiatives to meet the functional and non-functional requirements of the application. The resulting artifacts will be used to better understand, communicate, and provide specifications during the coding and Quality Assurance (QA) activities
• Performs unit testing on development artifacts to ensure quality and to minimize the number of incidents found during QA
• Support implementation activities in order to promote the application into the production environment in preparation for the user community
• Participate in project and team meetings interacting and collaborating with team members and other departments, when appropriate, to provide a developer’s perspective in the meetings and to contribute to the timely delivery, design, and quality of various work artifacts adhering to Software Development standards, such as International Organization for Standardization (ISO) and Information Technology Infrastructure Library (ITIL), etc.
• Provide coaching and guidance to team members in order to foster professional development of the Application Software Development staff. This helps improve overall effectiveness by sharing and adopting best practices and lessons learned, while minimizing risk
• Participate, and at times lead, in planning, estimating, developing, and testing activities in order to support bug fixes, identify anomalies and misunderstandings, and provide clarity surrounding the interpretation of the requirements
• Participates in software development Process Action Teams to contribute to the continuous improvement of the Software Development Life Cycle (SDLC) processes for the overall effectiveness of the development team
• Acquire end-to-end knowledge of assigned applications from existing documentation, application code, subject matter experts, and/or other application artifacts in order to identify and recommend technical improvement opportunities to senior management (i.e., Senior Manager, Platform Development, Technology Relationship Manager, Development Manager, and Technology Head)
• The incumbent may be called upon to provide application support (i.e., root cause analysis and resolution) for clients, which may include off hours or on call work
• Communicate and coordinate initiatives with different teams/groups within or outside the Department
Core Knowledge:
Knowledge:
• Possesses a university degree/college diploma in applied technologies and/or 2-4 years systems analysis and programming experience with extensive business knowledge
• Possesses solid knowledge of design and analysis methodology and application development processes from both an industry and BMO perspective
• Demonstrates good understanding of the Software Development Life Cycle (SDLC)
• Exhibits good understanding of relevant technologies
Skills:
• Possesses good analytical skills for complex problem solving
• Demonstrates good communication skills both written and verbal
• Is detail-oriented with good organizational skills
• Demonstrates growing leadership and independence
• Technical:
Function | Technical Skills | Business Product or Process Knowledge | Vendor Application Knowledge | Years of Experience |
System Development | Java/J2EE/JEE/XML/.NET/VBA | Experience in Java/ | Java/J2EE/JEE/XML | 6+ |
System Development | SQL/PL?SQL Experience | Worked through a full dev cycle, with the most impactful work centered on analyzing and sanitizing existing data, including the related CRUD API. | Oracle/PostgreSQL | 6+ |
System Development | Unix shell scripting | Create or Update scripts as per defined business requirements | Korn/Bash shell scripting | 6+ |
System Development | Bitbucket, JIRA, Confluence, Clearcase, Bamboo, Maven, Ant | Working experience developing and building versioned code and automated deployments | Bitbucket/JIRA/Confluence/Clearcase, | 6+ |
System Development | Agile/ SDLC/Scrum/Sprint | Experience working in an | Agile/SDLC/Scrum | 6+ |
Data Management & Migration | ETL Tools and development | Developed utilities focused on client data reconciliation between databases in a distributed environment | Oracle/MS SQL Server | 6+ |
QA, SIT, UAT, Performance Testing / Test Automation | Unit test creation and maintenance | Unit testing framework like Mockito, Junit, etc. | Java/Junit/Mockito | 6+ |
System Design | Object Oriented Design Experience | Created User Cases, System Sequence Diagrams, Rational Data Models, Class Diagrams, etc. | User Cases/System | 6+ |