Sunday, September 17, 2023

Leetcode and Open Source

 To address the issues surrounding the current hiring practices in software engineering, here are some key solutions:


### Replace or Supplement LeetCode

1. **Skills Assessment**: Use real-world problems relevant to the job to evaluate candidates. 

2. **Timed Project**: Give candidates a time-boxed task they would actually do on the job.

3. **Pair Programming**: Test teamwork and problem-solving skills through live coding sessions.


### Open Source Contributions

1. **Value Contributions**: Companies should consider open-source contributions as a valid metric for job eligibility.

2. **Sponsored Projects**: Encourage employees to work on open-source projects and pay them for contributions.


### Broad Skill Evaluation

1. **Soft Skills**: Assess communication and teamwork skills.

2. **Behavioral Interviews**: Use these to understand problem-solving and critical thinking skills.

3. **Diversity**: Don't rely on one metric to judge all candidates.


### Company Culture

1. **Re-skilling**: Encourage continuous learning and re-skilling among existing employees.

2. **Transparency**: Make the hiring process transparent and based on clearly defined criteria.

  

### Industry-Wide Changes

1. **Standardization**: Create industry-wide guidelines for evaluating technical talent.

2. **Audits**: Regularly audit hiring practices to ensure they are fair and effective.


Key Takeaways:

- LeetCode alone is not a comprehensive assessment tool.

- Open-source contributions should not be disregarded in hiring.

- Soft skills and cultural fit matter.

- Industry-wide change is essential for more accurate talent assessment.

Leetcode vs Open Source Contribution

 The discussion focuses on how the criteria for getting a software engineering job have shifted over time. In the past, a portfolio of open-source contributions was valuable, whereas now, the emphasis is on performing well in LeetCode exercises. 


1. The first point argues that LeetCode has become the dominant focus for engineers looking to secure jobs, overshadowing real-world coding and open-source contributions.

  

2. A counterpoint is made that standardized tests like LeetCode serve as a 'disease' of the time, which may not genuinely reflect skills or expertise in real-world coding scenarios.


3. Another perspective argues that open-source contributions don't necessarily indicate efficiency or quality, as they don't capture the developer's performance under real-world constraints like time and team dynamics.


4. One comment suggests that open-source contributions erode the job market for developers, as free and reusable solutions decrease the demand for custom implementations. This viewpoint is met with counter-arguments related to public good and the 'broken window fallacy,' asserting that FOSS (Free and Open Source Software) does more good than harm.


5. The final point stresses that companies lean on LeetCode tests due to administrative efficiency. These tests serve as a filter that can be easily automated and require less effort from interviewers than assessing a candidate’s portfolio or work experience.


Key Takeaways:

- The shift from valuing open-source contributions to focusing on LeetCode puzzles indicates changing priorities in hiring.

- There is debate over whether LeetCode truly evaluates the skills needed for a software engineering job or if it simply offers administrative convenience for companies.

- The role of open-source work in the job market is contentious, with arguments both for and against its value.