Seeking a highly motivated Team Leader, Software Engineering who will be responsible for the development of software architecture, software design, development and testing for a wide variety of technological domains in our Integrated Systems Division.
Responsibilities: The candidate will provide technical leadership for a team of software engineers to meet technology development goals and customer requirements. In addition to providing day-to-day leadership, the candidate will mentor the junior team-members and share the software development responsibilities with the team. He/ She will be highly ambitious with an interdisciplinary outlook, team and goal-oriented approach.
- Provide technical leadership for projects by architecting and designing software for a wide variety of technology areas such as cyber-security, network protocols, algorithms development, data processing, data analysis, data fusion, modeling/simulation, image processing, device-drivers development and application software development. To shoulder this responsibility, the candidate’s experience in a wide variety of software domains will be a significant advantage and a key discriminator.
- Collaborate with team members for software design, development, testing and prepare documentation for variety of projects including short assignments dealing with technology feasibility demonstration to longer duration projects involving the development of complex systems to meet customer requirements.
- Monitor technical performance of the team to meet our standards and advance technology capability.
- Work collaboratively with and provide support in research, product, and prototype development to Marketing and Manufacturing groups.
- Work in accordance with established system development processes, procedures and help improve the current process.
- Contribute to the professional development of junior technical staff through mentoring and suggested areas of improvement as well as conduct periodic performance appraisals.
- Bachelor’s Degree in Computer Science, Computer Engineering, or Electrical Engineering. Must be able to demonstrate a strong portfolio of a wide variety of domain specific software design, development and testing experience. Master’s degree is a plus.
- Demonstrated experience with languages such as C, C++, Java, Python, Software template libraries, multi-threading, software design tools and methodologies, software design patterns.
- System level knowledge of Windows/Linux operating systems
- Demonstrated experience with software development tools such as SVN, Eclipse, Makefiles, Agile development methodology
- Experience with standard libraries is a plus, including but not limited to Qt, OpenCV, Boost, Caffe, Worldwind.
- 7 years of experience developing and managing software projects within cost and schedule constraints.
- 5+ years of experience with software systems engineering; providing sound technical performance and guidance on a variety of areas including software architecture, software engineering, software design/development, testing, integration, test, documentation and training.
- Ability to generate, maintain, and follow a budget, set and maintain project schedules, all without appreciable supervision.
- Excellent problem-solving ability. Should be able to adapt to new technical area and software tools quickly.
- Solid communication skills: verbal and writing
- U.S. Citizenship required