What are the responsibilities and job description for the Senior Software Engineer position at DUNBAR CONSULTING?
The Senior Software Engineer is responsible for providing full software lifecycle support including understanding system requirements, reviewing and recommending designs, conducting analysis of solutions, validating application deliverables against the approved design and standards, and providing operations and maintenance support. The Software Engineer will cover a breadth of technologies and service lines.
Key Responsibilities & Duties:
- Full software lifecycle support; Operations, Maintenance, and Enhancements;
- Continually enhance operations and monitoring to improve reliability and uptime;
- Provide support for Linux Servers and Infrastructure, both on Amazon Web Services (AWS) and on-site;
- Identify, analyze, and resolve system problems;
- Perform routine software maintenance;
- Address security vulnerabilities;
- Improve operations by conducting systems analysis; recommending changes in policies and procedures;
- Act as a trusted technical advisor to customer Information Technology managers;
- Provide technical leadership on the assigned portfolio of applications;
- Coordinate various required technical reviews to ensure solutions meet the existing standards.
- Assist with presentation at the Technical Review Board (TRB) design meeting;
- Participate in the requirements gathering sessions to understand business needs, and provide inputs to the technical requirements;
- Document and demonstrate complex solutions by developing documentation;
- Work with project manager or product owner to meet project needs;
- Recommend software upgrades to optimize operational efficiency;
- Collaborate with other developers to operate, maintain and enhance software systems;
- Assist with ongoing automation and virtualization projects while continuing to migrate to the cloud (AWS);
- Determine system specifications, input/out processes, and working parameters for hardware/software capability;
- Update job knowledge by studying state-of-the-art development tools, programming techniques, and computing equipment; participating in educational opportunities; reading professional publications; maintaining personal networks; participating in professional organizations.
Qualifications:
- Bachelor’s Degree in Computer Science, Software Engineering, Computer Engineering or related field;
- Experience in developing complex system IT solutions a plus;
- Minimum 5 years' previous experience in software development or computer engineering;
- Experience in software operations and maintenance;
- Focused on usability and performance improvements;
- Knowledge of Java, JavaScript, SQL, Kubernetes, AWS, or other programming languages;
- Familiarity with relational databases such as MySQL, Oracle, and SQL Server;
- Deadline and detail-oriented;
- Excellent communication, organization, and analytical skills;
- Excellent leadership qualities;
- Must be self- driven and have the ability to collaborate with in a small distributed team;
- Must have strong working knowledge of the software lifecycle including the design, development, test & implementation of systems solutions touching on a wide variety of technologies;
- Must be a US Citizen and be able to obtain and maintain a Public Trust Clearance.