About the Role
We are seeking a highly experienced and skilled Smart Communications Developer to join our dynamic team. The ideal candidate will have a deep understanding of the Smart Communications suite and a proven track record in designing, developing, and deploying complex customer communications solutions. This role is perfect for a hands-on developer who is passionate about clean code, effective documentation, and delivering high-quality, maintainable, and extensible applications.
Key Responsibilities
- Design, develop, and implement customer communication documents based on detailed business requirements.
- Author and configure templates using Smart Communications modules, including Advanced Template Designer, Data Modeler, and Web Editor.
- Develop Static Layouts for Print and Responsive Layouts for Web within the Smart Communications platform.
- Prepare and map XML data schemas to ensure accurate integration with business data objects.
- Create Simple/Scriptable Batch Config/Template Selector and Output Configurations for post-processing.
- Design and develop high-quality, clean, understandable, maintainable, and extensible code.
- Develop and implement comprehensive test plans to accurately validate application code and functionality.
- Maintain detailed and accurate documentation, adhering to all company standards.
- Contribute significantly to the project estimation process, reviewing and challenging estimates where necessary.
Required Skills & Experience
Smart Communications Expertise
-
5+ years of hands-on Smart Communications (or Thunderhead) development experience.
- Expertise in template authoring, recognizing common graphical elements, information blocks, layouts, stylesets, variable data, and functional similarity.
- Sound knowledge of the SMARTCOMM/Thunderhead Suites of Products and related APIs.
- Familiarity with Smart Communications Appliance Configuration and Deployment Models (Cloud/Hybrid).
Java Development (Minimum Requirement)
-
Minimum 2 years of hands-on Java development experience in a professional setting.
- Strong understanding of Object-Oriented Programming (OOP) principles and core Java features (e.g., generics, streams, lambda expressions).
- Experience with version control systems (e.g., Git).
- Basic understanding of security best practices in Java applications.
Technical & Professional
- Expertise in Java/J2EE, JSON, and web services is highly desirable.
- Experience with unit testing frameworks such as JUnit is desired.
-
Good written and verbal communication skills are essential for collaborating with cross-functional teams and stakeholders.