Software Engineer IIThis Software Engineer II will be responsible for the analysis, design, development, and delivery of software solutions of Client's next edge marketing technologies. In Customer Interoperability, we build the technologies that supports the end-to-end user journey from awareness to managing and growing their products. This position helps build new applications, technologies and enhancements that will positively impact our customers while adhering to standards, processes, and best practices.Responsibilities:Design, build, and release software that advance Client's marketing capabilitiesParticipate in team prioritization discussions with Product/Business stakeholdersAble to troubleshoot and refactor existing codeAdopt new languages and architecture patterns needed for the workInfluence the decisions made by the teamAssist peers and less experienced membersDemonstrate active learning and sharing of software practices via Guild/Engineering community initiativesAssist in technical documentation of APIs and services being deliveredExperiences:Has ability to write secure code in three or more languages (e.g., Java, JavaScript, React, COBOL, SQL)Familiar with secure coding standards (e.g., OWASP, CWE, SEI CERT)Understands and implements standard branching (e.g., Gitflow) and peer review practicesApply tools (e.g., Sonar, Zally, Checkmarx) and techniques to scan and measure code quality and anti-patterns as part of development activityUnderstands and builds test code at unit level, service level, and integration level to ensure code and functional coverageUnderstands the use of basic design patterns (e.g., factory, adaptor, singleton, composite, observer, strategy, inversion of control)Understands requirement analysis being essential part of delivering value to our customers and partners and participate in elaboration, prioritization, and effort estimationFamiliarity with agile development methodologiesUnderstands the basic engineering principles used in building and running mission critical software capabilities (security, customer experience, testing, operability, simplification, service-oriented architecture)Familiar with different application patterns to implement different types of business processes (e.g., APIs, event-driven-services, batch-services, web-applications, big data)Understands Continuous Integration (CI) and Delivery (CD) concepts, and capabilities to support automation, pipelines, virtualization, and containerizationHas ability to write code (in languages such as Java, Python, Ruby, Bash, Perl, Groovy) to build automation tasks that are repeatable and efficientUnderstands functional and non-functional testing types to elaborate and estimate test effortsEducation:Bachelor or Master's Degree in Computer Science or equivalent