Software Engineering Jobs - Systems/Software Engineering-5, 15148

Location San Jose, CA
Date Posted May 15, 2019
Category Default
Job Type Full-time

Description

Position Title: Software Engineer

Position Number: 314024

Location: San Jose, CA

Desired Skill Set:
API, Java, SOA

Position Description:

**C2C is not available**
**Only U.S. Citizens and those authorized to work in the U.S. can be considered as W2 candidates.**
Job Description: Systems/Software Engineering-5
Location: San Jose, CA Business Area: Deliver Revenue Owning Region:
Duration: 5+ months

Responsibilities:

• Work with business units to crystallize business needs into product features, acting as a bridge between business and technical domains
• Provide technical guidance and assistance to other software engineers.
• Provide technical and domain thought-leadership, and mentoring to junior members of the team.
• Develop product/platform
• Review and approve software design and implemented code.
• Provide effective cutting edge design/solutions for implementing product features.
• Develop new capabilities to ensure continued competence and relevance of the center in supporting software development needs of PayPal''s business.

Required Skills:

• Experience in building high traffic backend services for external customer facing web applications
• Understands inside out of fundamentals of Java, specifically JDK7, JUnit, Maven, Jenkins & Sonar
• Has built web applications and services using open-source Java Frameworks: Spring MVC & JAX-RS 2.0 implementations (e.g. RestEasy, Jersey or Apache CXF)
• Has designed web applications and clearly understands concepts like Web Services, SOA, REST APIs
• Has knowledge of different application servers like JBOSS
• Comfortable with Agile development and Scrum process
• Identify Performance bottlenecks and use good coding patterns to avoid them in the first place
• Take ownership of your work and can work independently
• Hands on experience working with one or more of messaging services and apps (e.g. JMS, AMQ, Kafka, IBM Websphere MQ, etc.) is desired
• Source Control (GIT experience is an advantage)
• Unit testing frameworks such as JUnit, Google Test
• Highly analytical, innovative, and able to think strategically and to develop comprehensive detailed specifications
• Ability to determine impact of architectural solutions and recommendations. Must have experience in justification of technology solutions to business leaders
• Excellent verbal and writing skills; ability to produce clear, concise communications and documentation.
• Highly effective at working in cross-functional and cross geographical organizations
• Experience in maintenance and enhancement of deployed products
• Ability to work in a fast paced environment with diverse cultures
• Ability to deal with uncertainty and adapt to changes
Desired Skills:
• Has experience in refactoring existing codebase and in understanding existing implementations to decide to refactor or rewrite
• Working knowledge of finance industry standards and practices preferred

• Education experience – Engineering Degree (Preferably Computer Science)

Algorithms/Data structures
Lists , Arrays , Trees – operations and complexities
One sorting algorithm – implementation + complexity
One searching algorithm – implementation + complexity
Should know when to use what data structure
Stack , Queue – operations and complexities

Java

Collections : Sets, Maps, Lists – operations and complexities
Maps : HashMap , should know how to implement a simple one (using two arrays , example), how it works , hash collisions etc.
Strings : Operations, complexity , immutability
OOP/Generics : Subtype, supertype , what is final , what is static etc.
Exceptions : Runtime, compile time, errors, handling

Other stuff

Any 1 design pattern, where it is used etc.
REST, SOAP : What is the difference, why to use one over another
Authorization v Authentication
Different HTTP status codes , what is client side error, what is server error
JavaScript: What is server side, what is client side, where would you use it.

Advanced Stuff

Threads : Threadpools, synchronization, what is multithreading, race conditions, volatile , how to design with thread safety, maybe pub-sub implementation, locks

To set the tone – you can expect questions similar to below ones during the client rounds.
1. Write a function to randomize a given array of elements (integer/string/any type)
2. Write a program to construct a binary search tree.
3. Given a binary search tree, find the distance between two random nodes.
4. Given a list of string, write a program to find high frequency word in the list.

I would emphasis you to focus on following areas for the client round:
• Java Programming (Write as many program as you can to get yourself comfortable with basic programming constructs)
• Data structures – go through all basic data structures and their ADT & operations.
• Search the internet for problem solving questions and try to solve them yourself. (optimal solution)

Rose International is an Equal Opportunity Employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, age, sex, sexual orientation, gender (expression or identity), national origin, arrest and conviction records, disability, veteran status or any other characteristic protected by law. Positions located in San Francisco and Los Angeles, California will be administered in accordance with their respective Fair Chance Ordinances.

Rose International has an official agreement (ID #132522), effective June 30, 2008, with the U.S. Department of Homeland Security, U.S. Citizenship and Immigration Services, Employment Verification Program (E-Verify). (Posting required by OCGA 13/10-91.)