Western Asset

Returning Candidate?

Senior Software Engineer

Senior Software Engineer

Information Technology


Responsible for the development of Front Office  business line applications

The ideal candidate will have 10+ years of development experience with a broad range of technologies including multiple programming languages, databases, communication frameworks and operating systems.


Considerable knowledge of software architecture patterns and ability to work in a pragmatic & creative manner to deliver technology solutions to business partners.


Proven ability to lead development teams consisting of business analyst, developers & QA, mentor team members and educate the team on the range of technologies & concepts.


Candidate should have experience working on agile software development projects and be preferably either a Scrum Master or Scrum Developer.


Strong presentation & communication skills, to provide ongoing education to the wider IT organization and an ability to translate complex technology into concepts for business partners can easily understand.


The candidate should be a fast learner, passionate about solving business problems through high-quality technical solutions and be someone who has demonstrated flexibility in meeting the needs of a challenging, fast-paced business environment.


  • Evaluate new technologies for use with the organization
  • Define architecture principles, document and educate peers
  • Lead one or more development teams and manage deliverables to plan and budget
  • Coding in a range of technologies dependent up on need including C++, Java, Python, C# and potentially new languages for various operating systems
  • Drive constant improvements to systems, design, support, testing and development processes & tools
  • Activities include but are not limited to: contributing to design sessions, coding, code reviews, unit testing, integration testing, supporting beta testing, bug fixes, documentation & production support  
  • Develop Frameworks which enable other team members to produce new functionality with minimal coding effort and reduce complexity.
  • Trouble shoot any system failures and discrepancies. Recovery solutions are evaluated, selected and implemented. 
  • Mentoring & training other team members.
  • Design and test systems and/or systems changes accurately to insure system efficiency, integrity, productivity and maintainability.



  • Proactive with ability to take minimal direction. Work well on independent projects or within a team.
  • Passion for solving business problems through the use of technology
  • Strong interpersonal and communication skills
  • Strong critical reasoning skills
  • Enthusiasm for learning
  • Strong work ethic


Specific Technical Knowledge and Experience Required:

  • 10+ years of delivering & supporting enterprise grade applications
  • Intimate knowledge of the inner workings of multiple languages (C++, Java, Python ) including Threading, Memory management, Collections/Data Structures
  • Knowledge of communication frameworks such as REST/RPC/RMI/WS as well as basic working knowledge of TCP/UDP and clustering technologies
  • Scrum Master or Scrum Developer Certification
  • Knowledge of multiple databases in terms of databases design and development with SQL languages. Databases include: (Oracle, Sybase, MemSQL, NoSQL)
  • Experience building modular applications and services
  • Proven knowledge of different software architectural patterns client
  • Fluency with standard design patterns
  • Strong written and verbal communication skills
  • Strong object-oriented application design and development skills
  • Knowledge and experience in modern DevOps toolsets including Docker, Git, SVN, Jenkins, Maven, Jira, Confluence



  • Fixed Income or Financial services experience


Academic Qualifications (minimum requirements):

Minimum BSc degree in Electrical Engineering/Computer Science, Computer Science, Mathematics, Financial Engineering or other related field.