Senior Software Engineer
Sr. Engineer - Software will work as a senior member of a software development team, responsible for the development, implementation and post deployment support of enterprise applications. In this role, the Sr. Engineer - Software will work independently or with minimal input from the Development Manager. As a member of the team, the Sr. Engineer - Software will participate in all phases of the Software Development Life Cycle (SDLC). Sr. Engineer - Software will be responsible for mentoring junior members of the team and provide them guidance and support in completing their assignments.
location: Reston, Virginia
job type: Contract
salary: $57 - 61 per hour
work hours: 9am to 5pm
- Architect advanced to complex system solutions, solicit and incorporate inputs from technical and operational teams and document for consumption of development and testing teams.
- Develop complex software programs, with clear and succinct code documentation, that meet the written and oral functional requirements provided by customer.
- Fix defects in the home grown applications or third party software according to written and oral specifications.
- Perform database design and create scripts to create and modify database objects.
- Work on deliverables, such data analysis, client report requests etc. with minimal to no guidance from Development Manager or senior developers. Assist junior members of the staff by providing direction on customer requests and performing code review to ensure quality outcomes.
- Actively participate and contribute in SDLC activities such as solution design, work effort estimation, assisting peers with technical challenges and code reviews.
- Lead a small team of developers - creates and assign work packages. Manage the work to its completion meeting the quality standards.
- Works very closely with operations team and acquire expert understanding of the business processes and develop unit and integration test scenarios in accordance with system requirements and business process changes. Provide expert advice to the testing team to create test data manually and/or systematically to test software programs.
- Perform production support activities such as monitor system processes, evaluate the outcome of system processes, work through system exceptions, and create processes to monitor and report on the overall system health.
- Work independently to understand the assigned work, deliver on agreed upon dates and raise issues/risks in a timely manner in case of risk to deliverables.
- Create/modify artifacts and deliverables expected from the SDLC and change management process such as project charter, proposed solution documents etc.
- Follow the SDLC and change management processes adopted by the organization. Participate in change management meetings to provide impact assessment of requested change, update the defect tracking system with most up to date information and perform release management tasks as assigned by Development manager.
Bachelor's Degree in Computer Engineering, Computer Science or a related field with more than 6 years of relevant experience or Master's Degree in Computer Engineering, Computer Science or a related field with more than 4 years of relevant experience.
Java Foundations Certified Associate (Pro or Master level) - Preferred
Java SE Oracle Certified Associate (Pro or Master level) - Preferred
Oracle Database SQL Certified Associate (Pro or Master level) - Preferred
skills: - Expert proficiency in Object Oriented (OO) Programming: Strong knowledge in OO programming languages, and expert skill in at least one (preferably Java) is required.
- Expert understanding of complex concepts of data organization: Expert familiarity with RDBMS.
- Strong understanding of SDLC such as Waterfall, AGILE, SCRUM etc.
- Expert knowledge of information systems design principles and current/emerging trends in this field is required.
- Extensive knowledge of most prevalent and trusted technical discussion boards, portals and knowledge sharing internet sites for help with technical challenges.
- Knowledge of policies, standards, procedures, and techniques used for application development is required.
- Strong ability to think logically and structurally, and have attention to detail is required.
- Strong Analytical skills and strong Communications skills, both written (with emphasis on technical documentation) and verbal is required.
- Ability to work effortlessly and efficiently in high performing and self-governing teams.
- Ability to work independently on any size project.
- Java, Spring/Struts, iBATIS - Expert
- JSP / JSF - Expert
- SQL - Expert
- UML - Advanced
- Eclipse IDE - Advanced
- Junit - Advanced
- SVN - Advanced
- Build Automation Scripts using ANT - Advanced
- Maven and Gradle - Advanced
Equal Opportunity Employer: Race, Color, Religion, Sex, Sexual Orientation, Gender Identity, National Origin, Age, Genetic Information, Disability, Protected Veteran Status, or any other legally protected group status.