Job Description
As part of an exciting and dynamic software team, the Software Applications Engineer will write, test, and debug new software applications and enhancements to existing software applications, using object oriented programming languages. Development responsibilities will span the entire software development life cycle, including developing requirements, design, code, and unit tests for new software functionality. Interact with other team members including business analysts and quality assurance to provide assistance during all phases of development to ensure successful delivery of applications that deliver value.
The successful candidate will have excellent coding and debugging skills, particularly with an object oriented environment, familiarity with all other aspects of software development, and a strong desire to contribute to new and evolving applications. Software will be developed using established design guidelines and coding guidelines. The developer will be expected to use a variety of tools that support requirements capture, design documentation, management of code, and builds. The Software Applications Engineer will also be expected to be capable of creating estimates for tasks based on experience and manage their own time in accordance with defined project tasks.
The ideal candidates should be self motivated, possess effective communication skills, and be able to complete assignments on-time with minimal supervision. The ideal candidate will also have a strong technical background and possess an attitude of learning and continual self-improvement.
Required Skills
· Advanced level of technical knowledge
· Object oriented analysis, design and development
· Strong problem solving and analytical skills
· Effective communication and partnering skills
· Proficient in multiple languages or development environments with knowledge in the following languages and technologies:
· Java
· J2EE
· IBM WebSphere
· IBM WebSphere Application Developer
· Red Hat Linux
· Servlets
· Web Services
· JUnit
Desired Skills
· ClearQuest
· Clearcase
· CruiseControl
· Exposure to UML models and design patterns
· Exposure to C++/C#/.NET Windows Technologies
· Knowledge of financial systems
Required Experience
· Six to ten years relevant work experience, including multiple projects and full project life-cycle
· Sufficient understanding of WebSphere 5.1/6.1 architecture to be able to build and deploy new code and automatically control and troubleshoot the operating environment
· Experience automating the deployment and configuration of WebSphere based applications to Linux servers
· Perform configuration, debugging and support for infrastructure platform for moderately complex projects
· Experience automating the build for Java / WebSphere applications using tools such as Ant
· Experience with iterative software development methodologies and practices – RUP/Agile
· Demonstrated ability to deliver results, prioritize activities and to manage time effectively
· Flexibility and ability to change direction quickly and to learn new technologies
· Experience with Microsoft platform technologies
Desired Experience
· Experience developing and maintaining application systems for production
· Perform root cause analysis for service interruption recovery; create preventative measures
· Strong knowledge and comprehension of standards, specifications, standards bodies (e.g., XML, UDDI, Web services, etc.)
· Ability to estimate work and deliver to schedules with high quality
Responsibilities
· Plays an active role in the design, implementation, testing, and maintenance of software applications
· Contributes software design and code to the current version of a product as well as supporting previous versions
· Communicates effectively across multi-disciplinary teams as part of the larger picture aspect of producing and maintaining software applications
· Works within the development team on projects that span more than one person
· Understands and adheres to sound software development methodologies
· Maintains technical excellence in subject matter of importance to the product
· Production support of software applications
Education Required
Bachelor of Science in Computer Science or above in a related field is required.