i
Porter
Software Development Engineer III - Java/Kotlin (5-8 yrs)
Porter
posted 1mon ago
The core responsibilities for the job include the following :
Design and Development :
Architectural Design : Develop and implement robust backend architectures that support complex business requirements and scale effectively.
Feature Implementation : Write high-quality code to implement new features and enhance existing functionalities using Java and associated frameworks (e. g., Spring Boot).
Technical Documentation : Create comprehensive technical documentation for the design and development processes to ensure maintainability and knowledge sharing.
Cloud Integration :
Cloud Services Utilization :
Leverage AWS/GCP services (such as EC2 S3 Lambda, RDS, Cloud Functions, and Kubernetes) to deploy and manage scalable, secure, and efficient cloud-native applications.
Infrastructure as Code : Utilize tools like Terraform or CloudFormation to manage and automate cloud infrastructure.
Microservices Architecture:
Service Design: Design and implement microservices that are resilient, maintainable, and scalable, following best practices for microservices architecture.
Inter-Service Communication: Ensure efficient and reliable communication between microservices using appropriate protocols (e. g., REST, gRPC, message queues).
Database Management:
Schema Design: Design database schemas to support new and existing features, ensuring data integrity and performance.
Optimization: Optimize queries and indexing strategies to improve database performance and reduce latency.
Data Migration: Plan and execute data migration strategies for seamless upgrades and transitions.
API Development:
API Design: Design and develop RESTful APIs, ensuring they are well-documented, secure, and easy to
consume by front-end applications and third-party systems.
Security: Implement authentication and authorization mechanisms (e. g., OAuth, JWT) to secure APIs.
Code Quality:
Best Practices: Follow and enforce coding standards and best practices to ensure code quality and consistency.
Testing: Write unit, integration, and end-to-end tests to ensure code reliability and performance.
Code Reviews: Conduct code reviews to provide feedback, ensure code quality, and share knowledge with team members.
Performance Optimization:
Profiling and Monitoring: Use profiling tools and monitoring systems to identify and resolve performance bottlenecks in the application and infrastructure.
Scaling: Implement strategies for horizontal and vertical scaling to handle increased load and ensure high availability.
Collaboration:
Cross-Functional Teams: Work closely with front-end developers, product managers, designers, and other stakeholders to deliver high-quality software solutions that meet business and user needs.
Agile Methodology: Participate in Agile/Scrum ceremonies (e. g., daily stand-ups, sprint planning, retrospectives) to ensure effective communication and collaboration.
Continuous Improvement:
Learning and Development: Stay up-to-date with emerging technologies, industry trends, and best practices in software development and cloud computing.
Process Improvement: Propose and implement improvements to development processes, tools, and methodologies to enhance productivity and quality.
Mentorship :
Guidance and Support: Mentor junior engineers by providing technical guidance, conducting code reviews, and offering career advice.
Knowledge Sharing: Organize and conduct training sessions or workshops to share knowledge and best practices within the team.
Requirements :
Degree: Bachelor's degree in Computer Science, Engineering, or a related field.
Equivalent Experience: Consideration of equivalent practical experience in software development.
Professional Experience: 2.5-5 years of experience in backend development, with a strong focus on Java and relevant frameworks.
Project Experience: Proven track record of delivering large-scale, high-performance backend systems in a production environment.
Cloud Expertise:
Hands-On Experience: Practical experience with AWS and/or GCP services, including EC2 S3 Lambda, RDS, Cloud Functions, and Kubernetes.
Certification: Relevant cloud certifications (e. g., AWS Certified Developer, Google Professional Cloud Developer) are a plus.
Proficiency in Java:
Core Concepts: Deep understanding of core Java concepts, including multithreading, concurrency, and memory management.
Frameworks: Proficiency with Java frameworks such as Spring Boot, Hibernate, etc.
Microservices:
Design and Development: Experience in designing and developing microservices-based architectures,
including service discovery, load balancing, and circuit breaking.
Tools and Technologies: Familiarity with tools like Docker, Kubernetes, and service mesh technologies.
Database Skills:
SQL and NoSQL: Proficient in SQL databases (e. g., MySQL, PostgreSQL) and NoSQL databases (e. g., MongoDB, Cassandra).
Optimization: Experience with database optimization techniques, indexing strategies, and query performance tuning.
API Development:
RESTful APIs: Strong experience in developing and consuming RESTful APIs.
API Documentation: Proficiency in documenting APIs using tools like Swagger/OpenAPI.
Version Control :
Git : Proficient in using Git for version control, including branching, merging, and pull request workflows.
Collaboration Platforms : Familiarity with platforms like GitHub, GitLab, or Bitbucket.
Problem-Solving:
Analytical Skills : Excellent analytical and problem-solving skills to troubleshoot and resolve complex technical issues.
Creativity : Ability to think creatively and propose innovative solutions to technical challenges.
Communication:
Technical Communication : Strong verbal and written communication skills, with the ability to convey complex technical concepts to non-technical stakeholders.
Documentation : Ability to create clear and concise technical documentation for internal and external use.
Team Player :
Collaboration : Ability to work effectively in a collaborative, fast-paced environment, contributing to team success.
Adaptability : Flexibility to adapt to changing priorities and project requirements.
Technical Overview :
- You will be expected to design, develop, and maintain large-scale complex backend web applications.
- You will be expected to rapidly learn and apply relevant new technologies.
- You will be having a high level of interaction with business and product stakeholders.
- You will be working on the entire web application stack, which includes: Web server hosting, RESTful communication, Message brokering, Backend application layer, which includes the service and domain layers, and Data layer for persistence or caching.
- You will be participating in an agile software development cycle, which includes: Design, Development, Code Review, Unit and Integration Testing, and Release.
- As a Software Development Engineer 3 you will be expected to contribute to design, code review, refactoring, and project management.
You will be exposed to the following technologies :
- Web application frameworks: Node.js, Java Play, Vert. x, AIOHTTP, AWS Lambda.
Languages : Java, Kotlin, Javascript.
Data stores : PostgreSQL, Aerospike, Redis, Amazon Redshift.
Communication : HTTP, Amazon SQS, Sidekiq, Amazon SNS.
Server Management : Amazon ECS, Docker
Functional Areas: Software/Testing/Networking
Read full job descriptionPrepare for Software Development Engineer III roles with real interview advice