JOB TITLE: Advanced Software Engineer
DEPARTMENT: Technology - Investment Services Engineering
REPORT TO: Manager, Investment Services Engineering
JOB PURPOSE (JOBSUMMARY): To providesoftware engineering development capabilities that support the technology needsof Invesco's Investment Services business. Work will be focused onproviding custom application development, third party system integration, dataengineering, configuration and operational stability of back and middle officeInvestment Services systems.
KEY RESPONSIBILITIES /DUTIES:
- Using agilemethodologies, complete all tasks related to technical analysis, building andunit testing, quality assurance, system test and implementation in accordancewith Invesco's Enterprise Architecture standards
- Analyze requirements,design, build and test system components or amendments.
- Work closely withbusiness analysts, project managers, architects and other developers to designand implement systems that support the Investment Services business
- Support the adoption ofcloud usage utilising cloud solutions where practical and taking care of alldue considerations including security, support and costs etc.
- Ensure adherence toagreed working practices, with a focus on DevOps. This should cover versioncontrol, build automation, code quality and security, automation of testing aswell as deployment automation.
- Always conform todocumentation, coding, security and quality standards as defined.
- Review, discuss and workwithin agreed timescales and feedback to project managers any variances arisingas tasks are performed.
- Understand theInvestment Services business and make recommendations and technologysuggestions to solve problems and improve efficiency.
- Understand architectureof applications in order to effectively troubleshoot problems and develop moreefficient production processes.
- Be prepared to carry outbusiness analysis tasks to ensure that the development/change meets userrequirements and expectations.
- Prepare for and supportuser acceptance testing
- Perform code reviews andquality assurance tests on the work of other developers.
- Prepare all necessarydocumentation and processes to enable ongoing support of the systems.
- Communicate withinternal and external customers, supervisors and management using clear, user-friendlyterminology (emails, chat, phone, meetings).
- Assist project and linemanagers in producing estimates for the development phase of projects andenhancements.
- Normal officeenvironment with little exposure to noise, dust and temperatures.
- The ability to lift,carry or otherwise move objects of up to 10 pounds is alsonecessary. Normally works a regular schedule of hours, however hoursmay vary depending upon the project or assignment. Hours may includeevenings and/or weekends
- Willingness to travelboth domestically and internationally. Frequency and duration to bedetermined by manager
WORK EXPERIENCE / KNOWLEDGE:
- Minimum of 3-5 years ofproven full-stack applications development experience
- Formal training insystems analysis and software architecture principles
- Experience withrelational database design and development life cycle principles
- Solid experience ofworking in project teams and with third party vendors
- Desire to stay abreastof new development tools and methods
- Experience working withMicrosoft technologies, open-source frameworks, and associated designprinciples
- Experience with ETL(Informatica preferred) and system integration tools
- Experience developingand integrating API's and web services
- Experience working in anagile scrum development environment
- Experience with businessintelligence reporting tools preferred (PowerBI, Tableau)
- Familiarity withenterprise data-centric technologies preferred (MDM, Data Lake, ESB)
- Familiarity with MachineLearning and Artificial Intelligence concepts preferred
- Experience with DevOpstechnologies preferred
- Familiarity with Cloudtechnologies
SKILLS / OTHER PERSONALATTRIBUTES REQUIRED:
- Enjoy challenging andthought provoking work and have a strong desire to learn and progress(motivated enough to self learn)
- Ability to pick up newtechnology quickly and independently
- Knowledge of theinvestments industry, including investment trusts, preferred
- Must have goodorganization and planning skills - capable of managing own workload
- Be able to work underpressure and multi-task while remaining professional and courteous
- Exceptional ability toanalyze requirements / problems and to propose innovative but workablesolutions
- Team player
- Open minded, flexible,and willing to listen for other people's opinions.
- Interpersonal skillsnecessary to effectively communicate over the phone and via email with avariety of individuals at all technical levels are required.
- Excellent verbal andwritten skills
Specific TechnicalSkills Required:
- Microsoft TechnologiesExperience with C#, VB.Net, Team Foundation Server, Sql Server, Unit TestingFrameworks, ASP.Net MVC, Visio
- App Dev Frameworks /
- (nice to have) SpringBoot, Angular JS or similar, Bitbucket, Bamboo, JSON, RAML/SWAGGER, APIGateways
- System Integration ETLtools (Informatica), Messaging (WebSphereMQ)
- Cloud AWS (preferred)
FORMAL EDUCATION: (minimum requirement to perform jobduties)
A Bachelor's Degree in Computer Information Systems \ ComputerScience is preferred or commensurate relevant work experience
COMPETENCY REQUIREMENTS- INVESCO CORE:
- We are passionate aboutour clients' success
- Working together, weachieve more
- We believe in thecontinuous pursuit of performance excellence
- We earn trust by actingwith integrity
- People are thefoundation of our success