Java Software Developer
Location: Canonsburg, PA
Job Type: Contract to Hire
The Software Engineer’s role is to design, execute, assess, and troubleshoot software programs and applications. This includes configuring, coding, developing, testing and documenting software specifications throughout the project life cycle. The Software Engineer will also oversee system startups in a timely and accurate fashion, and provide support to other technical teams where required.
- Collaborate with database team members, project managers, QA analysts, business users and user interface developers in the development and initiation of new software programs and applications.
- Research, document, and implement program requirements and specifications.
- Consistently write, translate, and code software programs and applications according to specifications.
- Perform within existing standards and architectures and work with architect to extend / modify architecture where appropriate.
- Oversee the quality assurance of program logic, data processing, and error resolution.
- Run and monitor performance/integration/unit tests on new and existing software for the purposes of correcting mistakes, isolating areas for improvement, and general debugging.
- Perform diagnostic analysis of test results and deliver solutions to critical areas.
- Develop an awareness of programming and design alternatives.
- Cultivate and disseminate knowledge of application development best practices.
- Gather statistics and prepare and write reports on the status of the programming process for discussion with management and/or team members.
- Create and maintain documentation related to software programs and applications.
- Install software products for end users as required.
- Participate in software/hardware upgrades.
- Liaise with network administrators, database developers, programmers, and other software engineers to resolve any defects in products or company systems.
- Take an active role in cross-departmental projects when needed.
- Direct and participate in research on emerging application development software products, languages, and application development methodology standards in support of procurement and development efforts.
- Interact regularly with managers, clients, vendors, and agencies to field queries and questions.
- Train, manage and provide guidance to junior software development staff as required.
Education & Experience:
- High school diploma or equivalent
- Bachelor’s Degree in Software Engineering, Computer Science or equivalent work experience preferred
- Certifications in J2EE / Java EE preferred
- 3 years work experience in a related field, 7 years experience preferred
- Technically fluent in programming languages, with emphasis on Java and familiarity with other languages like C++, and Perl
- Experience with JPA and Spring
- Experience with Unix and Windows utilities
- Experience in object oriented development tools and methodologies
- Experience with application deployment in “n-tier” production environments
- Proven database and operating systems experience with Oracle and Solaris
- Competent and proficient understanding of platforms such as Oracle WebLogic Server
- Experience with agile development
- Solid working knowledge of current Internet technologies
- Hands-on software troubleshooting experience
- Experience at working both independently and in a team-oriented, collaborative environment is essential
- Ability to effectively prioritize and execute tasks in a high-pressure environment is crucial
- Proven analytical and problem-solving abilities
- Adept at conducting research into software-related issues and products
- Must be able to learn, understand, and apply new technologies
- Strong written and oral communication skills
- Strong interpersonal skills
- Customer service skills an asset
- Highly logical
- Highly self-motivated and directed
- Keen attention to detail