Senior Software Engineer
Position Overview
Effectual is seeking an Effectual Senior Software Engineer to design, develop, and deploy cloud-based applications for our clients. The ideal candidate possesses migration experience, specifically with Java and a preference for Quarkus. You will collaborate with cross-functional teams, including architects and project managers, to ensure the delivery of high-quality cloud solutions. This role reports to the Software Engineering Manager.
Daily Routine
A Senior Software Engineer will spend the majority of their time collaborating with their assigned project team. Most projects at Effectual follow a 2-week sprint cadence. Throughout each sprint, a Senior Software Engineer will:
- Participate in daily stand-ups to communicate progress, re-evaluate estimates, agree on daily priorities, and voice any blockers.
- Work through assigned tasks in priority order.
- Assist team members with issues via Slack or ad-hoc meetings.
- Perform peer code reviews.
- Support the grooming and estimation of tasks for future sprints.
- Demo completed work to team members at the end of each sprint.
Responsibilities
- Provide technical support and cloud solutions aligned with company goals by designing, architecting, maintaining, and operationalizing cloud-based Java applications and systems on the AWS Cloud.
- Design, implement, integrate, maintain, optimize, and administer cloud solutions, infrastructures, and platforms.
- Evaluate, test, design, develop, and integrate new cloud technologies and processes to support existing infrastructure and modernization efforts, providing recommendations for future technologies and growth.
- Support existing software functionality, investigating, analyzing, and correcting identified defects.
- Perform pull requests/merge requests, branch management, and build and deployments.
- Build, deploy, and maintain CI/CD pipelines for various stacks.
- Improve the maintainability and performance of existing software through application refactoring.
Qualifications
- Minimum Education: Bachelor's degree in a related field.
- (Substitution): A minimum of 10 years of on-the-job experience can substitute for the educational requirement.
- Minimum Years of Experience: 8 years of experience, including 4 years in specialized software design roles.
- Citizenship: Must be a US Citizen.
- Background Check: Must be able to pass a federal background and drug test.
- Certifications:
- AWS Certified Cloud Practitioner
- AWS Certified Developer Associate
- AWS Certified Solutions Architect Associate
Skills Required
- Programming: Java 5/6 and Java 8/11/17
- Cloud: Cloud architecture, cloud-native design, cloud computing, storage, and database.
- Security: Grasp of information security best practices.
- Infrastructure as Code (IaC): Command of at least one IaC platform.
- Software Development Lifecycle (SDLC):
- Design, Coding, Debugging, and Testing Software.
- Requirements Analysis.
- Systems Design.
- Understanding of at least one SDLC model and all its phases.
- Understanding of Application Lifecycle Management.
- Databases: Familiarity with at least one SQL or NoSQL database platform.
- General: Solid command of at least one programming language, understanding of data structures and algorithms.
Nice-to-Have Skills and Experience
- Active Clearance or Public Trust (DOJ Preferred).
- Basic understanding or ability to learn AWS and Cloud technologies/architectures.
- Knowledge or history working with ANT or Gradle.
- Experience with Spring Boot and creating standalone executable jars.
- Experience working with Selenium or another front-end testing framework.
- Experience working with Containers and setting up development pipelines.
- Experience with Java 1.8, Icefaces JSF framework, db2 mainframe, GlassFish application server, WebSphere Zos platform on Mainframe.
Location
Physical Demands and Work Environment
The work is generally performed in an office environment. Physical demands include sitting, keyboarding, and verbal communication.