Advisory Software Engineer
Symyx Technologies, Inc. - Bend, OR

This job posting is no longer available on Symyx Technologies, Inc.. Find similar jobs:Advisory Software Engineer jobs - Symyx Technologies jobs

We’re looking for an advisory software engineer to help develop and maintain our rapidly expanding suite of enterprise software solutions for the pharmaceutical, biotechnological and fine-chemical industries. You will be part of a small, dynamic development team that is dedicated to delivering high-quality, on-time software releases using TDD, short, done-done iterations and other modern Agile practices. We utilize leading-edge technologies to deliver highly scalable, n-tier, SOA solutions.

· 8+ years of programming experience in a commercial environment.
· Broad technical knowledge in object-oriented design and implementation, design patterns, and software development methodologies.
· Proficiency Java and the Java-based enterprise technologies, and/or C#.NET and Microsoft enterprise software development technologies, and/or thin client or mobile application development technologies.
· Excellent written and verbal communication skills.
· Strong analytical and organizational skills.
· Ability to work independently, as well as a member of a team.
· Strong personal drive to learn leading-edge technologies and to excel.
Highly desired:
· Project leadership experience.
· Experience designing, implementing and delivering n-tier and SOA systems.
· Experience with Agile development methodologies.
· Experience with XP best practices such as TDD.
· Experience developing GUI applications using Windows Forms.
· Experience developing mobile applications.
· Experience with thin-client application development.
· Experience managing other engineers.
· Background in chemistry or other physical science.
Advisory Software Engineers may also be asked to serve as a team lead, which entails:
· Breaking large projects down into subprojects and specific tasks
· Leading the team in estimating effort and building project schedules,
· Assisting the team in ensuring that tasks being executed correspond to identified objectives
· Helping proactively identify and resolve road blocks and obstacles in the development process.
· Assisting in the professional development of team resources (including monitoring and assisting with performance objectives, as well as drafting performance assessments).