What are the responsibilities and job description for the Java Software Engineer position at WorkNovas Technologies?
● Develops the conceptual systems architecture design and the supporting technologies needed to enable new and/or enhanced functionality within a given product/application, applying principles that promote availability, reusability, interoperability, and security into the design framework.
● Supports release planning activities in conjunction with Product Owners and teams.
● Identifies high level requirements to support the definition and refinement of a robust testing strategy.
● Supports the Product Owner with the identification and definition of enablers/work items to support the architectural runway of a given product/application.
● Defines the non-functional requirements (e.g., performance, security, resiliency, etc.) which support the development of epics and user stories aligned to a value stream.
● Identifies technical dependencies across several product/application teams to support the implementation of new or enhanced functionality.
● Performs development, optimization, and automation activities to support the implementation of a product/application.
● Develops and implements front-end architecture to support user interface concepts.
● Increases proficiency and understanding of relational and non-relational databases, distributed application architectures, user interfaces and user experience, quality assurance, security concerns, and business value creation.
● Drives engineering best practices to deliver higher quality and scalable solutions.
● Provides the team with the development strategy, solution recommendations, and estimates for a given product/application.
● Participates in scrum ceremonies (sprint planning, retrospective, showcases/demos, stand-ups, backlog refinement, etc.).
● Creates and executes unit tests which validate the code changes made to support the implementation of a user story.
● Uses test driven development (TDD) practices to assist with the detection/recognition of software defects early in the development process.
● Estimates, plans, and manages all implementation tasks and reports on development progress.
● Designs, builds, debugs, optimizes, and implements solutions in approved tool sets and databases.
● Develops high quality, efficient, and fault tolerant software.
● Supports, extends, and builds automated CI and CD pipelines.
● Designs and delivers DevSecOps automation for app deployment and testing.
● Uses APM/monitoring tools such as Dynatrace/Splunk and browser tools to perform request purepath/waterfall analysis to identify bottlenecks and suggest improvements.
● Participates in the development and documentation of department standards and best practices, and mentors’ junior engineers.
● Provides the team with solution recommendations and estimates for a given product/application.
● Identifies deficiencies within a product/application’s code base and identifies opportunities to improve overall code quality.
● Collaborates with team members (e.g., Systems Architects, Systems Analysts) to define project specifications and release documentation for all phases of the product development cycle from product definition to design, through implementation.
● Conducts peer code reviews for the software changes made by other engineers within a team.
● Collaborates with Environment Analysts to define and refine the environment strategy needed to support day-to-day development activities.
● Defines product/application specific coding standards and patterns to guide the implementation of new features and capabilities.
● Supports the planning and execution of functional and non-functional (e.g., performance, fail-over, etc.) testing activities.
● Provides technical expertise in establishing specific coding standards, patterns, and procedures.
● Supervises systems and data analysis performed by Full Stack Engineers on products/applications to understand functional design requirements.
● Defines remediation tactics for large and complex defects impacting several features and/or capabilities within a given product/application.
● Supervises the development and preparation of technical documentation (e.g., runbooks, etc.).
● Drives operational efficiency and technical growth by mentoring PODs through documentation, workshops, and other methods in the areas of software applications design, development, automation, CI/CD pipeline, and architecture.
● Provides active support for business-critical outage situations.
REQUIRED
● 10 years’ functional design and technical design experience with large-scale applications.
● Mastery of scaling applications from threading implementations to infrastructure scaling and topology planning.
● Experience with developing and running applications in a public cloud environment (Azure preferred).
● Experience working with a major relational database (DB2, SQL Server etc.) and/or NoSql.
● Experience in Java EE and specifically in developing Java based APIs. Spring Framework experience.
● Hands on Experience leveraging asynchronous communication patterns for developing distributed applications. Experience with IBM MQ, Biztalk, Azure EventHub, and Kafka is desirable
● Strong familiarity with API gateway management (Apigee).
● Data modeling experience.
● Understanding of integration patterns, concepts, and best practices.
● Familiarity with EDI solutions for batch and realtime transformations of data.
● Proven ability to work effectively and produce consistent results with minimal supervision.
● Proven ability to effectively mentor junior team members on design, data mapping, programming, and testing techniques.
● Strong conceptual, analytical, problem-solving, decision making, troubleshooting, and resolution skills.
● Strong written and verbal communication skills.
● Demonstrates a positive attitude, is self-motivated, responsible, conscientious, and detail oriented.
● Understanding of corporate IT policies, procedures, and standards.
Recommended:
● Bachelor's degree or higher in Computer Science or equivalent experience.
● Proven experience delivering Azure cloud technology solutions.
- ● Ability to lead and mentor devops teams.