|Date Posted||April 14, 2021|
The Director of Software Engineering position will report into VP of R&D Engineering and manage a team of direct and indirect reports. This position enables you to build scalable platforms for AI/ML and advanced analytics-based digital offerings to our fast-growing business. You are highly resourceful, detail-oriented, and self-directed with a passion for doing front and back-end development of web applications. You will play a key role in our IT team, as a subject-matter-expert, coaching, guiding, working alongside other developers, product and design teams to continually evolve and help scale our business. Developers do not just write code, we actively participate in a highly collaborative environment to find creative solutions that matter most to our customers. As a technologist, you curiously explore new technologies, courageously experiment to validate new business models, and build quality products and platforms in a cost-effective, secure, and compliant manner.
- As a member of the Development Team, under the guidance of VP of R&D Engineering, you will lead and actively contribute in solution building i.e., in conceiving, collaborating and implementing a broader functional vision, strategy, plans and objectives.
- Oversee and guide prototyping, development, testing and delivery of software code in an agile product development environment
- Partner with Product Management and Design to define product roadmaps and prioritize feature backlogs
- Partner with software engineers to ensure adequate architectural runway for new feature development
- Liaise and communicate with peers, senior leadership, and direct reports on progress against goals
- Establish relationships with our current IT Security and Infrastructure engineering services partners and evaluate new partners as needed
- Ensure adherence to industry-standard Quality Assurance and Regulatory Affairs to continuously improve our software development lifecycle processes
- Ensure team uses continuous delivery practices to deliver high-quality software as well as value to end customers as early as possible.
- Learn Pathology Department's laboratory and diagnostic procedures as they pertain to the flow of data in Digital and Computational Pathology, ultimately leading to a streamlined and wizard-assisted report generation engine
- Implement computer vision algorithms with soft real-time performance.
- Collaborate with machine learning and IT teams for the deployment of new machine learning techniques
- Be flexible and creative, learn fast (steep learning involved with different technologies), and able to self-manage in a fun but fast-paced environment
- Consistently work to become a better developer, such as researching new technologies and approaches to solve problems and ability to differentiate between real trends vs overhyped fads
- Communicates effectively with users, peers, and management and involve stakeholders in decision-making
- Develop and deploy customizations, integration between applications, and new functionality based on evolving business needs
- Produce functional, technical, and user documentation that describes the specifications, data flows, and user interfaces
- Carries out duties in compliance with all state and federal regulations and guidelines.
- Bachelor's Degree in computer science/ information technology/related discipline with 10+ or more years' software development or related experience in a regulated environment.
- Hands-on experience:
- Knowledge of containerization (and container management (Docker/Kubernetes) is a plus
- Minimum 2+ years of solid experience React and ES6
- Hooks; conditional rendering; type checking (Typescript or Prop-Types)
- State management architecture patterns (Redux, Redux-Thunk, Context API)
- Material-UI or similar component libraries
- Proficiency with tooling and build process
- Bundle size optimization
- Comfort with testing: unit testing, integration testing, end-to-end testing (Jest, React Testing Library, Enzyme, Cypress, Selenium, or similar)
- Comfort in exploring and modifying open source JS libraries (we use OpenSeadragon extensively)
- Proficiency with HTML5 canvas, Node/Express and creating and maintaining RESTful APIs
- Experience with AWS, particularly with EC2, S3, Elastic Load Balancing, CloudWatch, RDS. Knowledge of how to implement the AWS SDK for JS in the browser and in Node
- Experience configuring NGINX or Caddy web server, mentoring junior Engineers
- Comfort with SQL databases and with constructing efficient queries
- Feel at home with Git and the command line
- Able to read/understand at least one of these: Python, Go, C#
- Extensive experience in Python programming, or related language for rapid prototyping
- Experience with image processing/computer vision techniques and tools such as OpenCV is a plus. Experience with Machine Learning and Artificial Intelligence is a plus
- A knack for benchmarking and optimization. A passion for software quality and security
- Demonstrated ability to work independently and meet deadlines as a member of a team.
- Ability to understand business requirements and translate those into technical solutions
- Extensive experience leading programming and development for software projects in a regulated environment
- Thorough understanding of the SDLC process. Proven experience with owning, delivering process improvement initiatives.
- In-depth knowledge of contemporary front-end development frameworks, source control tools, software development cycle, and streaming technologies.