C++ on Windows platforms - Oakland, CA 510
We are seeking a Software Engineer with at least 5+ years of experience designing/developing object-oriented software in a commercial software development environment.
The candidate will need to have excellent object oriented programming skills and accomplished performance in C++ on Windows platforms is required.
Design
-Design user interfaces, algorithms, data structures, test cases, and automated test suites for new functional modules of software as directed by Software Engineering Manager.
-Submit major elements of new design for review by other team members prior to implementation.
Programming
-Implement new features for existing software and new products as directed.
-Debug elements of the software as required to maintain software quality.
-Keep up-to-date with evolution of the client/server applications, servers, databases and deployment technologies.
Documentation
-Prepare design documentation for new modules and new products.
-Write technical documents that explain how new modules and new products are implemented.
-Prepare technical presentations for training and knowledge transfer as required.
-Assist support staff in producing user documentation for new modules and new products as required.
Quality Assurance
-Implement unit test cases and automated test suites for new and existing functionality.
-Adhere to guidelines so that work product (code and documentation) can be easily understood by other team members.
-Keep up-to-date on the evolution and features of the software products. Understand how they are used in the field.
Implementation
-Participate in the full life-cycle development process from definition and design to product delivery.
-Assist with installation or support of software at the client's site or remote offices, as required to correct field problems.
Organization
-Manage and mentor other software engineers' tasks as part of a larger deliverable in a team setting, including technical training and enrichment of peers.
-Perform code reviews for both local and remote team members.
-Communicate project issues of concern with team, and escalate to the attention of Software Engineering Manager when necessary.
Qualifications:
-Minimum of a BS in Computer Science or equivalent.
-5+ years of experience designing/developing object-oriented software in a commercial software development environment.
-Excellent object oriented programming skills and accomplished performance in C++ on Windows platforms is required.
-Experience describing functional requirements with Use Cases, and capturing designs in UML or similar modeling language.
-Experience in the design of algorithms for difficult technical problems.
-Strong written and verbal communication skills are a must, as is the ability to plan work, and report progress against plan.
-Highly proficient in programming Client/Server applications with relational database back ends. Specific Oracle experience highly desirable.
-Highly experienced with software development processes, and in particular, software design and unit/integration testing.
-Capable with debugging techniques and test case development.
-Experience working in team-oriented environments, and working with other project stakeholders.
-Must be self-motivated, proactive, and able to execute tasks independently and within a team environment.
Desired Experience:
-Metrowerks CodeWarrior C++ experience desirable.
-Knowledge of test automation and/or test/use case development for complex business processes desired.
-Working knowledge of CVS, and Borland StarTeam a plus.
-Experience working with remote and/or outsourced team preferred.
-Background with traditional and XP development methodologies desired.