The Information Technology Services Division in the Business Services Directorate at the Oak Ridge National Laboratory is seeking qualified applicants for a Full Stack Developer position in the Research and Development Systems Engineering group. The R&D Systems Engineering group exists to facilitate lab goals through systems engineering, development, integration and support for the research community at ORNL. We run mid-range clusters, servers, workstations and other services where science happens at the lab.
The Full Stack Developer is responsible for designing, executing and maintaining R&D customer projects. This position will work with a team to design, develop, deploy, and maintain solutions for researchers. The developer will need to have experience providing time, scope and cost estimates for projects. As a Full Stack Developer, you should be comfortable around both front-end and back-end coding languages, development frameworks and third-party libraries. You should also be a team player with a knack for visual design and utility. This position will work closely with other engineers and developers to test and deploy solutions.
Primary duties include:
- Support deployment, monitoring, and management for ORNL research projects.
- Ensure the availability, performance, scalability and security of production systems.
- Manage the end-to-end life cycle for the production of software and applications.
- Troubleshooting and problem solving across multiple platforms (dev/test/prod).
- Continuous process improvements.
- Embrace continuous integration and continuous delivery (CI/CD) processes.
- Work closely with customers to design solutions based on industry best practices and security requirements.
- Collaborate with research teams to ensure new environments meet requirements.
- Identify and document IT best practices that will improve the systems deployment function.
- Ability to present and communicate complex technical concepts in small to medium groups of scientists and engineers.
- Work with research teams to design workflows for hybrid and cloud-based workloads
- Migrate workloads from internal servers and VMs to Cloud Resources.
- Ensure the secure and effective operation of computing systems through compliance with ORNL procedures and IT Internal Operating Procedures.
- Troubleshoot system problems quickly and effectively.
- Work with other systems engineers and vendors to resolve hardware and software issues.
- Optimize systems performance.
- Install and configure software, both commercial packages and various open-source packages.
- Maintain documentation/notes on software builds and installs.
- Keeping current with industry trends and developments that can be applied to company needs.
- Assist researchers with coding vulnerability mitigation.
- Off hours support may be required.
- Associates Degree in Computer Science and 5 years development experience.
- Experience working with container infrastructure using docker.
- A minimum of 5 years utilizing configuration management and automation tools such as Git, Jenkins, Ansible, Puppet or other CI/CD pipeline tools.
- A minimum of 5 years experience developing within LAMP stack.
- Knowledge of multiple back-end languages (Such as Java, PHP, Python) and working with an Apache Web Server.
- Experience working with MariaDB and Laravel.
- Experience converting form documents into web applications.
- Experience visually representing item contents inside a physical container through a web application.
- Experience developing on a web-based application that is used to capture fuel information such as where it was used, the classification and where it is now.
- Experience writing test cases to validate existing code.
- Experience finding and fixing security vulnerabilities in code.
- Willingness to take on previously developed websites/applications and update/maintain them for the customer.
- Knowledge of networking fundamentals including TCP/IP, traffic analysis, common protocols and network diagnostics.
- Previous experience working in a government, scientific, or other highly technical environment.
- Excellent interpersonal skills suitable for user support and ability to work well with peer system engineers.
- Excellent written and verbal communication skills.
- Ability to work independently and demonstrated analytical and problem-solving skills.
- Demonstrated ability to balance complex research and security requirements.
- Technical documentation skills, including ability to prepare simple documentation web pages.