The Senior Engineer - Software develops business software solutions through object and data modeling, database design, programming, quality assurance, and implementation support.
Key Areas of Responsibility
Work with business teams to clarify requirements and business needs.
Collaborate with other engineers and architects as appropriate to determine optimal solution architecture, efficiency, maintainability, and scalability.
Develop high-level system narratives, storyboards, and user interface prototypes.
Develop system test plans, ensure quality assurance standards are achieved, and validate that business goals are accomplished.
Develop and maintain applications to CDW standards and quality.
Mentor and provide design oversight for non-senior members of the team.
Complete projects/tasks on a timely basis, according to commitments made to stakeholders and management
Report project/task status to the appropriate manager on a weekly basis (at minimum).
Ensure stakeholders are responded to in a timely and profressional manner. Foster open lines of communication with all parties.
Member of on-call rotation to provide 24 X 7 support to critical systems and ensure availability objectives are met.
5 years experience in application development.
Bachelor degree in Computer Science, or equivalent knowledge/experience.
Knowledge and skill level in identified competencies meet minimum requirements for role.
Other Required Qualifications
Demonstrated understanding of object-oriented design and programming techniques.
Excellence verbal and written communication skills, with the ability to effectively interact with all coworkers and stakeholders, in including senior leadership.
Demonstrated resourcefulness in the software development process.
Demonstrated creative problem solving skills.
Ability to work effectively with and support the needs of, project team members and stakeholders
Possess an understanding of the stages of the software development life cycle - Requirements gathering, Design, Development, Testing, and Implementation.
Demonstrate solid interpersonal skills and be resourceful in order to participate in the development process
Working knowledge of at least three programming languages.
Experience with testing frameworks (e.g. PHPUnit, JUnit).
Exposure to or experience with web services (REST or SOAP).
Some knowledge of Apache HTTP Server.
Experience with SQL (MySQL, MSSQL, PostgreSQL, etc.).
Experience with Linux command line (bash), VI, etc.
Experience with version control software (CVS, Subversion, Bazaar, Git).
Experience with Liferay or similar portal platforms.
Senior Software Engineer - Managed Services