EMTensor is looking for a candidate for the position of Senior Software Architect, with experience in tomographer design and medical device/capital equipment systems deployment in pursuit of FDA/CE mark marketing approval. Experience with embedded Linux/C++ code development, latest generation UX technologies in use by physicians, e.g. RIS/PACS and DICOM viewers, cloud deployment (e.g. Azure, AWS, IBM etc.) and general software product deployment principles for fielded hardware. The qualified candidate will be a highly collaborative, strategic, technical, servant leader with the proven ability to influence the development of real-time software applications such as RF tomography, C based high-performance computing like reconstruction algorithms (such as FE and FDTD), relative permittivity volume measurement and image creation and in software manipulation, digital cellular and IP network related communications systems, and overall medical device (type II) knowledge to benefit our customers. This position is both internally and customer-facing. Internally, the qualified candidate will guide strategic software initiatives, inform regarding relevant software technology trends, assist the business areas from both a product and project emphasis with strategic planning, ensure that internal investments are aligned to the business case, advise and lead various software architecture activities, build teamwork and collaboration, coach and mentor other team members. On the customer-facing side, the candidate will earn relationships with key customers, understand and articulate their needs, co-design effective software solutions, provide win/win technical proposals and ensure their success with our solutions.
Responsibilities and Duties:
- Setting software architectural vision and customer-driven objectives on adoption of our RF tomographers.
- Software specification/partitioning (embedded, UX and Cloud GPU clusters with 100s nodes) and costing of materials, labor and time required for each project.
- Designing, coding, and debugging software and creating the quality standards associated with same.
- Improving the performance and functionality of, maintaining and upgrading existing software.
- Remain up to date on new technologies and software development practices.
- Assisting in response to requirements flow-down/decomposition to subsystem/system requirements in a requirements management system, e.g. DOORS and reviewing operational analysis and test plans to assure integrated performance meets specification – approving designs and budgets and delegating tasking.
- Evaluate user needs, time limitations and system limitations when developing software
- FDA Clinical study support including execution of clinical trials, the hospital and pre-hospital environments, especially experience/analysis associated with CRO collaboration.
- Participating with standards bodies and authorities such as FDA and CE mark notified bodies to ensure proposed standards affecting EMTensor are technically sound and aligned with the company’s interests.
- Partnering with customers, business development partners, and the executive management team on questions about our software capabilities.
- Winning customer confidence through integrity, thought leadership, technical communication, problem solving, capability demonstrations and requirements negotiations.
- Writing internal and external facing documents about EMTensor software technology.
Facilitating collaboration with the reconstruction, hardware and software teams and other (contract) engineering functions on software issues.
- Maintaining a high level of awareness of competitive developments, software technology trends, and of complimentary third party software technologies.
- Recommending new technologies that can help increase productivity.
Investigating software-related complaints and making necessary adjustments to ensure optimal software performance.
- Team leadership, growth and development.
- Proven experience in high-level programming languages, like C/C++/Java.
- Proven experience in software development and CI/CD methodologies.
- Proven experience building complex (web) systems.
- Medical imaging software design experience, including DICOM format and workflow under RIS/PACS, especially in refinement of man machine interface (software, covering the patient and clinician experience)
- Ability to learn/innovate through curiosity in the field of software defined radio (SDR)
- Digital signal processing algorithms (constant false alarm rate, detection probability maximization) using C++/Python and FPGA firmware technology knowledge
- Comfort working closely with senior software engineers and mentoring junior technical contributors on simultaneous top-down/bottom-up design and configuration for software found in RF/microwave communication/monitoring systems, especially leading off-shore software developments.
- Ability to lead technical discussions for new features, drive consensus, and capture the results in writing in the form of designs, models, requirements and roadmap presentations
- Experience in architecting or designing and testing software fixtures in a multi-disciplinary environment including developing and writing software for test and integration
- Experience developing software test plans, participating in system level testing and fault diagnostics
- Experience managing the delivery of the project; ensuring that the solution is delivered on schedule, within budget, and with the quality required
- Excellent written and verbal communication skills on technical matters in support of business development
- Experience in solver software architectures for RF communications/Tomography problems, with transmission through highly lossy materials, ideally using electromagnetic prediction/reconstruction tools such as FEM, FDTD.
- Experience in the use of AI for insight from ideally medical image applications, to include coloring/grayscale.
- Experienced user of the CQM Concept Engineering process to capture market software priorities
- Understanding of product commercialization in healthcare
- Experience with C/C++/C#, SystemC, bash, PERL, LabView/Windows, .NET, PERL, Python programming
- Knowledge of database design and configuration such as PostGres, Microsoft SQL
- Experience with automating, and scripting deployments in virtualized environments (VMware and KVM), cloud (AWS, Openstack, Azure, Google), and physical servers
- Understanding of message queues like Zero/RabbitMQ/MPI
- Familiar with Windows and LINUX operating systems
- Experience of Matlab/Simulink (DSP-Builder/equivalent) for development of Embedded C++/FPGA modules
- Familiarity with Networking, TCP/IP, UDP, SIP/RTP, DNS, DHCP, cloud technologies
- Knowledge of network diagnostics tools such as Wireshark and tcpdump
- Experience with verification methodologies and coverage tools
- Experience in developing test structures using System Verilog/Universal Verification Methodology (UVM)
- Ability to work closely with commercial/government customers/users during design and testing phases
- Ability to travel Worldwide to customer locations to provide software installation (also to implement remote software installation), training and act as point of contact for ongoing software issues
- Familiar with configuration management tools (ansible, puppet, etc.)
- Experience in an Agile/Scrum environment
Education and/or Experience: Bachelor’s degree (BA/BS) in computer engineering, electrical engineering, computer science, systems engineering, or closely related field (must be from accredited college or university); MSCS/MSEE would be a decided plus; minimum 7 years related experience.
Language Skills: Ability to read/analyze/interpret business periodicals/professional journals/technical procedures/(government) regulations. Ability to write technical specifications/reports/business correspondence/procedures/manuals.
Interpersonal Skills: The ability to actively pursue technical solutions by consensus between different technical groups. The ability to run productive meetings on technical topics is also required.
Presentation Skills: Demonstrated ability to effectively present information and respond to questions from groups of developers, managers, clients, customers, and the general public.
Reasoning Ability: Ability to solve practical problems and deal with a variety of variables in situations where only limited standardization exists. Ability to interpret instructions furnished in written/oral/diagram/schedule form.
EMTensor is an Equal Opportunity Employer