An open API service indexing awesome lists of open source software.

https://github.com/yousufislam191/company-interview-evaluator

A curated guide for software engineers to evaluate a company’s engineering practices during job interviews. Includes key questions, red flags, and good signs related to SDLC, codebase quality, team culture, testing, and developer experience.
https://github.com/yousufislam191/company-interview-evaluator

code-quality company-evaluation developer-experience developer-job-search developer-job-search-bd engineering-culture interview job-interview-questions legacy-code sdlc software-engineering technical-debt

Last synced: about 1 month ago
JSON representation

A curated guide for software engineers to evaluate a company’s engineering practices during job interviews. Includes key questions, red flags, and good signs related to SDLC, codebase quality, team culture, testing, and developer experience.

Awesome Lists containing this project

README

        

# 🏢 Company Interview Evaluator

This repository provides a structured set of interview questions and evaluation criteria to help software engineers assess a company’s engineering culture, technical maturity, and codebase quality **before joining**.

It helps identify **red flags** and spot **positive signs** in areas like SDLC, code quality, dev environment, testing practices, and team culture.

---

## 📋 How to Use

During your technical interview process, use the questions below to evaluate the company. For each, we've listed:

- ✅ Good signs – what strong answers sound like
- ❌ Red flags – what weak or problematic answers look like

Ask follow-up questions when needed to clarify vague or overly positive answers.

---

## 🧩 Evaluation Criteria & Questions

### 1. Codebase Quality

**Question:**
> “Can you describe the age and state of the current codebase?”

✅ Good signs:
- Actively maintained, refactored over time
- Clear documentation
- Efforts to reduce technical debt

❌ Red flags:
- “It just works, so we leave it alone.”
- No one understands parts of it
- No documentation or refactoring plan

---

### 2. SDLC Process

**Question:**
> “Can you walk me through your SDLC—from requirements to deployment?”

✅ Good signs:
- Structured sprints (e.g., Scrum, Kanban)
- Planning, QA, peer review, staging environments
- Clear CI/CD process

❌ Red flags:
- No defined process
- Development is ad hoc
- “We’re agile-ish”

---

### 3. Testing & CI/CD

**Question:**
> “How is testing handled? Do you have unit, integration, or E2E tests?”

✅ Good signs:
- Tests for new features and bug fixes
- Automated CI/CD pipelines
- Tools like Jest, Cypress, GitHub Actions

❌ Red flags:
- Heavy reliance on manual testing
- No CI/CD or flaky tests
- QA team handles all testing

---

### 4. Dev Environment & Tooling

**Question:**
> “How easy is it to set up the project locally?”

✅ Good signs:
- Docker or setup scripts available
- New devs onboard quickly
- Local setup well-documented

❌ Red flags:
- Difficult or undocumented setup
- Requires manual configuration
- Takes days to onboard

---

### 5. Code Ownership & Team Culture

**Question:**
> “How do developers handle ownership of features or modules?”

✅ Good signs:
- Shared knowledge and clear ownership
- Documentation and mentorship practices
- Code reviews and rotation of responsibilities

❌ Red flags:
- Tribal knowledge only
- One person owns large parts of the system
- No formal process

---

### 6. Refactoring & Technical Debt

**Question:**
> “Have there been recent efforts to modernize or refactor parts of the system?”

✅ Good signs:
- Modernization projects planned and prioritized
- Technical debt is tracked
- Recent tech stack upgrades

❌ Red flags:
- No time/resources allocated
- “It’s not a priority right now”
- Management avoids refactoring

---

### 7. Real-World Example

**Question:**
> “Could you walk me through a recent feature or bug fix from planning to release?”

✅ Good signs:
- Includes planning, tracking, testing, review, and deployment
- Shows collaboration and accountability
- Lessons learned are shared

❌ Red flags:
- Untracked or undocumented workflows
- Ad hoc development
- “Just fix and push to production”

---

## 🧠 Additional Areas to Evaluate (Simplified)

### 8. Onboarding Experience

**Question:**
> “What happens when a new engineer joins the team?”

✅ Good signs:
- There’s a clear plan for the first few weeks
- Someone is assigned to help you (mentor or buddy)
- Documentation and setup are ready so you can start coding quickly

❌ Red flags:
- No plan — you're left to figure things out alone
- No one to help or guide you
- It takes a long time just to set up your computer or tools

---

### 9. Career Growth & Learning

**Question:**
> “How do engineers grow in their career here?”
> “Do you support learning or training?”

✅ Good signs:
- Clear paths to promotions or new responsibilities
- Regular feedback and 1-on-1 meetings
- The company gives time and money for learning new things

❌ Red flags:
- No clear way to grow or get promoted
- No feedback or support for improvement
- No learning resources or time to upskill

---

### 10. Decision-Making Process

**Question:**
> “How are technical choices made, like picking tools or designing systems?”
> “Do engineers help make those decisions?”

✅ Good signs:
- Engineers are involved in making decisions
- They have design discussions or review meetings
- Trying new tools or improvements is encouraged

❌ Red flags:
- Managers or leads decide everything without input
- "We've always done it this way" mindset
- Engineers don’t feel heard or included

---

### 11. Security & Reliability

**Question:**
> “What happens when something breaks in production?”
> “Do you have tools to catch problems quickly?”

✅ Good signs:
- There’s a team or schedule for handling urgent issues
- Tools are used to watch and alert when something fails
- After a problem, they talk about what went wrong and how to fix it

❌ Red flags:
- No monitoring or alerts — they only find problems after users complain
- No clear way to respond to issues
- People blame each other instead of fixing the root cause

---

### 12. Team Communication & Collaboration

**Question:**
> “How do engineers from different teams work together?”
> “What happens when people disagree on something technical?”

✅ Good signs:
- Teams talk regularly — through meetings, chats, or shared documents
- People listen to each other and discuss ideas openly
- It’s easy to work with other teams

❌ Red flags:
- Teams barely talk to each other
- Poor communication leads to confusion or delays
- Arguments go unresolved or cause frustration

---

## ✅ Pro Tips

- Ask to speak with a current engineer.
- Pay attention to honesty and transparency.
- Look for inconsistencies across interviewers.
- Trust your instincts—if it feels disorganized, it probably is.

---

## 📄 License

This is a free and open resource. Use it, share it, or adapt it as needed.

---