This challenging position will require a self-starter who can effectively work on multiple projects simultaneously, meet aggressive deadlines, and thrives in a dynamic environment. You will work closely with other software engineers, usability engineers, biologists, quality assurance engineers, marketers, and customers.
In this position you will work on maintaining a rich suite of software for knowledge acquisition, knowledge modeling, knowledge consistency, and knowledge workflow. You will work with the team in building the next generation of highly modernized flexible suite of the software and extending its capabilities.
• Design and implement the Qiagen Knowledge Acquisition platform and distributed web applications using J2EE, Spring Framework, XML, Grails, Web Services, JMS, Servlets, and Hibernate.
• Design and implement easy-to-use, high-performance, high-quality, hosted and enterprise web-applications.
• Design and implement development platform and complex applications with limited or no direct supervision.
KNOWLEDGE, SKILLS AND ABILITIES
• Strong object-oriented analysis and design skills.
• Strong analytical skills and attention to detail.
• Proficient with physical and logical database design.
• Understands advanced relational database concepts.
• Good communication and personal skills: ability to interact and work well with members of other functional groups in a project team and a strong sense of project ownership.
• Knowledge of Scrum and XP methodologies.
• Apt learner of any new software technologies and can research a variety of third party solutions which might fit problems on hand.
• Visual design skills for web page design and layout a plus.
• Knowledge of database theory.
• Strong background in data structures and algorithms.
• 4+ years experience in OO analysis, design, and implementation.
• 2+ years experience with at least one relational database management system.
• Experience in interfacing with databases from Java (Hibernate / Java Persistence API, etc.).
• 4+ years experience in industry-standard software development methodologies, e.g. use case-driven and test-driven iterative software development methodologies (RUP, XP)
• 2+ years experience in XML technologies (Xerces, Xalan, XSLT, Xpath) and concepts (DOM & SAX).
• 4+ years experience in debugging, code-reviewing, code-refactoring, performance tuning.
• 4+ years experience with a variety of OSs such as Windows, Solaris and Linux.
• Experience developing Web Services and REST-based communication interfaces a plus.
• Specific familiarity with JUnit.
• Specific familiarity with JQuery is a plus.