Lead the design, architecture and implementation of impactful industrial solutions ensuring extensibility, maintainability, scalability, reliability, security and futureproofing across the full stack
Effectively partner with product managers, designers, business stakeholders, engineering managers, and IT to deliver solutions that meet the business and corporate strategic goals
Participate and influence proper Agile methodologies including sprint planning, daily stand-ups, sprint reviews and retrospectives
Ensure the team is delivering the highest quality deliverables by conducting code reviews and participating in QA activities
Monitor, debug, and optimize applications for performance, scalability, and security, ensuring optimal resource utilization
Mentor junior and intermediate software engineers promoting a culture of continuous learning and improvement while adhering to coding standards and best practices
Create and steward the writing and maintaining of technical documentation, including design documents, API specifications, and troubleshooting guides
Front-End Optimization: Ensuring that web applications load quickly and perform efficiently, optimizing for rendering speed, code splitting, and lazy loading.
Back-End Optimization: Proficiency in optimizing server-side code for performance, including caching strategies (e.g., Redis, Memcached), database query optimization, and efficient API design.
Monitoring and Troubleshooting: Familiarity with monitoring tools (e.g., New Relic, Prometheus, Grafana) to identify and address performance bottlenecks.
Qualifications:
Bachelor’s degree in Computer Science, Computer Engineering, or a related field
5+ years experience in software development, and proven expertise in full-stack software engineering
Desired candidate profile
1. Advanced Front-End Development Skills
HTML5, CSS3, and JavaScript: Expertise in building responsive, user-friendly interfaces with modern web technologies.
Frameworks and Libraries: Proficiency in front-end frameworks such as React, Angular, Vue.js, or Svelte. Knowledge of UI component libraries (e.g., Material-UI, Bootstrap) is also important.
State Management: Familiarity with state management tools like Redux, Vuex, or Context API to manage application state.
Responsive Design: Knowledge of responsive design principles to ensure applications work across a variety of devices and screen sizes (using tools like Media Queries or Flexbox).
Cross-Browser Compatibility: Ensuring the application works smoothly across multiple browsers (Chrome, Firefox, Edge, Safari).
2. Back-End Development Skills
Languages: Expertise in back-end programming languages such as JavaScript (Node.js), Python, Java, Ruby, Go, or PHP.
Frameworks: Experience with server-side frameworks like Express.js, Spring Boot, Django, or Flask.
Databases: Strong knowledge of both relational (e.g., PostgreSQL, MySQL) and NoSQL databases (e.g., MongoDB, Cassandra). Expertise in designing and optimizing queries, schema, and database management.
APIs: Ability to design and build RESTful APIs, GraphQL APIs, and work with external APIs to integrate third-party services. Knowledge of API security practices (e.g., authentication, authorization, rate limiting).
Authentication and Authorization: Implementing user authentication (e.g., OAuth, JWT) and handling role-based access control.
3. DevOps and Deployment Knowledge
Cloud Services: Experience with cloud platforms such as AWS, Azure, or Google Cloud for hosting and managing applications.
Containerization: Familiarity with containerization tools like Docker and Kubernetes for managing application environments and deployments.
CI/CD: Implementing continuous integration and continuous deployment pipelines using tools like Jenkins, GitLab CI, CircleCI, or GitHub Actions.
Version Control: Proficient in using Git for source code management, including branching, merging, and version tagging.
4. Architecture and Design Patterns
Microservices: Designing and building scalable applications using a microservices architecture.
Monolithic Architecture: Understanding when to use monolithic architecture vs. microservices, and knowing how to design scalable, maintainable systems.
Design Patterns: Experience with design patterns such as MVC (Model-View-Controller), Observer, Factory, Singleton, and Strategy.
Clean Code Principles: Following coding best practices for maintainable, readable, and reusable code (e.g., SOLID principles).