Software Engineer II
Position Summary
As a Software Engineer II, you will play a crucial role in designing, developing, and maintaining our complex software systems. You’ll be part of a collaborative team that values creativity, technical excellence, and continuous learning.
Key Responsibilities:
Software Development:
- Design, develop, and maintain high-quality software solutions that meet or exceed technical requirements and industry standards.
- Write clean, efficient, and maintainable code using appropriate coding standards and best practices.
- Collaborate with cross-functional teams, including product managers, designers, and other engineers, to define software requirements and create technical specifications.
Technical Leadership:
- Provide technical leadership and mentorship to junior engineers, guiding them in their career growth and technical development.
- Lead by example, demonstrating expert-level coding skills, architectural understanding, and problem-solving abilities.
Architectural Design:
- Participate in architectural discussions and decisions, contributing insights and expertise to design scalable, reliable, and efficient software systems.
- Identify areas for system improvement and propose innovative solutions to enhance system performance, security, and maintainability.
Code Review and Quality Assurance:
- Conduct thorough code reviews to ensure adherence to coding standards, design guidelines, and best practices.
- Perform unit testing and collaborate with quality assurance teams to ensure the delivery of high-quality, bug-free software.
Research and Innovation:
- Stay up to date with the latest industry trends, technologies, and tools, and assess their relevance to our software development efforts.
- Propose and champion the adoption of new technologies, frameworks, and methodologies that can improve our software development process.
Troubleshooting and Issue Resolution:
- Analyze and troubleshoot complex software issues, identifying root causes and implementing effective solutions in a timely manner.
- Collaborate with cross-functional teams to address production incidents and provide quick resolutions.
Documentation:
- Create and maintain comprehensive technical documentation, including system architecture diagrams, design specifications, and coding standards.
Qualifications:
- Bachelor’s degree in computer science, Software Engineering, or related field;
- 5+ years of experience in software development, with a proven track record of designing and delivering complex software systems.
- Amazon AWS Certifications such as Security Specialty, DevOps, Solutions Architect, or Developer are strongly desired.
- Strong expertise in TypeScript and JavaScript.
- Deep understanding of software design patterns, architectural principles, and best practices.
- Experience with cloud technologies (e.g., AWS, Azure, Google Cloud) and microservices architecture.
- Proficiency in using version control systems (e.g., Git) and continuous integration/continuous deployment (CI/CD) pipelines.
- Strong problem-solving skills and the ability to work effectively in a collaborative team environment.
- Excellent communication skills, both written and verbal, with the ability to explain complex technical concepts to non-technical stakeholders.
Additional Requirements:
- In-depth expertise in React and its ecosystem (e.g., Redux, Styled Components, etc.).
- Solid understanding of web technologies and proficiency in HTML and CSS.
- Proficient in testing methodologies using tools like Jest and Selenium to ensure robust and reliable software quality.
- Solid development experience with the Node.js framework, including building and maintaining applications using its ecosystem, demonstrating proficiency in server-side JavaScript development.
- Experience with microservices-based architecture and a fundamental understanding of Docker and Kubernetes.
- Solid understanding of database technologies such as SQL, PL/SQL and relational database schema design.
- Strong comprehension of multi-tenant and distributed software architectures, including application clustering, data partitioning, and event-driven architectures.
- Familiarity with the AWS (Amazon Web Services) cloud platform and its services, including but not limited to EC2, S3, Lambda, RDS, and ECS.
- Experience with cloud-native application development and deployment on AWS.
- Experience with the Twilio cloud platform is a valuable plus.
- Experience with AWS Connect platform is a valuable plus.
- Knowledge of the contact center domain is a valuable plus.
Physical Requirements:
- Sitting: Ability to be able to sit for long periods of time.
- Lifting: Ability to lift equipment and or tools up to 20 pounds.
If you’re ready to grow your career in an energetic, customer-focused environment. Waterfield may be looking for you!
Apply Now
Waterfield Tech is proud to be an equal opportunity employer
Waterfield Tech believes that all persons are entitled to equal employment opportunity and does not discriminate against its Employees or applicants because of race, color, religion, sex (including pregnancy), national origin, ancestry, age, marital status, citizenship status, disability, protected medical condition, military status, genetic information, or any other basis prohibited by applicable federal, state or local law. This policy extends to all aspects of our employment practices including, but not limited to, recruiting, hiring, training, discipline, promotion, transfers, compensation, benefits, leaves of absence, termination, and all other terms and conditions of employment.