We hire Java developers to write code to test code. Our goal is to have engineers writing robust, reliable, repeatable and maintainable tests that find issues early and cover the area of the component under testing. Our quality engineers are in the product source code as much as they are working with test source code and are building the framework used for testing. Growth in this role means growing as an engineer: strong designs that are built to last, deep component knowledge and broad scenario experience will be measures of success as a candidate grows in this role.
As a member of the UI Libraries Quality team, you will work with the world class engineers in Java UI space get to work on most current enhancements of Java UI Libraries to ensure they are of high quality. This involves complex test development and automation adhering to secure coding guidelines, writing new frameworks, bug escape analysis, regression testing and code coverage analysis. This would enable you to get a deeper understanding of Java internals. This role would involve extensive debugging/trouble-shooting across multiple platform variants and identifying product issues deep in Java code.
Required skills and knowledge:
Strong technical background BS in a Computer Science, Software or other Engineering 8+ years of experience in Software Development Strong Java knowledge Hands on experience with writing real world Java applications Strong expertise with JDK language, compiler and core libraries Experience in Java Language: Java Compiler, Java Tools, Java Language Support, Invoke Dynamic, Lambda and Annotations Experience in UI Technologies such as Java 2D, Swing and JavaFX, Media, Animations Good understanding of Java Internals such as Java Memory Management, Class Loading, JIT Compilers etc Source code control systems (mercurial, Git or similar) Experience with NetBeans, Eclipse or IntelliJ JUnit, TestNG Basic skills of administrating linux, windows, solaris, mac Good written and verbal English skillsPreferable skills and knowledge:
Good understanding of the Object-oriented programming paradigm Java Certified Programmer Multithreaded programming experience Exposure on any code coverage analysis toolDesign, develop, troubleshoot and debug software programs for databases, applications, tools, networks etc. As a member of the software engineering division, you will take an active role in the definition and evolution of standard practices and procedures. You will be responsible for defining and developing software for tasks associated with the developing, designing and debugging of software applications or operating systems. Work is non-routine and very complex, involving the application of advanced technical/business skills in area of specialization. Leading contributor individually and as a team member, providing direction and mentoring to others. BS or MS degree or equivalent experience relevant to functional area. 7 years of software engineering or related experience.
Career Level - IC4