Quester Tangent is seeking a Junior to Intermediate level Software Developer with a solid understanding of both client and server side Web UI development for our on-train, configuration and testing applications. As a software developer, you will be involved in all stages of the software product development lifecycle with emphasis on conformance, reliability, testability and maintainability. You will design, implement, test and document to ensure the software meets technical requirements and applicable standards.
This position will be adapted to meet the abilities of the successful applicant. The applicant with significant training and experience will be given the challenges and responsibility to match their abilities. A Junior level incumbent will receive the time and mentoring necessary to develop into the role.
Quester Tangent offers a competitive salary and benefits package, opportunity for travel, quarterly personal days, and flexible core hours.
Main responsibilities include:
- Working directly with the Software Product Team Lead to determine scope of requirements, design and implementation strategies.
- Coordination and collaboration with software development team members and internal stakeholders
- Planning, estimating and scheduling relevant work breakdown
- Preparing requirements, design, and test documentation to IEEE 1558 software standards
- Implementing unit and integration level test suites for incorporation into automated test infrastructure
- Designing, implementing, testing and debugging embedded web user interfaces for train operator and maintenance displays in a Linux environment on ARM targets.
- Designing, implementing, testing and debugging for train configuration and automated testing applications on a variety of platforms
- Support will be given to new development as well as maintenance on existing code base
- Support will include creation of rapid prototypes to aid in the design process
- Diploma or degree in Software or Computer Engineering, Computer Science; or related experience
- >2 years product development experience coding and debugging
- Understanding of design for test, white and black box methodologies
- Firm understanding of software standards
- Excellent verbal and written communication skills
- Excellent organizational skills
- Ability to create innovative, yet maintainable and testable solutions
- >1 year experience in Node.js, WebSockets, XML, CSS, HTML, DOM, and JSON
- >1 year experience in use of a revision control system
- Experience using the Chrome Web Inspector to debug the front end
- C/C++ in a real-time, multi-threaded environment
- Development under Linux OS with use of gdb, valgrind, tcpdump, SSH and similar tools
- Familiarity with IEEE SW standards (1558 applies to rail equipment)
- Perforce Helix revision control system
- Creation of automated test scripts for unit and integration tests
- SQLite RDBMS and/or key-value data storage paradigm
- Familiarity with networking and distributed system concepts
- Application networking software
- Experience with scripting languages
- Ability to work directly with electronics