Senior Staff Principal Fullstack Engineer
Role details
Job location
Tech stack
Job description
-
Developing and maintaining both Front End and Back End components: This includes writing code in various programming languages, designing user interfaces, and creating server-side logic.
-
Collaborating with cross-functional teams: Working with product managers, designers, and other engineers to define requirements, design features, and ship new products.
-
Ensuring the technical feasibility of UI/UX designs: Understanding how to implement designs effectively and ensure they perform well.
-
Writing clean, maintainable, and efficient code: Following coding standards and best practices to create code that is easy to understand, debug, and modify.
-
Optimizing applications for speed and scalability: Tuning code and infrastructure to ensure the application can handle a large volume of traffic and perform well.
-
Troubleshooting, debugging, and upgrading existing software: Identifying and resolving issues in existing software and ensuring it is kept up-to-date with the latest technologies.
-
Implementing secure coding practices: Protecting data and ensuring the application is resistant to vulnerabilities.
-
Participating in code reviews: Providing constructive feedback on the code of other developers and ensuring code quality.
-
Creating and maintaining software documentation: Documenting the application's architecture, code, and usage for future reference.
-
Managing hosting environments: Setting up and maintaining the infrastructure on which the application runs, including database administration and scaling.
Requirements
- Proficiency in Front End technologies: HTML, CSS, JavaScript, and popular frameworks like React, Angular, or Vue.js.
- Proficiency in Back End technologies: Server-side languages like Node.js, Python, Ruby, or Java, and database technologies like MySQL, PostgreSQL, MongoDB, or Redis.
- Understanding of RESTful APIs and web services: Knowledge of how to design and implement APIs for communication between different systems.
- Experience with version control systems: Git.
- Experience with CI/CD pipelines and automated testing frameworks: Understanding how to automate the software development lifecycle.
- Problem-solving and critical thinking skills: The ability to analyze complex problems and develop effective solutions.
- Communication and collaboration skills: The ability to effectively communicate with cross-functional teams and work together to achieve shared goals.