To ensure success as a Software Engineer, you should have advanced programming skills, experience with API development, and excellent troubleshooting skills. Top-rated full stack engineers create and implement advanced software systems that meet the needs of the company.
Qualifications
- Bachelor's degree in Computer Science, Computer Engineering, Information Technology, or related field.
- Previous experience as a Technical Lead Engineer.
- Proficient in Backend Technologies and Frameworks
- JavaScript and its environments like NodeJS and ExpressJS.
- Back-end languages including Java.
- Popular Java frameworks include Spring Boot, Spring Cloud, and Java Server Faces.
- Hands-on experience in DevOps lifecycle, including deployment in Google native services such as Cloud Run and GKE.
- Must have DevSecOps experience, including designing CI/CD pipelines.
- Knowledge and experience in IaC, containers, Terraform, and Docker.
- Experience with GitHub and Tekton.
- Extensive knowledge of software quality tools such as SonarQube, Checkmarx, Fossa, 42C, and CYCODE.
- Familiarity with Test Driven Development, code coverage, and Katas.
- Strong experience in public cloud, especially in containerization and virtualization.
- Proficient in monitoring tools like Dynatrace, Splunk, Prometheus, and Grafana.
- Knowledge of database systems and SQL, with experience in relational mapping, including MySQL, SQL Server, PostgreSQL, and MongoDB.
- Experience deploying products on cloud services, with exposure to GCP.
- Advanced troubleshooting skills.
- Excellent communication skills.
Responsibilities
- Meet with the Product team to define the scope and scale of the product.
- Design system architecture.
- Complete data structures and design patterns.
- Design and implement scalable APIs and microservices.
- Write high-quality, efficient, and maintainable code.
- Troubleshoot and fix bugs.
- Identify bottlenecks and improve software efficiency.
- Collaborate with the design team on developing microservices.
- Use version control systems like GitHub to manage codebase changes and collaborate with team members.
- Create and maintain technical documents, including design documents, user manuals, and API documentation.
- Utilize deployment methodologies and CI/CD pipelines for application deployment and ongoing maintenance.
- Communicate openly and frequently with the team, being responsive to prompts.