DescripciónYou 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 of Tideworks' critical OKRs.
Essential Responsibilities:- 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 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.
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.