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 development 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 bring your past experiences to a new level and impact.
We are looking for highly motivated and capable Intermediate Software developers for our Vancouver, BC office (Relocation will be provided). This is your opportunity as a Software developer to use 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.
What would you do if you were hired for this job
Successful candidates would join our team as a software developer and can expect to:
Learn &ndash while you leverage your past work experience, we will teach you about satellite ground station domains and our customers.
Work &ndash you will join a team within the Satellite Ground Systems group. Your team leader will be your guide and challenge you with project-based work that is best suited to your skills and experience. The software that you develop and engineering duties remains your responsibility. Immerse yourself, and dedication will yield results you can be proud of delivered to end customers and used in real-world, geo-spatial applications.
Grow &ndash your talents will be rewarded with opportunities for career and personal growth in an organization dedicated to success in a team environment.
Creating engineering solutions that are attractive, cost-effective and have direct impact to our customers
Working from requirements and customer interactions to develop or modify complex software applications
Working with senior technical staff, stakeholders, customers and QA
Planning work, providing effort estimates, driving your work to completion &ndash on time & on budget
Designing, coding, testing, debugging and documenting high quality software applications at the system level
Participating in integration, testing and deployment of software applications at the system level
Assisting in troubleshooting problems in a software production environment and at the system level
Following established development processes and corporate technical and quality standards
A University Degree or Technical Diploma from an accredited institution in computer science, software engineering, or a combination of related education and experience
Minimum 4 years work experience as a software developer
Perform software requirements analysis, module/component level design and high level design and work with system level documents (eg: requirements, high level design and interface controls/APIs)
An understanding of object oriented design, programming, data structures and algorithms, software development design patterns and work across multiple systems
Proficient in at least one of Golang, Java, C++, or Python development
Ability to quickly learn on the job and leverage your past experiences and knowledge
Ability to use source code control
Understanding of software development process (eg: waterfall, Agile)
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, critical thinking 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
Proficient knowledge and experience in the following areas will be an asset
Familiarization with unit and integration testing
Service Oriented Architecture (SOA) for both macro and micro services
Past experience running, testing, and deploying application in a cloud environment
Test tools & test data generation
Docker, Kubernetes, Kafka
Github, Gitlab, or Bitbucket
Maven, Ant or other software build tool, Jenkins, CI integration
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.