To see other developer job opportunities,
please visit http://dev.fyicenter.com/
Senior Software Engineer C++
* Responsible leading a team of software engineers to design and implement creative signal processing software solutions for cutting-edge DNA sequencing instruments as well as to support legacy software.
* Contributes to technical activities across all phases of software development, including writing requirements, creating design documents, and prototyping, coding, testing and integrating software.
* Takes initiative to offer innovative solutions to project-related technical problems and lead his or her team to implement them to meet project time and budget commitments.
* Implements modular solutions as part of a larger system architecture, integrating C++ application infrastructure with signal processing algorithms originating in Matlab, optimizing for performance to maximize data processing throughput. Utilizes parallel processing techniques to scale up data processing solutions.
* Estimates project development time for resource allocation needs, assigning tasks to development team and soliciting their input.
* Oversees software build structure for applications under his or her control, enforcing compliance with software configuration management procedures.
* Ensures quality of code developed under his or her team, holding code reviews to comply with business code style and semantic standards.
* Holds his or her team accountable for complying with business procedures for product and software development according to our quality management system.
* Increases productivity and team engagement by promoting a positive working environment, inspiring his or her team to work hard to meet business goals.
* Other duties as assigned.
* BS/MS degree in Computer Science or a related field AND a minimum of 8+ years industry experience in software development; a PhD in Computer Science or related field AND a minimum of 5+ years industry experience.
* C++, STL, and industry best practices for software design and development
* Application architecture and design for a Linux or Unix environment
* Signal processing background desirable , exposure to FPGA’s, GPU’s, and hardware acceleration a plus
* Data structures, and algorithmic and I/O efficiency
* Parallel processing, familiarity with 3rd party libraries like openMPI desired
* Multi-tasking and/or multi-thread synchronization
* Network and Inter-process communications techniques, including sockets, TCP/IP
* Matlab knowledge desirable
* XML & XSLT
* Source Configuration Management
* Software build tools including autoconf, GNU make, and linux scripting languages
* Software unit and system testing, bug tracking, debugging tools and methods
* Formalized Software Development Life Cycle, ideally in a regulated industry
* Works thoroughly and methodically with an attention to detail, yet in a fast paced manner.
* Effectively handles change, while inspiring colleagues to help meet departmental milestones.
* Used to both R&D and Engineering environments, values standardization, reusability, and teamwork.
* Developed products that have shipped.
To apply for this position, please visit
Developer FYI Center