Job Description: The Senior MEAN Stack Software Engineer will be a key member of the Software Engineering Team, performing software development of user interfaces and controller code in a cloud-based Angular, Express, and Node architecture that retrieves data through a DAL from a SQL Server database. This is a large software modernization effort, creating new versions of important mission applications for a Federal customer, migrating large scale enterprise workloads from traditional platforms to current cloud and containerization technologies. The Software Engineer will be part of an established, successful team leading the way for cloud transformation in commercial and federal spacesResponsibilities:
- Provide senior architectural guidance for the design, configuration, and implementation of Angular, Express, and Node components of the ITEM software applications
- Participate in analysis, design, development, testing, and release of key user interface functionality for large scale custom software projects to meet customer requirements and take advantage of new technologies including containerization and cloud elasticity.
- Develop custom software systems within a modern, automated Continuous Integration/Continuous Deployment environment configured for automated code build, test, and deployment.
- Utilize developed systems architecture and develop interfaces and code for performance and secure operations
- Work within a high-paced team environment in an Agile framework, updating team members daily on accomplishments, blockers, and plans
- Provide input to technical and schedule discussions, proactively raise risks and issues to management to ensure project activities are transparent and closely controlled.
- Support engagement activities to analyze business environments, gather business requirements and create data visualizations in support of product.
- Mentor junior engineers
- Lead others to solve complex problems; uses sophisticated analytical thought to exercise judgment and identify innovative solutions.
- Communicate complex concepts and negotiate with others to adopt a different point of view
- Utilize knowledge of the organization's business model and operations to drive high impact projects and complex analysis that support organization's mission.
Qualifications:Education: Bachelor's Degree in Computer Science or equivalent experience requiredExperience:
- 3+ years of experience developing and maintaining user interfaces with Angular, Node.js, Express.js
- 3+ years of experience working with medium and large-scale enterprise web-based software applications to interact with RDBMS systems such as SQL Server, Oracle, and MySQL
- Experience developing and maintaining enterprise software applications using Java/J2EE, C# .NET, PL/SQL, SQL, Python, JavaScript, and/or related technologies.
- Experience with deploying software to Linux and Windows servers, common application servers such as JBoss, Weblogic, and Tomcat
- Experience with database design schemas and data modeling.
- Familiarity with design and development of micro services.
- Familiarity with RESTful APIs, JSON, AJAX, XHTML, and SOAP
- Familiarity with common IDEs such as Eclipse or NetBeans, and CICD tools such as GitLab, Jira, Docker, Kubernetes, Ansible, Jenkins, Sonar Qube, and others.
- Exposure to development for Oracle middleware (WebLogic, Fusion, etc.) a plus.
- Exposure to Docker and Kubernetes a plus
- Experience working with Source Control Management systems
- Detail and results oriented and able to prioritize tasks in a multi-tasks environment
- Excellent oral and written communication
- Excellent listening, interpersonal, written and oral communication skill
- Experience to work with Agile methodologies.