Job Description :
Tech Lead/Architect Java Developer Job Description

Purpose of Position
This position is responsible for providing leadership and technical deliverables in the design, development, testing, documentation, and implementation of system enhancements or new application development; leading the technical team and internal users in the identification of areas of application improvement; providing direction for methodology and process improvement initiatives; ensuring adherence by the team to team and organizational standards in day-to-day work; and providing support to users of the application.
Lead the evaluation of user requests or design specifications for new or modified application functionality and estimate efforts required. Analyze, design, code, test, document, implement and maintain application changes. (35-70)
Lead the effort to provide technical support to system owners as well as other information technology groups to help ensure effectiveness of information technology systems in enabling Northern Natural Gas customers to conduct day-to-day businesses. The support includes, but is not limited to, answering customer questions, interpreting system functionalities, completing data requests, making emergency fixes and performing other critical support functions. (10-30%)
Lead the effort to collaborate with end users to analyze and develop business requirements for business application enhancements and problem resolutions. (10-25%)
Provide guidance and direction to team members as necessary in the completion of assigned projects. (5-20%)
Provide technical input to assist in development of project planning. (5%-10 %)
Perform additional responsibilities as requested or assigned. (5-10%)
Demonstrate advanced technical knowledge and expertise of applicable application development and architecture as well as the ability to apply such knowledge to business needs.
Demonstrate the ability to acquire extensive knowledge of the applications supported by the team, extensive understanding of the interfacing applications and apply that knowledge to satisfy business needs.
Demonstrate an extensive understanding of Object Oriented Design with the ability to create and maintain Class Diagrams, Sequence Diagrams and Interface Diagrams for the applications. Have the ability to apply Design Patterns and instruct other developers in the use and purpose of the Design Patterns being applied.
Participate in a lead role on development and support teams resulting in contribution to achievement of team goals and objectives.
Analyze and solve complex business or technical problems involving the development and deployment of applicable technology.
Translate written and oral communications into clear functional specifications, well-crafted designs and high-quality work products.
Perform responsibilities as directed within determined time frames and with a high degree of accuracy and efficiency.
Establish and maintain effective work relationships within the department and with the user community.
Maintain the professional competence, knowledge and skills necessary to effectively complete responsibilities.
Maintain sensitive and confidential information regarding company information.
Adhere to and support all company policies and procedures, including workplace safety rules.

Position Requirements
Bachelor’s degree in information systems, computer science or related technical field; or equivalent work experience
Eight years or more of demonstrated experience in business analyst, programmer analyst and/or systems analyst role.
Job-related experience (from options below)
Knowledge of the gas industry is a plus
Experience with project methodologies including project management tools, estimating, and documentation of requirements, use cases and test plans.
Effective oral and written communications skills, including presentation, training and interpersonal skills.
Effective analytical, problem solving and decision-making skills.
Ability to prioritize and handle multiple tasks and projects concurrently.

Experience
Eight years or more of demonstrated experience with JAVA development using J2EE, JSPs, Hibernate and Spring to build web applications. Must have server-side JAVA experience with Object-Oriented Modeling and Design experience as well as middle-tier application logic experience.
Three years of experience with Java Architecture
Three years or more of demonstrated experience with Hibernate, Spring, junits, and javaScript.
One year or more experience with REST Services.
Experience with Angular is preferred.
Experience with XML.
Two years or more experience with an application server (e.g. Websphere, JBoss
Three years or more of demonstrated experience with IDE. Eclipse, Rational Application Developer or IntelliJ is preferred.
Exposure to Unified process and familiarity with UML and Use Cases is required
Three years or more of demonstrated experience with experience using Microsoft SQL Server or other relational database for developing stored procedures. Experience in identifying, analyzing/resolving related performance issues is a plus.