Builds and codes applications and/or modules using languages such as C++, visual basic, ABAP, JAVA, XTML, etc. Provides patches and upgrades to existing systems. Involved in planning of system and development deployment as well as responsible for meeting software compliance standards. May design graphical user interface (GUI) to meet the specific needs of users. Prepares operating instructions, compiles documentation of program development, and analyzes system capabilities to resolve questions of program intent, output requirements, input data acquisition, programming techniques, and controls. May build add-on modules using application program language.
JOB FAMILY KEY DUTIES AND RESPONSIBILITIES
1. Designs and codes applications following specifications using the appropriate tools 2. Maintains and modifies existing software applications. 3. Analyzes detailed systems factors, including input and output requirements, information flow, hardware and software requirements, and alternative methods of problem resolution. 4. Performs modifications to and maintenance of operational programs and procedures. 5. Participates in code reviews to represent reviewed work for adherence to standards and specifications. 6. Writes or revises program documentation, operations documentation and user guides in accordance with standards.
Requirements (must have):
- Bachelor’s degree in Computer Science, Information Technology, Engineering or a directly related field is preferred.
- Knowledge of and skill in applying the following;
- Demonstrated ability to quickly become familiar with existing systems and codebases.
- Demonstrated expert level Java programming within an experienced development team.
- Adobe Flex 3.0+
- Adobe BlazeDS Java remoting and web messaging technology
- Object Oriented design principles
- Distributed caching technology (JBossCache, Ehcache, or similar)
- Web services and socket-based protocols (i.e. XPATH, XML Schemas, XSLT, WCF, SOAP)
- Web application development using MVC
- Windows application development using WPF
- Version Control Systems (i.e. TFS, Subversion, Git, Mercurial)
- Dependency Injection techniques
- Current experience practicing test-driven development using test automation frameworks/tools (i.e. NUnit, MSTest, Moq, Rhino Mock, TypeMock)
- Exposure to other programming languages (i.e. Powershell, C++, C#, Ruby)
- Database Replication Techniques
- Windows Cluster Server administration
Governmental processes and (electric) utility experience.