Sr. Software Engineer
Role details
Job location
Tech stack
Job description
- Architect and develop high quality software - efficient, maintainable, and scalable development of multiple applications and services.
- Adhere to safe coding practices from security, dependency, and risk mitigation perspectives.
- Identify the impacts on other modules and applications of the systems, including in the context of distributed systems.
- Assist project leadership in creating estimations of work for client projects, estimating required staffing resources, participating in interviews, and determining the project software development schedule.
- Work with version control complexities, including multiple concurrent branches, and multi-branch merges.
- Perform unit and integration testing in a deployment environment to verify the delivered implementation meets the given requirements.
- Identify gaps in testing methodology and suggest alternative solutions or framework.
- Provide support for implementations to Business Analysts and Technical Support in resolving production issues and providing key contributions in resolution.
- Act as a specialist in complex matters to perform in-depth evaluation and analysis of variable factors.
- Lead large, complex projects end to end while collaborating with other engineers and cross-functional stakeholders from Product, Design, Operations, and Data Science.
- Mentor junior software engineers.
- Define architecture for cross team projects.
- Accountable for delivery of complex workstreams.
- Create and assign tasks to complete large scale projects.
- Work independently to deliver projects with increased levels of complexity and ambiguity.
Requirements
- Requires a Bachelor of Science degree in Information Technology, Computer Science, or Computer Engineering, plus the following experience:
5 years of progressively responsible and related Agile software development experience (excludes experience gained during internships).
5 years of combined experience to include building scalable and robust software working with distributed components. Required technologies include: Publish/Subscribe system, Simple Notification Service (SNS), Simple Queue Service (SQS), stream processing (Kinesis), message brokers (Kafka), and distributed caching, including Redis.
5 years of combined experience in the following: Git, Maven, Jira, Eclipse, IntelliJ, Weblogic, and Tomcat.
5 years of experience writing SQL CRUD statements.
5 years of experience optimizing existing SQL statements in Oracle DB.
5 years of experience in Observability to include each of the following: logging, metrics, and tracing.
5 years of experience in frontend development and hands-on experience with the following: Javascript, TypeScript, CSS, HTML5, Angular, React, Vue, Spring Web, Struts, JSP, JSF, and servlets.
5 years of combined experience in backend development and micro-service architecture using each of the following technologies: Java, J2EE, Spring Boot, APg, Containerization (Docker), Kubernetes, Infrastructure (CI/CD pipelines), and deployment strategies (blue/green, canary).
3 years of experience working in a transportation management or supply chain logistics company, applying knowledge of industry terminology and translating and implementing business requirements in Jira stories.
2 years of experience in building and deploying artificial intelligence systems to include each of the following: data architecture, model development, and integrating software with hardware or applications.
- Experience may be gained concurrently.
- Work from home available Monday and Friday; must work in the office Tuesday, Wednesday, and Thursday. Must reside within commuting distance from employer's Frisco, TX office.