Tech Stack
AngularAWSAzureCloudCyber SecurityDynamoDBHibernateJavaJavaScriptJenkinsMicroservicesMongoDB.NETNoSQLPostgresSpringSpring BootSpringBootTypeScript
About the role
- As a technical lead for an agile team, you are responsible for all aspects of application architecture including user interface, APIs, microservices, databases, and infrastructure
- Pursue new methods for fulfilling business requirements, including new tools, development strategies, and testing strategies, and evangelize solutions with multiple peers
- Maintain sound understanding of enterprise and program level architecture
- Liaison with business analysts to understand business needs and develop solutions that meet business needs and comply with enterprise and program level architecture and standards
- Work with business analysts and scrum master to create implementation/development plan for new features/applications/solutions by developing epics and stories
- Participate in Agile ceremonies by leading in all technical aspects, including leading the platform demos to the Product Owner and all applicable stakeholders
- Collaborate with the SecDevOps team to onboard new applications to the cloud-based infrastructure
- Evangelize the developed solution to team members and work with team members to breakup stories into tasks and assist in completion of tasks in timely fashion
- Motivating developers, testers and creating a space where they can ask questions and voice their concerns.
- Keep up to date with industry trends and developments
- Delegating tasks and ensuring all daily, sprint and release goals are achieved
- Performs Architecture design and reviews as required, ensuring initiatives are aligned with future state
- Designing solutions in a Multi-Tenant Cloud Architecture that will support legacy .NET, Java, and COTS client/server applications
- Identify risks, opportunities, compliance issues or other architectural concerns
- Active participation in Agile Scrum sprint planning, artifact creation, sprint testing, regression testing, demonstrations and retrospectives and solution releases
- Develop product teams technical skills through mentoring, coaching, and peer reviews.
- Review Cybersecurity Assessments and Static Code Analysis of developed software to define remediation and improve software quality.
Requirements
- Must be a U.S. Citizen with the ability to pass CBP background investigation, criteria include but are not limited to: 3 year check for felony convictions. 1 year check for illegal drug use. 1 year check for misconduct such as theft or fraud.
- Bachelor’s degree in engineering, computer science or related technical discipline.
- 7+ years' overall experience in software development, including hands-on experience with programming, software design patterns, and architecture as a software architect, tech lead, or a senior developer.
- Professional experience operating within cross-functional teams and groups.
- Three (3) to Five (5) years’ experience in incremental software development projects such as the Agile Scrum approach.
- Proficiency in one or more programming languages, such as Java, or JavaScript, and experience with various development frameworks and libraries, such as Angular, Spring, Hibernate.
- Familiarity with design patterns, object-oriented programming (OOP), and other software design methodologies to create modular, scalable, and maintainable systems.
- Knowledge of different software development processes, such as Agile, Scrum, Waterfall, or DevOps, and their implications on architectural decisions.
- Expertise in various architectural styles, such as client-server, microservices, event-driven, or layered architectures, and their trade-offs.
- Experience with cloud platforms (e.g., AWS, Azure, or Google Cloud) and understanding of distributed system concepts, including scalability, fault tolerance, and data consistency.
- Knowledge of RESTful APIs and experience designing, implementing, and integrating APIs in a secure and efficient manner.
- Familiarity with relational (e.g., Postgres) and NoSQL (e.g., DynamoDB, MongoDB) databases, data modeling, and data storage best practices.
- Skills in analyzing and optimizing software performance, including profiling, benchmarking, and code optimization techniques.
- Awareness of common software security vulnerabilities and strategies to mitigate them, such as input validation, secure coding practices, and encryption.
- Strong interpersonal and communication skills to work effectively with cross-functional teams and convey complex technical concepts to non-technical stakeholders.
- Ability and desire to stay current with industry trends, emerging technologies, and best practices in software architecture.
- Hands-on development with our tech stack: Java (Spring), Angular, PostgreSQL, Amazon AWS
- Continuous Integration / Continuous Deployment tools such as Jenkins, GitLab, CloudBees, or Bamboo
- Experience migrating legacy applications to microservices based architecture deployed to the cloud