Lead Software Engineer
Role details
Job location
Tech stack
Job description
The Division of Information Technology (IT) within the Emory National Biomedical Research Center (ENBRC) at Emory University in Atlanta, GA, is currently seeking a Lead Software Engineer to join the ENBRC-IT team. ENBRC-IT is made up of a small team tasked with supporting the entire ENBRC for a wide range of IT activities. Versatility and resourcefulness in aptitude, skills, and attitude are required qualities of all IT staff positions. Our work consists of developing applications primarily for Animal Resource Management Systems and other ENBRC areas.
The ideal candidate should be a true leader, motivated, dependable, detail-oriented, and have a positive attitude and passion for research and application development. The Lead Software Engineer will be a team player who has a good understanding of full stack development experience and will collaborate with team members and center members. They will lead software developers and collaborate with various teams to deliver functional, efficient, and user-focused solutions. They must have good communication skills with co-workers, the management team, PIs, research staff, students, and other support services.
In addition, the Lead Software Engineer will lead a team of developers through the entire software development lifecycle, from planning and design to testing and deployment. This role involves balancing technical guidance with project management to ensure software products are delivered on time and within budget. The Lead Software Engineer will establish development standards and best practices to maintain code quality and system architecture. Serving as a key link between the development team and upper management, they translate business objectives into technical tasks. They collaborate with stakeholders, functional team members, and designers to ensure the final product aligns with the center's strategic goals and user requirements. Through team leadership and strategic oversight, they foster a productive environment that enables the creation of high-quality, scalable software solutions.
Collaborate. Innovate. Serve. These three simple words capture what we do at ENBRC to help advance science and improve the health and well-being of humans and non-human primates. This is an amazing opportunity to indirectly save and change lives and make a positive impact in the science and research community.
Dedicated to discovering causes, preventions, treatments, and cures of disease, Emory National Primate Research Center (ENBRC) is improving human and animal health and lives worldwide. One of seven NPRCs funded by the NIH, ENBRC conducts studies that make breakthrough discoveries possible. Learn more at http://enprc.emory.edu., * Leads the design, development, implementation, testing, and analysis of software applications to meet enterprise-wide business and user needs.
- Consults with managers and directors to understand business needs and propose new and improved software applications.
- Prepares reports to provide recommendations, conclusions, and other data. Hires, supervises, and evaluates staff.
- Performs related responsibilities as required.
ADDITIONAL RESPONSIBILITIES:
- Lead technical design and architecture discussions, ensuring solutions are scalable, secure, and align with long-term technology goals.
- Manage the end-to-end software development lifecycle, including sprint planning, resource allocation, and project timelines, using agile methodologies.
- Conduct regular performance evaluations, provide ongoing mentorship, and support the professional growth of individual software developers.
- Define and enforce team-wide coding standards and best practices through consistent code reviews to maintain software quality and consistency.
- Act as the primary technical contact for product managers and stakeholders to translate business requirements into detailed technical specifications.
- Oversee the software release and deployment process, including the management of CI/CD pipelines to ensure smooth and timely delivery of new features.
- Direct the recruitment and hiring process for new developers, from interviewing technical candidates to facilitating team integration.
- Mentor junior developers through code reviews, pair programming, and knowledge-sharing sessions.
- Participate in on-call rotations, respond to production incidents, and conduct post-incident reviews.
- Contribute to technical architecture discussions and document design decisions.
- Ensure best practices in code quality, testing, CI/CD pipelines, and cloud deployments (AWS).
- Champion security, compliance, and data privacy standards across the platform., * Work environment involves some exposure to hazards or physical risks, which require following basic safety precautions.
- Work is normally performed in a typical IT environment.
- Requires the ability to bend, kneel, and/or squat.
- Work schedule to be discussed during interview.
PRE-EMPLOYMENT SCREENING STATEMENT:
The Emory National Biomedical Research Center (ENBRC), in conjunction with Emory University, conducts pre-employment screenings for all positions. These screenings may include an Information Network Associates (INA) and criminal background check, and verification of work history, academic credentials, licenses, and certifications. In addition, the process may include a drug screening with health assessment, and review and mandate for various vaccinations. Updated COVID-19 vaccinations may be necessary for specific research projects.
Requirements
- A bachelor's degree in computer science, management information systems, engineering, or a related field and five years of related experience in programming and software systems, including project management experience, or an equivalent combination of education, training, and experience.
- Experience in a lead or supervisory role.
- Knowledge of software development in a research institution context preferred., * A bachelor's or master's degree in computer science is preferred. Coursework to include a strong foundation in programming languages, software architecture, and project management principles is essential.
- Extensive experience in the software development field is a primary requirement, with five or more years of hands-on software development experience.
- In addition to technical expertise, a proven track record of leadership and management experience, and at least two years of experience in a managerial or lead developer role.
- 2+ years of production experience with Node.js, VUE or React, NUXT or NEXT
- Demonstrated project work with process documentation, wire frames, and unit testing
- Ability to read unfamiliar code and understand it at the architectural level before modifying it.
- Ability to translate vague feature requests into concrete technical plans.
- Technical development expertise in the following areas: JavaScript, Node.js, VUE or React, NUXT or NEXT, Tailwind.js, GraphQL, Oracle, MySQL, PostgreSQL, Microsoft Office, etc.
- API (Application Programming Interface) experience, preferably REST and GraphQL APIs.
- .NET knowledge for supporting existing applications to move to Node.Js.
- Expertise in using various reporting environments such as Oracle Analytics Server, eBIZ, and others.
- Profile Node.js services to identify CPU-bound operations, memory leaks, and event loop blocking.
- Good decision making, organization, analysis, and problem-solving skills with the ability to multitask.
- Acts as a proponent of modern software development practices.
- Basic understanding of AWS cloud services and cloud-based application development is preferred. Docker/containerization experience is a plus.
- Ability to react to changes in priorities, timelines, and scope promptly and efficiently, through analytical and problem-solving techniques. Must be able to think quickly and solve problems on the fly.