EDUCATION: BS degree in CS or related field WORK EXPERIENCE: 8+ years of experience with Java Strong CS fundamentals: you will work on performance sensitive code and should understand the difference between O(n) and O(n2) algorithms. Strong OOA/OOD concepts: Comfortable with design patterns and best practices and good analytical skills Experience with developing web based applications and services. Extensive and broad experience with open-source based technology stack (Linux, MySQL/Postgres, Apache, Java, Ruby/Django/Python, CSS, HTML, JavaScript, AJAX) required. Thorough understanding of how business needs drive product features. Comfortable with design patterns and best practices and good analytical skills. Experience with financial applications or complex systems. Experience in Agile, TDD, and continues integration. ADDITIONAL HELPFUL WORK EXPERIENCE: Hibernate or another ORM tool Dynamic languages (Ruby, Python, JavaScript) Scaling and caching technologies like Hadoop, Memcached etc. NoSQL databases (MongoDB, Cassandra, etc.) KNOWLEDGE: English Language — Knowledge of the structure and content of the English language including the meaning and spelling of words, rules of composition, and grammar. Engineering and Technology — Knowledge of the practical application of engineering science and technology. This includes applying principles, techniques, procedures, and equipment to the design and production of various goods and services. SKILLS: Complex Problem Solving — Identifying complex problems and reviewing related information to develop and evaluate options and implement solutions. Programming — Writing computer programs for various purposes. Systems Analysis — Determining how a system should work and how changes in conditions, operations, and the environment will affect outcomes. Judgment and Decision Making — Considering the relative costs and benefits of potential actions to choose the most appropriate one. Systems Evaluation — Identifying measures or indicators of system performance and the actions needed to improve or correct performance, relative to the goals of the system. Critical Thinking — Using logic and reasoning to identify the strengths and weaknesses of alternative solutions, conclusions or approaches to problems. Operations Analysis — Analyzing needs and product requirements to create a design. Active Listening — Giving full attention to what other people are saying, taking time to understand the points being made, asking questions as appropriate, and not interrupting at inappropriate times. Mathematics — Using mathematics to solve problems. Speaking — Talking to others to convey information effectively. ABILITIES: Deductive Reasoning — The ability to apply general rules to specific problems to produce answers that make sense. Problem Sensitivity — The ability to tell when something is wrong or is likely to go wrong. It does not involve solving the problem, only recognizing there is a problem. Inductive Reasoning — The ability to combine pieces of information to form general rules or conclusions (includes finding a relationship among seemingly unrelated events). |