Software Engineer Lab Automation

Baltimore, Maryland, United States | Full-time

Apply
Our company is looking for a Staff Software Engineer who has a passion for delivering great software products that meet customer needs. The right candidate will be a self-motivated positive person who can work independently as well as being a team player, has excellent debugging/problem solving skills, has built innovative forward-looking solutions, is a technical leader and mentor, and works effectively with project management.

The candidate will be part of a highly technical software engineering team targeting an existing microbiology laboratory system in the area of automation, database and network communications. This person will lead a small team of software engineers in troubleshooting existing problems as well as provide solutions and recommendations for the next-generation system.

Leads a software development team. Includes estimating effort, creating and statusing a project schedule, technical guidance, and mentoring less experienced software engineers.
Architects/designs system software control platforms for automation solutions including embedded control and human interface subsystems.
Hands on technical lead that contributes to the software development effort as well as leading a team of 2-4 software engineers.
Interfaces/coordinates with other technical leads from the Systems, Electrical, and Mechanical Engineering functions.
Implements/recommends new software component designs or enhancements to existing software products; leads in the implementation of more complex subsystems and systems.
Demonstrates proper coding techniques including maintainability, reuse, unit testing, and commenting, driving standards within the team.
Collaborates with other resources to ensure effective design and implementation goals.
Leads technical design reviews and code inspections. Provides clear, actionable feedback for project team members.
Assures adherence to development policies and software quality procedures.

Qualifications

Requires a BS degree in Computer Science, Computer Engineering, Mathematics, Physics or a related Engineering discipline.
Minimum of 8 years of experience in software development.
Minimum of 3 years of experience designing and implementing C#/.Net applications.
Minimum of 3 years of experience leading a software development team.
Excellent written and oral communication and interpersonal skills are essential.
Demonstrated understanding of complex automation equipment and basic mechanical and electrical knowledge.
Knowledge of Automation/Process Control experience.
Understand Motion Control concepts utilizing Stepper and servo motors in robotics and fluidics applications.
Familiarity with sensor technology, Image analysis, optical sensors, ultrasonic sensors and pneumatic actuators and controls.
Demonstrated understanding of client/server software systems
Knowledge of Windows networking and configuration
Demonstrated understanding of development in a process oriented/regulated environment and adhering to a quality management system
Experience with relational database technologies