View All Jobs 111376

Associate Software Engineer

Develop and maintain high-quality software components for enterprise applications
Hyderabad, Telangana, India
Entry Level
4 days ago
Foundation AI

Foundation AI

Foundation AI is a technology firm specializing in artificial intelligence solutions to transform unstructured data into actionable insights.

2 Similar Jobs at Foundation AI

Associate Software Engineer

At Foundation AI, we are looking for an Associate Software Engineer who has 0-2 years of work experience to develop and maintain high-quality software solutions. The ideal candidate is a problem solver with a good technical background who can contribute to the development and implementation process while continuously improving system performance and scalability. Should have adaptability and willingness to learn new tools/languages. They should possess good communication skills as well as a positive attitude and a drive to learn.

Key Responsibilities:

  • Software Development: Write clean, maintainable, and well-documented code under guidance. Follow coding standards and development best practices.
  • Bug Fixing: Investigate and fix simple bugs assigned by senior developers. Participate in triaging and debugging activities.
  • Unit Testing & Code Reviews: Submit code for review and apply feedback. Observe senior engineers to learn from peer reviews. Write and maintain unit and integration tests for developed features and participate in test case reviews and QA cycles.
  • Problem Solving, Accountability, Feedback & Improvement: Apply logical thinking to resolve issues and escalate when needed. Take ownership of assigned tasks and deliver within timelines. Accept constructive feedback and show improvement over time.
  • Version Control: Use Git tools effectively to manage code commits and branches.
  • Agile Participation: Attend daily stand-ups, sprint planning, and retrospectives. Understand and contribute to team velocity and goals.
  • Continuous Learning & Mentorship: Stay updated with new tools, technologies, and trends in the software development space. Work closely with a mentor or lead engineer to improve skills and domain knowledge.
  • CI/CD & DevOps: Support continuous integration and deployment processes.
  • Cross-Functional Communication: Work closely with product managers, designers, and other engineers to understand business requirements and translate them into technical solutions.
  • Documentation: Create and maintain basic technical documentation for assigned work (e.g., APIs, modules, processes).

Responsibilities will be tailored based on the candidate's experience and expertise, aligning with Software Engineer I, II, or III levels.

Skills and Tools:

Programming Languages:

  • Writes efficient, maintainable, and testable code with some consideration for performance and error handling.
  • Understands fundamental programming concepts such as variables, loops, conditionals, and functions.
  • Familiar with basic development tools such as IDEs and version control (e.g., Git – clone, commit, push).
  • Understands version control branching strategies and contributes to team repositories (e.g., branching, pull requests, and merges).
  • Capable of debugging issues independently using IDE tools, logs, and debugging utilities.
  • Supports peer code reviews by offering basic feedback on style, logic, and potential improvements.

Requirements Analysis:

  • Understand requirements and be able to implement features according to provided specifications.
  • Interprets functional and non-functional requirements independently for small, well-defined tasks.
  • Collaborates with peers and senior developers to refine requirements within the context of a task or feature.
  • Documents uncertainties or blockers and escalates issues promptly when requirements seem unclear.
  • Evaluates how changes in requirements impact existing code and dependencies.
  • Analyzes moderately complex requirements and breaks them down into implementation steps.
  • Suggests minor refinements or alternative approaches to optimize task implementation based on understanding of system constraints and best practices.

SDLC:

  • Basic awareness about the software development lifecycle.
  • Should be able to follow the software development lifecycle.
  • Should be able to enhance the processes related to software development. Follow coding standards.

Technical Competency:

  • Should have good technical competence in programming languages like Python, JavaScript.
  • Should be able to understand key components of the technology stack.
  • Should be able to work on the key components used in the technology stack.

Unit Testing:

  • Should be able to run the Unit/Integration test code.
  • Should be able to write unit testing for the features owned.
  • Should be able to derive the coverage for the unit test written.

Documentation:

  • Maintain technical documentation for developed software, APIs, and processes.
  • Write technical documentation for the code written.
  • Publish technical documentation for the code written.

Problem-solving:

  • Should assist the team in problem-solving.
  • Debugs moderate issues with support.
  • Proposes solutions for minor technical challenges.

Critical Thinking:

  • Follows task instructions accurately.
  • Capability to break down problems into smaller chunk of problems.
  • Identifies basic issues and reports them.
  • Suggests minor process improvements.

Effective Communication:

  • Should have good written and verbal communication skills to talk to peers, colleagues, and immediate reporting authority.
  • Asks questions to clarify tasks.
  • Communicates task progress and challenges.
  • Explains simple technical concepts to peers.
  • Actively seeks out feedback from the manager.

Ownership:

  • Completes individual tasks under supervision, focusing on quality.
  • Takes ownership of basic tasks with minimal guidance and delivers as expected.
  • Starts demonstrating initiative by identifying small improvements in code or processes and ensuring delivery independently.

Technical Skills:

Technical Skills SetRequirement Level
PythonMust Have
Flask and Fast APIGood to Have
Messaging System – Rabbit MQGood to Have
Async Task Executor – CeleryGood to Have
OOPGood to Have
Observability (ELK logging, tools like Datadog, Splunk, New Relic)Good to Have
Relational database knowledge – Postgres SQLGood to Have
Experience with debugging complex applicationsGood to Have
Experience with creating/consuming RESTful web servicesGood to Have
Proficient in versioning systems like Git, or SVNGood to Have
Knowledge about unit testing, code coverage, code qualityGood to Have
External Scheduler - AirflowGood to Have
Understand low-level design documentationGood to Have
Understand High-Level design documentationGood to Have
Docker and Kubernetes knowledgeGood to Have
CI/CD Knowledge (e.g.: GitHub Actions)Good To Have
Exposure to Cloud technologies like AWS, Azure, GCPGood to Have
Web Technologies (HTML5, CSS3, JavaScript ES6+)Good to Have
Client-side state management - ReduxGood to Have
Working in Agile/ScrumGood to Have

Education:

  • A B-Tech degree in Computer Science or equivalent experience relevant to the functional area.
  • 0-2 Years of experience in building enterprise systems in Python, HTML, JavaScript, SQL, XML, Web Services, and related technologies.
  • </
+ Show Original Job Post
























Associate Software Engineer
Hyderabad, Telangana, India
Engineering
About Foundation AI
Foundation AI is a technology firm specializing in artificial intelligence solutions to transform unstructured data into actionable insights.