Duties: Provide high quality technology solutions that address business needs by developing applications within mature technology environments. Utilize mature (3rd or 4th Generation) programming methodologies and languages and provide direction to the team regarding the methodologies and languages. Drive the development team and provide guidance and direction with respect to meeting project deliverables. Participate in project planning sessions with project managers, business analysts, and team members to analyze business requirements and outline the proposed technical solution. Participate in sprint planning, backlog grooming, and daily stand up discussions. Provide leadership to the team members through education, coaching, and by example in the technical work produced and interactions with team members. Participate in design reviews and provide input to the design recommendations, incorporate security requirements into design, and provide input to information and data flow. Enforce development and testing standards through regular code reviews of both direct reports and peers. Ensure proper documentation of detailed application specifications, translate technical requirements into programmed application modules, and develop and enhance software application modules. Drive code reviews and ensure that all solutions are aligned to pre-defined architectural specifications. Identify and troubleshoot application code-related issues and review and provide feedback to the final user documentation. Minimum education and experience required: This position requires eight (8) years of experience in the position offered or eight (8) years of experience as Project Manager, Application Architect, Applications Developer, or related occupation. The employer will alternatively accept a Bachelor's degree and six (6) years of experience in lieu of eight (8) years of experience.
Skills Required: This position requires six (6) years of experience with the following skills: Java/J2EE Enterprise web development; developing all tiers of an application including middleware, integration, and database; Spring framework; Object Oriented methodology of design and development; JDBC including transaction management, caching, and performance tuning; web services Service Oriented Architecture (SOA); Agile environment; test Driven Development; Junit; Mockito; Maven; Apache Tomcat; Repository Management; REST web services; messaging based integration including JMS, MQ, and Kafka; Big Data ecosystem including HDFS, Hive, Hbase, and Spark; programming with NoSQL including Cassandra; Spring Framework components such as AOP, Integration, or MVC; and Tomcat application server.