The posting
About Centric Software:
Centric Software® is a global leader, providing an innovative and AI-enabled product-concept-to-commercialization platform for retailers, brands and manufacturers of all sizes. We equip retail, fashion, luxury, footwear, outdoor, home and consumer goods brands with pioneering best-of-breed solutions to plan, design, develop, source, comply, buy, make, price, allocate, sell and replenish products. Our technology powers brands to streamline processes, drive efficiency and operate with confidence in an ever-changing market.
Our story is one of rapid growth, bold ideas and extraordinary opportunities. We’re here to challenge the status quo—and we’re looking for brilliant people who want to do the same. No matter where you are in the world, this is your chance to be part of something exceptional.
About the Role
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.
Responsibilities
Software Development
- 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.
Technical Areas
Depending on team needs, product area, and individual strengths, you may contribute in one or more of the following areas:
- Full-Stack Development: Develop product functionality across front-end and back-end components using technologies such as TypeScript, JavaScript, React, Java, and related frameworks.
- Front-End Development: Build responsive, maintainable user interfaces and reusable components while delivering a high-quality user experience.
- Back-End Development: Develop server-side services, business logic, APIs, and application components with a focus on reliability, scalability, and performance.
- Database Development: Work with relational and NoSQL databases, including data modeling, queries, performance optimization, and integration with application features.
- AI and Emerging Technologies: Contribute to selected projects involving Natural Language Processing, Large Language Models, machine learning, or AI-enabled product capabilities.
Engineering Practices
- 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.
Collaboration and Growth
- 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.
Qualifications
Required Qualifications
- 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.
Preferred Qualifications
Experience with one or more of the following is beneficial but not required:
- 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
What Success Looks Like
During your first year as a Software Engineer I, you will progressively:
- Become proficient with Centric Software's development environment, tools, processes, and product architecture.
- Successfully complete well-defined engineering tasks and product stories with appropriate guidance.
- Develop the ability to investigate and resolve software defects independently.
- Consistently write maintainable code supported by appropriate testing.
- Incorporate code-review feedback and demonstrate continued improvement in engineering quality.
- Communicate effectively with your team regarding requirements, technical decisions, progress, and risks.
- Take increasing ownership of features from implementation through validation and delivery.
- Build the technical foundation required to progress toward a Software Engineer II role.
Work Environment
This position operates in a collaborative development environment. Depending on the team and product area, employees may work in a remote or hybrid arrangement that includes regular collaboration from Centric Software's Campbell, California office.
Specific in-office expectations will be communicated based on team requirements.
Centric Software provides equal employment opportunities to all qualified applicants without regard to race, sex, sexual orientation, gender identity, national origin, color, age, religion, protected veteran or disability status or genetic information.



