As a Senior Software Development Engineer at Tideworks, 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 new software code and maintain existing code with a high degree of quality, 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 of Tideworks' critical OKRs.
- Ensure high-quality software deliverables by leveraging automation and tooling best practices.
- 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.
- Assist and review technical design specifications.
- Participate and play a leading role in estimation exercises and sessions.
- Use DevOps and Agile processes to deliver desired functionality quickly and effectively while iterating to continue development.
- Code applications implementing high-quality, fault tolerant, clean, scalable, reusable, and maintainable GUIs, middleware business logic, Tideworks-generic APIs, tools and test automation suites.
- Review code for quality assurance and build into development artifact and practices.
- Analyze and create automated tests.
- Design and develop test automation frameworks and any in-house tools required.
- Perform configuration and provide guidance to more junior Engineers.
- Integrate solutions with other applications and platforms.
- Debug, troubleshoot, and isolate software problems.
- 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 Tideworks' collective knowledge through strong code-level and knowledge base documentation, including capturing software design details, configuration and deployment notes.
- Build a deep understanding of Tideworks' products, clients, product configurations, and data.
- Other duties as assigned.
- Bachelor's degree or equivalent work experience.
- 4 or more years of work experience as Developer, Programmer, Software Engineer, or another 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 (C , Java).
- Experience with development platforms (e.g., AWS, Azure, Salesforce, Pega, Docker, Kubernetes).
- Experience with relational databases (e.g., Oracle, PostgreSQL, etc.).
- Experience in building APIs for both internal and external products.
- Expert knowledge of software design concepts, application servers, middleware applications, and other software-related tools and concepts.
- Deep knowledge of the Software Development Lifecycle (SDLC) and agile development methodologies.
- Deep knowledge of DevOps and CI/CD principles and tools (e.g., Jenkins, Artifactory, CircleCI, Ansible).
- Demonstrated knowledge of Java or c .
- Demonstrated knowledge of platform-specific scripting platforms (Linux/Mac BASH/KSH or Windows Powershell) and associated coding skills and working knowledge of at least one scripting language (Python, Perl, AWK, Groovy, Lua, Ruby, or other).
- Working knowledge of service-oriented architecture (SOA), web services (SOAP), RESTful services, or other middleware frameworks.
- Working knowledge of white-box language-specific Automation Test frameworks (such as JUnit or NUnit).
- Working knowledge of Object Oriented Design patterns and real world application of design patterns leveraging modern software frameworks.
- Demonstrated coding & scripting, IaC (infrastructure as code), and business acumen skills.
- Demonstrated CI/CD, problem solving, containerization, software security, testing, and cloud orchestration and computing skills.
We are an Equal Opportunity Employer