Senior Software Engineer II

As a Senior Software Engineer II, you will play a crucial role in designing, developing, and maintaining complex software applications.  You’ll be part of a collaborative team that values creativity, technical excellence, and continuous learning.  You’ll be a full-stack contributor, adding and augmenting code on both the client and server sides of our applications.

Responsibilities

Software Design and 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 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 or Master’s degree in Computer Science, Software Engineering, or related field.
  • 8+ years of experience in software development, with a proven track record of designing and delivering complex software systems.
  • Must demonstrate a sound understanding of React front-end and Node.js back-end web development – integration, asynchronous programming, and debugging.
  • Deep understanding of software design patterns, architectural principles, and best practices.
  • Proficiency in multiple programming languages such as Java, Python, C++, or similar.
  • Strong understanding of software architecture, design patterns, and best practices.
  • Experience with cloud technologies (e.g., AWS, Azure, Google Cloud) and microservices architecture

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.
  • Amazon AWS Certifications such as Solutions Architect and/or Developer are strongly desired.
  • Strong expertise in programming languages such as TypeScript, JavaScript, and Python.
  • 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.

Physical Requirements

  1. Sitting: Ability to be able to sit for long periods of time.
  2. Manual dexterity: Hand-eye coordination and manual dexterity to operate equipment and perform tasks such as assembling or disassembling machinery or devices.
  3. Vision: Normal or corrected vision to work with small parts and/or read schematics or technical manuals.
  4. Hearing: Normal or corrected hearing to communicate with colleagues or customers.
  5. Agility: Agile and able to work in tight spaces such as server rooms, data centers, or others.

If you’re ready to grow your career in an energetic, customer-focused environment. Waterfield Tech may be looking for you!

Apply Today

Join Our Team

We're hiring innovative, passionate team players.

See all open positions
NEXT Shuffle