Software Engineer 3 Job Description Template
Our company is looking for a Software Engineer 3 to join our team.
Responsibilities:
- Collaborate with peers and seniors within and across the teams;
- Drive innovation through rapid prototyping and iterative development;
- Assist with application deployments in our Cloud environment;
- Identify and document best practices;
- Work closely with design & product to craft great product experiences;
- Design, development and testing of web applications and services following best practices;
- Work with operations teams to ensure the applications and services are highly available;
- Support customer issues and bugs;
- Develop Kubernetes based infrastructure for maintaining our build systems (Go based);
- Intense eagerness to learn, ready to dive deep into complex problems;
- Design the gRPC API for communication between the microservices;
- Work in a dynamic Agile development environment and being adaptable to changing requirements;
- Continuously review the product and code for optimizations and performance improvements;
- Document architectures, procedures, and processes in use and contribute to the improvement of the process;
- Participate in planning, estimation, prioritization and cost-benefit analysis for projects.
Requirements:
- Strong understanding of web-based programming languages;
- Good understanding and hands on experience with databases such as MySQL/ Oracle etc;
- Exposure to one or more server side scripting technologies;
- Perform high quality software analysis, design, development, testing and maintenance for the PayPal core technology platform;
- Experience in Unix based development environment (Unix, Shell, Perl, Python) is a plus;
- Ability to handle multiple tasks, prioritize and meet deadlines;
- Hands-on experience with Kubernetes or other container management solutions;
- Experience with Kubernetes lifecycle management;
- Excellent problem solving, analytical skills, and technical troubleshooting skills;
- Experience with AWS, Azure, Google Cloud;
- Strong experience in Linux based systems (Administration level preferred);
- Strong programming background preferably in distributed systems;
- Proficiency in Go;
- Background in gRPC and Protocol Buffers;
- Familiarity with software engineering tools such as Git, Jenkins, and Code review.