Software Engineer
M&J Engineering · Rockville, MD · 9 mo ago
EngineeringFull-time
Responsibilities
- Develop a data-driven predictive maintenance program in collaboration with ELES staff
- Create CAD drawings of existing vertical transportation equipment
- Support ELES in upgrading the in-house remote monitoring systems
- Interface with other offices to ensure integration and support of Authority systems
- Initiate and conduct studies to measure efficiency and effectiveness of current and proposed systems
- Prepare concise management-level reports on projects and technical issues
- Perform software engineering tasks including requirements specification, system design, development, quality assurance, documentation, and testing
- Work with assigned application systems such as elevator and escalator monitoring data concentrators, communications, networks, microprocessors, and track circuit monitoring tools
- Serve as project engineer for system configuration management, including version control and software change oversight
- Make recommendations on hardware platforms and preferred programming languages for future development
- Represent ELES at meetings with consultants, contractors, and stakeholders; review designs for WMATA standards compliance and interoperability; provide feedback and approvals
- Provide operational guidance, technical advice, and training to Authority staff
- Ensure high levels of performance and reliability for major application systems
- Develop, review, and update WMATA standards, criteria, and specifications in alignment with industry practices
- Prepare technical specifications and task orders for procurement of hardware, software, test equipment, and services
- Work closely with end users to understand information requirements and resolve problems
- Maintain service request logs and project work plans; prepare status reports to track progress
- Advise supervisors on system modifications, deficiencies, user requirements, and recommend improvements
- Coordinate with WMATA personnel to accomplish assigned tasks
- Prepare materials lists and action items for task completion
- Provide draft documents to stakeholders, incorporate comments, and finalize
- Attend required meetings and perform other duties as assigned
Qualifications
- Bachelor’s degree in computer science, mathematics, engineering, or physical sciences
- Minimum of six years of progressively responsible experience in time-critical process-control computer systems design, development, and maintenance
- Extensive expertise in software engineering for time-critical control system design, operation, and maintenance
- Strong project management skills in complex technical environments, including meeting operational requirements, minimizing outages, conserving resources, and ensuring ease of use and maintenance
- Knowledge of concepts, standards, products, and technical support within assigned areas
- Skills in estimating, scheduling, planning, control, and reporting
- Ability to independently customize, implement, and maintain assigned systems in both development and production
- Advanced degree in computer science, mathematics, engineering, or physical sciences (optional)
- Knowledge of two or more of the following: C, C++, Java, JavaScript, Object-Oriented languages, ladder logic programming, assembly language, proprietary microprocessor compiler syntax, relational database programming, Boolean logic, and command languages
Benefits
- Comprehensive package of benefits, including medical, dental and eye insurance, 401(k) retirement plan, life insurance, etc.
- Salary will depend on experience and credentials