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.Who we are:
MDA is a global communications and information company serving commercial and government customers worldwide. MDA's established global customer base is served by more than 4,800 employees operating from 11 locations in the United States, Canada, and internationally.
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 part of our Engineering team working with a project that is developing software systems using the latest technologies for a diverse and exciting set of satellite ground station activities. 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.
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.
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.
- An understanding of object oriented design and programming.
- Data structures, software design patterns.
- Programming experience in a web environment.
- Behaviour Driven Development.
- Ability to learn new technology and Satellite Ground System domain knowledge quickly.
- 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.
- 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.
Successful candidates will have strong knowledge, proficiency, and experience with:
- Large-scale software development.
- Agile development process.
- Software development with some type of IDE (especially Eclipse).
- Web-based UI design and development (MVC).
- Apache Tomcat, Jetty, Apache HTTP Server.
- Service Oriented Architecture (SOA) for both macro and micro services.
- Web development: HTML (HTML5 & CSS), and XML/XSL.
- Spring Framework, Hibernate.
- RESTful web APIs.
- Knowledge of SQL and experience in RDBMS (Oracle, PostgreSQL).
- Test tools & test data generation.
- Maven, Ant or other software build tool.
- Software version control systems, for example SVN, source code control using GitHub.
- Issue tracking system, for example JIRA.
- Linux, UNIX.
It would be an asset for candidates to have experience with:
- Jenkins, CI integration.
- Cloud deployment via Cloud Foundry.
- API documentation in Apiary.
- Gherkin and Cucumber.
- Logging via Elasticsearch, Logstash, Kibana (ELK).
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.