Software Development Engineer, Payroll Tech
The ideal candidate is clearly passionate about new opportunities and has a demonstrated track record of success in delivering new features and products. A commitment to team work, hustle, and strong communication skills (to both business and technical partners) are absolute requirements. You will tackle large complex projects, massive data volume + complex business rules in a highly distributed and service-oriented architecture. You will create reliable, scalable, secure products for our customers in a hyper-growth environment where priorities shift quickly.
This position requires that you are a significant and autonomous contributor. Your work is of consistently high quality. You solve complex problems, applying appropriate technologies and best practices. Your focus is on designing, developing and effectively applying automated solutions that test major portions of software (e.g. significant component, set of features, mid-size application, service, etc.). You prevent and find defects early. You apply software testing techniques, such as equivalence class partitioning, boundary value testing, etc. You build complete test and/or measurement solutions (e.g. performance, load, scalability, usability, etc.). You use data from testing, deployment, and production to measure quality and provide actionable improvement to the product. You write code that an SDE unfamiliar with the system can understand. You are proficient in a broad range of design approaches and know when it is appropriate to make trade-offs. Your solutions are pragmatic. You do things with the proper level of complexity the first time, or at least minimize incidental complexity. You consider the legacy of the code you produce, limiting the use of short-term workarounds. You create flexible software without over-engineering. You reuse where possible, while being judicious about introducing dependencies. You are efficient with resource usage (e.g. designing to avoid impacting the system under test.)
A day in the life:
You are expected to do HLD/LLD of features, code them to Amazon standards, and do code and design reviews. You will attend regular stand-up meetings and provide your updates. You will keep an eye out for opportunities to improve the product or user experience and suggest those enhancements. You will participate in requirement grooming meetings to ensure the use cases we deliver are complete and functional. You will take your turn at on-call and own production operational maintenance. You will respond to customer issues and monitor services for healthy execution.
Job responsibilities:
1. Own design, development, unit test and integration test of features and modules.
2. Operational maintenance in production environment.
3. Code reviews, design reviews, HLD/LLD preparation.
4. Participate in requirements grooming sessions.
5. Suggest new ways to improve the customer experience or product.
6. Responsible for CI/CD pipelines and suggest ways to improve the code delivery process.