Senior Software Engineer
- Reports To:Manager, Software Engineering
- Department:Information Technology
- Location:Charles Town, WV
- FLSA Status:Exempt
- Date Posted:February 7, 2012
- Date Closing:Open Until Filled
Synopsis of Role:
A Software Engineer is a .NET and Java application developer on the Software Engineering Team. The Software Engineer must have the ability to work individually as well as in small teams. Experience utilizing version/source code control software is necessary. A Software Engineer will have strong technical analysis and programming skills. The Software Engineer is required to understand the business and technical requirements, architecture and design specifications and develop the associated application code.
The Software Engineer participates in the development and enhancements to a Custom Cross-Enterprise ERP system and supporting integrated packaged and custom subsystems. The Software Engineer must be able to function well in a high-growth business that is technologically sophisticated, high performance and high demand and understand the effect of business changes to the business and the technology environment. The technology environment is an integrated solution on multiple physical systems with both packaged and custom software, including an On-line Student Portal. The business must respond to Department of Education (DOE), Sarbanes-Oxley and credit card processing regulations.
The Software Engineering process uses the latest Microsoft .Net Framework and Java technologies, adheres to a formalized Software Development Lifecycle in a complex technical environment requiring around the clock reliability and availability. Automated notifications are used extensively across the n-tier architecture. Multiple parallel development tracks are necessary to meet the changing business needs of the fast growing business.
- Estimates schedule of delivery for own work effort and provides input into work plans, status reports and issues.
- Consults with supervisor, business analysts, other engineers, and end users to gather information about program intent, functions, features, data requirements, input and output requirements, internal and external checks and controls, hardware and operating system environment and interfaces with other systems.
- Designs or writes program specifications based on consultations with supervisor, systems analysts, other programmers and end users.
- Converts designs and specifications into high quality, reliable and resilient computer code.
- Creates test transactions and runs tests to find errors and confirm programs meet specifications.
- Analyzes code to find causes of errors and revises programs.
- Demonstrates pre-production version of the program to users for feedback.
- Provides system documentation and unit testing results.
- Writes and maintains documentation of changes to computer code, programs, and specifications.
- Designs and codes layout for onscreen user interfaces, printed outputs and interfaces with other systems.
- Reviews user and technical documentation written by others to confirm consistency with program operations.
- Provides technical assistance by responding to inquiries regarding errors, problems or questions with programs.
- Revises program for corrections, enhancements or system environment changes.
- Trains end users or technical support staff to use and support programs.
- Coordinates with other programmers about program revisions.
- Modifies and maintains software programs written by others.
- Supports day-to-day production application systems as directed.
Performs other tasks as assigned.
Work Environment and Physical Demands:
Standard office environment in Charles Town, WV.
- Prior business experience in education and an advanced degree are preferred.
- Problem solving and decision making ability.
- Proven ability to work independently and as a team member.
- Ability to be flexible and work analytically in a problem-solving environment.
- Good verbal and written communication and interpersonal skills.
- Strong organizational, multi-tasking and time-management skills.
- Ability to acquire information and understand the business.
- Service and student orientation.
- Strategic thinking, ability to adapt to change and innovation.
- Ability to monitor and self-assess performance.
- Planning and monitoring for results.
- Rational decision making.
- Communication and influencing.
Willingness and ability to learn new skills.
A minimum of five years in a professional development environment having participated in all facets of the application development life cycle.
- Exposure to object-oriented analysis and design, n-tier Architecture, COM, UML and the Microsoft .Net Framework and Java are required.
- Experienced developing stored procedures and relational database programming.
- Exposure to building multi-dimensional data cubes MQ Analysis Services is preferred.
- Five or more years of experience designing and implementing solutions in a production environment using C#, VB.NET. and Java.
- Two years of experience utilizing an education based ERP or similar products.
- Three years of experience modifying systems for enhanced accessibility.
Columbia, Maryland, United States