Sr software engineer
As a Senior Software Development Engineer you are a member of an agile-oriented, cross-functional team of software engineers, testers, technical writers, and designers who leverage software to solve real-world problems in the container industry. You actively develop and maintain high quality code, leveraging strong software design principles, ingenuity and creativity, attention to detail, and analytical skills to devise unique and innovative software solutions. You code across all tiers of an N-tier architecture, including client-tier, middle-tiers, and back-end (data / database), integrate software systems with third parties, develop and maintain robust test automation suites, and build and leverage configuration and deployment automation tools. Keeping the client at the heart of all that you do, you work with Business Analysts to determine feasibility and efficacy of client requirements and product specifications; with Testers to build and maintain automation test suites; with application support to understand, debug, and resolve issues found by clients; and with managers and leaders to ensure achievement critical OKRs.
▪ Bachelor’s degree or equivalent work experience.
▪ 4 or more years of work experience as Developer, Programmer, Software Engineer, or other relevant role.
▪ Experience using engineering methodologies; related certification or professional engineer designation desirable.
▪ Experience working in an agile environment preferred.
▪ Experience with at least 2, or deep expertise in 1, programming languages (e.g., JavaScript, Java, C++, C#, Scala).
▪ Experience with development platforms (e.g., AWS, Azure, Salesforce, Pega, Docker, Kubernetes).
▪ Working knowledge of SQL, including understanding of views and stored procedures. Experience in PL/SQL and Oracle/PostgreSQL a plus.
▪ Experience in building APIs for both internal and external products.
Others:
Hybrid scheme (1 day in office)
Benefits above the law
Advanced English (reports to USA)
- Implement high-quality, fault tolerant, clean, scalable, reusable, and maintainable applications, GUIs, middleware, APIs, tools and test automation suites.
- Write and deliver high-quality code for new features and existing products.
- Ensure high-quality software deliverables by leveraging automation and tooling best practices, including test automation.
- Debug, troubleshoot, and isolate software problems in development and production environments.
- Participate in and support configuration, implementation, development, enhancement, and software source code and script modifications.
- Work with Business Systems Analysts to turn client or product-driven functional requirements into well-designed, sustainable software solutions.
- Translate backlog items into physical design and logical units and ensures design meet business request.
- Present designs to other engineers and incorporate feedback to the final design.
- Assist and review technical design specifications.
- Participate and play a leading role in work estimation.
- Use DevOps and Agile processes to deliver desired functionality quickly and effectively while iterating to continue development.
- Review code and build quality into products and practices.
- Design and develop test automation frameworks and in-house tools as required.
- Mentor and guide more junior Engineers.
- Configure and integrate with other applications and platforms.
- Offer strategic solutions, analysis, and advice regarding identified issues for future development.
- Provide support for incidents.
- Maintain the stability and usability of the software across all environments.
- Contribute to the growth of collective knowledge through strong code-level and knowledge base documentation, including capturing software design details, configuration and deployment notes.
- Build a deep understanding of products, clients, product configurations, and data.
Key Knowledge, Skills & Abilities:
▪ Expert knowledge of software design concepts, application servers, middleware applications, and other software-related tools and concepts.
▪ Expert knowledge of Object Oriented Design patterns and real world application of design patterns leveraging modern software frameworks.
▪ Deep technical understanding of common security vulnerabilities and risks, as well as compensating controls and countermeasures. Experience breaking down complex systems and applications to find flaws. Knowledge of ubiquitous encryption technologies (PGP, SSH, SSL, etc.) and common protocols (RADIUS, LDAP, KERBEROS, SAML, etc).
▪ Deep understanding of .NET Framework (Garbage collection, value vs object types, linq, etc…).
▪ Working knowledge of multi-threaded concurrent development.
▪ Familiarity with functional programming.
▪ Proven test automation skills including unit, integration, and regression testing scenarios.
▪ Demonstrated knowledge of platform-specific scripting (BASH/KSH or Powershell) and working knowledge of at least one scripting language (Python, Perl, AWK, Groovy, Lua, Ruby, or other).
▪ Deep proficiency in JavaScript and ReactJS
▪ Experience in architecting and building complex, scalable web applications.
▪ Experience with performance optimization techniques and tools.
▪ Deep knowledge of CI/CD mechanisms and tools (e.g. Jenkins, Artifactory, CircleCI, Ansible).
▪ Deep understanding of web security principles and best practices.
▪ Working knowledge of build/compilation processes using build tools like maven along with a understanding of the workings of an SCM tool (such as Git or SVN).
▪ Expert ability to work with multiple layers of complexity.
▪ Proven ability to apply analytical skills to investigate information and draw conclusions.
▪ Proven ability to translate complex technical information in a concise manner and communicate to stakeholders verbally and in writing.
▪ Proven ability to use influence and empathy to break down silos between teams.
▪ Proven ability to collaborate and adapt quickly to short timelines, changes in prioritization, and ambiguity.
▪ Proven ability to proactively identify work and self-motivate.
Ref: JN-022025-711106