● Design, code, test, and debug software applications, ensuring high-quality and scalable solutions by writing clean, maintainable and efficient code.
● Participate in the architectural design and implementation of software systems, making decisions regarding the best technologies and methodologies to use.
● Provide technical guidance, mentorship, and support to the teams to ensure it adheres to coding standards, is maintainable and performs optimally.
● Participate in code reviews and offer constructive feedback.
● Design scalable and robust software architectures. Ensure that software design aligns with business and technical requirements.
● Create and maintain technical documentation, including system architecture, design and user guides.
● Identify and address technical challenges, bottlenecks and performance issues. Propose innovative solutions and optimizations.
● Work closely with cross-functional teams to understand project requirements to achieve project goals.
● Stay updated with the latest industry trends, technologies, and best practices. Continuously improve technical skills and share knowledge with the team.
● Collaborate with project managers and stakeholders to set project milestones, estimate project timelines, and contribute to project planning.
● In-depth knowledge of software development methodologies and best practices.
● Excellent problem-solving and troubleshooting skills.
● Strong communication skills and the ability to work in a collaborative team environment.
● Familiarity with agile development methodologies.
● Work effectively under pressure when it is required.
● Respond faster and communicate well out of office hours when it is required.