Are you keen to have large scale impact in the work that you do? Are you eager to learn and develop your career in software and systems engineering? Do you want to work with experienced engineers who are delivering leading-edge technical solutions?
If you do, we would be thrilled to have the opportunity to discuss why you should consider MDA to launch your career or bring your past experiences to a new level and impact.
MDA is a world leading provider of earth observation satellite ground systems focused on the acquisition, processing, archiving, and discovery of huge volumes of space-based imagery. Working in multidisciplinary and multi-level teams in an ever changing world, we deliver leading-edge technical, operational, and commercial solutions to commercial and government customers around the globe. Our mission critical systems provide the Earth Observation infrastructure that drives operational success and enables our customers to effectively utilize their space-based imagery. Building on 40 years of success in satellite earth observation leadership, we are seeking staff to define and deliver the next generation of large, complex earth observation satellite ground systems. Come be a part of the team bringing imagery from the next generation of satellite constellations to the screens of the world.Position Description:
This opportunity is to be a part of the Contact Manager (CM) team which is responsible for coordinating the satellite contact with the Ground Systems and controlling the Ground System's devices. We offer a diverse development environment including client-server applications, web-based user interfaces including interaction with web API and web services design, external system interfaces, and automated software build and test systems. Primary Activities
As a full-stack Software Engineer, you will participate in all phases of the software engineering life cycle and your talents will be recognized and rewarded with opportunities for career and personal growth in an organization dedicated to success in a team environment. Responsibilities will include:
- Creating engineering solutions that are attractive to our customers and are cost-effective.
- Working from requirements to develop or modify complex software applications.
- Planning work, providing effort estimates and driving your work to completion.
- Designing, coding, testing, debugging and documenting high quality software applications.
- Participating in integration, testing and deployment of software applications.
- Assisting in troubleshooting problems in a software production environment.
- Following established development processes and corporate technical and quality standards.
- Identifying and incorporating potential technological advances in line with the long-term goals of the Ground Systems business.
- As a software team lead
- Leadership of the technical teams to successfully complete all assigned work and mentoring of team members.
- Estimating, planning, tracking and driving assigned work through completion and into operatio
Candidates must have the following knowledge, experience and skills:
- A University Degree or Technical Diploma from an accredited institution in computer science, software engineering, or a combination of related education and experience.
- 4+ years of experiences in software development.
- An understanding of object oriented design and programming.
- Programming experience in a web environment.
- RESTful web APIs and endpoints
- SQL database design, development and implementation.
- Ability to learn new technology and Satellite Ground System domain knowledge quickly..
- Behaviour Driven Development.
- Source code control using GitHub.
- Service Oriented Architecture (SOA) for both macro and micro services.
- Team-friendly attitude and a willingness to learn and work on all stages of the standard software life cycle including post-delivery support.
- Possess excellent problem-solving skills. Excellent verbal and written communication skills.
- The ability to work within a large organization and understand dependencies and stakeholder needs.
- Team oriented approach to solving technical problems within budget and schedule constraints.
- The ability to lead a team or own a significant portion of a large software system.
- Demonstrated ability to establish and track a plan, manage risk and assess team performance.
Successful candidates have strong knowledge and experience with:
- Apache Tomcat, Jetty, Apache HTTP Server.
- Software version control systems, for example SVN.
- Software design patterns.
- Web-based UI design and development.
- Software development with some type of IDE (especially Eclipse).
- Agile development process.
- Large-scale software development.
- Test tools & test data generation.
- Spring Framework.
- Maven, Ant or other software build tool.
It would be an asset for candidates to have experience with:
- Web development: HTML (HTML5 & CSS) and XML/XSL
- Jenkins, CI integration
- Cloud deployment via Cloud Foundry.
- API documentation in Apiary.
- Gherkin and Cucumber.
- Logging via Elastisearch, Logstash, Kibana (ELK).
Positions are based in Richmond, BC and may include travel.
Successful candidate(s) must be able to obtain and hold security clearance at the Reliability level, and pass security assessment for the Controlled Goods Program.
For candidates with less than three years of work experience, please include a transcript of your grades with your application.
MDA provides customers around the world with essential information solutions used for decision making. Our employees enjoy challenging careers with opportunity for growth and learning.
MDA is an Equal Opportunity Employer.