
Software Engineer (Backend)
- Hyderabad, Telangana
- Permanent
- Full-time
- Software Development: Write clean, maintainable, and scalable code using the technology stack used across the company and list below.
- System Design: Collaborate with senior engineers to design and implement scalable software solutions.
- Code Reviews: Participate in peer code reviews to maintain high-quality standards.
- Testing & Debugging: Write and execute unit tests, integration tests, and performance tests to ensure software reliability.
- Agile Development: Work within an Agile/Scrum team to deliver features iteratively.
- CI/CD & DevOps: Support continuous integration and deployment processes.
- Collaboration: Work closely with product managers, designers, and other engineers to understand business requirements and translate them into technical solutions
- Documentation: Maintain technical documentation for reference and future development.
- Programming Languages:
- Develop, test, deploy and debug high-quality software applications using programming languages and frameworks as per our technology stack.
- Writes optimized, scalable, and secure solutions that adhere to team and industry standards
- Applies best practices for error handling, performance optimization, and security in code.
- Participates in code reviews, offering constructive feedback to peers
- Writes optimized, scalable, and secure solutions that adhere to team and industry standards.
- Leads and improves team coding standards, ensuring consistency and quality
- Provides technical guidance and mentorship to junior developers on coding practices and language features
- Requirements Analysis
- Understands and interprets requirements for individual tasks with minimal guidance.
- Analyzes feature-level requirements, understanding end-to-end impact on systems
- Identifies gaps or ambiguities in assigned tasks and seeks clarification from senior team members.
- Assists in breaking down tasks into development steps based on requirements.
- Documents assumptions when details are not fully provided.
- Proactively identifies dependencies or technical constraints affecting the requirements
- SDLC
- Understands basic SDLC concepts (e.g., requirements, development, testing, deployment).
- Follows established team processes and participates in sprint activities.
- Participates in code reviews, testing, and simple deployments under guidance.
- Applies SDLC best practices independently across development cycles.
- Ensures code is unit-tested and works within CI/CD pipelines.
- Proactively identifies gaps in team SDLC processes and suggests improvements.
- Technical Competency
- Applies fundamental concepts, writes efficient and readable code.
- Develops optimized solutions, troubleshoots effectively
- Designs modular solutions, mentors on best practices
- Unit Testing
- Writes basic unit tests for individual components.
- Develops comprehensive test cases, ensures code coverage
- Establishes testing best practices, mentors on test-driven development
- Estimation
- Assists in estimation efforts, provides input on time required for tasks.
- Estimates task complexity independently.
- Contributes to sprint planning, reviews and improves estimation processes.
- Problem-solving
- Breaks down tasks, applies logical debugging.
- Solves moderate technical issues independently.
- Should be able to identify the problems.
- Tackles complex technical challenges, suggests alternative approaches.
- Designs solutions for complex problems with guidance
- Critical Thinking
- Understands the "why" behind assigned tasks.
- Understands requirements and asks clarifying questions.
- Identifies inefficiencies and suggests improvements
- Evaluates trade-offs in design and implementation decisions.
- Evaluates multiple solutions and selects the best approach
- Effective Communication
- Communicates task status, asks clear questions.
- Articulates technical challenges to non-technical stakeholders, influences decisions
- Shares progress in daily standups and presents technical solutions to peers
- Actively seeks out feedback from their teammates and manager and works to use feedback that they receive as a tool for growth.
- Delivers praise and constructive feedback to their team, teammates, and manager in a useful manner.
- Communicates blockers proactively
- Leadership
- Contributes to team discussions and seeks guidance on decisions.
- Assists in planning and provides input on technical decisions.
- Starts influencing design and development approaches within the team.
- Ownership
- Delivers assigned tasks on time with support and ensures quality.
- Takes ownership of small features or modules and ensures timely delivery.
- Ensures the successful delivery of increasingly complex tasks and contributes to improving team processes.
- A B-Tech degree in Computer Science or equivalent experience relevant to the functional area.
- 2-4 Years of experience in building enterprise systems in Python, HTML, JavaScript, SQL, XML, Web Services, and related technologies.