Senior Software Engineer
Company: Effectual
Location: Remote
Position Overview
Effectual is seeking a Senior Software Engineer to design, develop, and deploy cloud-based applications for our clients. You will collaborate with 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 bulk of their time collaborating with their assigned project team, typically following a 2-week sprint cadence. Throughout a sprint, you will:
- Participate in daily stand-ups to communicate progress, re-evaluate estimates, agree on priorities, and voice 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 work to team members at the completion of a 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: Must have at least 10 years of on-the-job experience.
- Minimum Years of Experience: 8 years of experience, including 4 years in specialized software design roles.
- Citizenship: Must be a US Citizen.
- Certifications:
- AWS Certified Cloud Practitioner
- AWS Certified Developer Associate
- AWS Certified Solutions Architect Associate
Skills Required
- Programming Languages: Java 5/6 and new Java 8/11/17, solid command of at least one other programming language.
- Cloud Technologies: Cloud architecture, cloud-native design, cloud computing, storage, and databases. Basic understanding or ability to learn AWS and Cloud technologies/architectures.
- Infrastructure as Code (IaC): Command of at least one IaC platform.
- Databases: Familiarity with at least one SQL or NoSQL database platform.
- Software Development: Design, Coding, Debugging, and Testing Software.
- Methodologies & Practices:
- Requirements Analysis
- Systems Design
- Understanding of at least one SDLC model and all phases.
- Understanding of Application Lifecycle Management.
- Understanding of data structures and algorithms.
- Grasp of information security best practices.
Nice-to-Have Skills and Experience
- Active Clearance or Public Trust (DOJ Preferred).
- Knowledge or history working with ANT (Another Neat Tool) or Gradle.
- Experience with Spring Boot and making 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 (Java Server Faces) framework, db2 mainframe, GlassFish application server, WebSphere Zos platform on Mainframe.
Physical Demands and Work Environment
The work is generally performed in an office environment. Physical demands include sitting, keyboarding, verbal communication, and written communication. Employees are occasionally required to stand; walk; reach with hands and arms; climb or balance; and stoop, kneel, crouch, or crawl.