Software Engineer 1

Centric Software•Campbell, CA
•Hybrid

About The Position

Centric Software is seeking a motivated Software Engineer I to join our product development organization. This is an entry-level software engineering position for candidates who have a strong foundation in computer science and software development and are eager to grow their skills while contributing to production software used by customers around the world. As a Software Engineer I, you will work as part of an agile development team alongside experienced engineers, product managers, and quality engineers. You will contribute to product features, resolve defects, improve existing functionality, and develop the technical and professional skills needed to become an increasingly independent software engineer. You will receive structured onboarding, mentorship, and hands-on experience with Centric Software's development practices, tools, architecture, and products.

Requirements

  • Bachelor's degree in Computer Science, Software Engineering, Computer Engineering, or a related technical field, or equivalent practical experience.
  • Foundational knowledge of software development concepts, including data structures, algorithms, object-oriented programming, and software design.
  • Programming experience through coursework, internships, personal projects, research, or professional experience.
  • Experience with at least one modern programming language such as Java, JavaScript, TypeScript, Python, C++, or a similar language.
  • Understanding of fundamental web application concepts, APIs, databases, and client/server architecture.
  • Strong analytical and problem-solving skills.
  • Ability and willingness to learn unfamiliar technologies and work within an existing, large-scale software codebase.
  • Effective written and verbal communication skills.
  • Ability to work collaboratively within a software development team.

Nice To Haves

  • Java and Java-based server-side development
  • JavaScript and TypeScript
  • React, Angular, Node.js, or similar web technologies
  • HTML and CSS
  • SQL and relational databases
  • NoSQL databases
  • REST APIs and distributed applications
  • Git and Bitbucket
  • Jira and other Agile development tools
  • Jenkins or other continuous integration/continuous delivery tools
  • Unit testing frameworks such as JUnit
  • Cloud technologies and containerized applications
  • Natural Language Processing, machine learning, or Large Language Models
  • AI-assisted software development tools

Responsibilities

  • Design, implement, test, and maintain software features under the guidance of experienced engineers.
  • Work on user stories, product enhancements, technical tasks, and defect resolution as part of an agile development team.
  • Write clean, maintainable, and well-tested code that follows established engineering standards and best practices.
  • Participate in code reviews and incorporate feedback to continuously improve code quality and technical skills.
  • Investigate software defects, identify root causes, and implement appropriate fixes.
  • Develop an understanding of the existing application architecture and make changes that integrate effectively with the broader product.
  • Develop product functionality across front-end and back-end components using technologies such as TypeScript, JavaScript, React, Java, and related frameworks.
  • Build responsive, maintainable user interfaces and reusable components while delivering a high-quality user experience.
  • Develop server-side services, business logic, APIs, and application components with a focus on reliability, scalability, and performance.
  • Work with relational and NoSQL databases, including data modeling, queries, performance optimization, and integration with application features.
  • Contribute to selected projects involving Natural Language Processing, Large Language Models, machine learning, or AI-enabled product capabilities.
  • Participate in the complete software development lifecycle, including requirements clarification, design, implementation, testing, code review, deployment, and defect resolution.
  • Use source control, continuous integration, automated testing, and issue-tracking tools as part of the team's development workflow.
  • Create unit and automated tests to verify software behavior and reduce regressions.
  • Learn and apply secure, scalable, and maintainable software engineering practices.
  • Use modern development tools, including AI-assisted development tools where appropriate, to improve productivity while maintaining engineering quality and accountability.
  • Collaborate effectively with engineers, QA, product managers, and other members of the product organization.
  • Ask questions, seek feedback, and communicate technical issues, progress, and risks clearly.
  • Take increasing ownership of assigned work as technical knowledge and experience grow.
  • Participate in technical discussions, design reviews, sprint planning, retrospectives, and other team activities.
  • Share knowledge and contribute to a collaborative engineering culture.
  • Work with an assigned mentor and engineering manager to establish development goals and build technical depth.
  • Develop toward independently delivering well-defined product features and resolving increasingly complex technical problems.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service