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 company's needs.
Qualifications
- Bachelor's degree in Computer Science, Computer Engineering, Information Technology, or a related field.
- Previous experience as a Technical Lead Engineer.
- Proficiency in Backend Technologies and Frameworks:
- JavaScript and environments like NodeJS and ExpressJS.
- Back-end languages including Java.
- Java frameworks such as Spring Boot, Spring Cloud, and JavaServer Faces.
- Hands-on experience in the DevOps lifecycle, including deployment in Google native services such as Cloud Run and GKE.
- DevSecOps experience, including designing CI/CD pipelines.
- Knowledge of Infrastructure as Code (IaC), containers, Terraform, and Docker.
- Experience with GitHub and Tekton.
- Extensive knowledge of software quality tools like SonarQube, CheckMarx, Fossa, 42C, and CYCODE.
- Understanding of Test-Driven Development, including code coverage and Katas.
- Strong experience with public cloud, especially in containerization and virtualization.
- Proficiency with monitoring tools such as Dynatrace, Splunk, Prometheus, and Grafana.
- Knowledge of database systems and SQL, including relational mapping; exposure to MySQL, SQL Server, PostgreSQL, and MongoDB.
- Experience deploying applications on cloud platforms, with exposure to GCP.
- Advanced troubleshooting skills.
- Excellent communication skills.
Responsibilities
- Meeting with the Product team to define the scope and scale of the product.
- Designing system architecture.
- Developing data structures and design patterns.
- Designing and implementing scalable APIs and microservices.
- Writing high-quality, efficient, and maintainable code.
- Troubleshooting and bug fixing.
- Identifying bottlenecks and improving software efficiency.
- Collaborating with the design team on microservices development.
- Using version control systems like GitHub for code management and collaboration.
- Creating and maintaining technical documentation, including design documents, user manuals, and API docs.
- Managing deployment methodologies and CI/CD pipelines for application deployment and maintenance.
- Communicating effectively with the team through responsive in-person or messaging interactions.