AI-generated pull requests won't land you that data science job
If you are starting your career in data science, you have probably heard that contributing to open source is a great way to stand out when looking for a job. And with AI, it has never been easier.
Many people now pick an issue, paste it into their favourite model, copy the output into a new branch and submit. After a few minutes of work their name appears on the repository of a library that thousands of people use.
I understand the temptation. When you feel that you need to show something to get hired, a list of pull requests on well known libraries looks like a shortcut.
But from the other side of the fence, as the maintainer of feature-engine and friend of maintainers of other libraries, I can tell you that this shortcut backfires.
What maintainers are seeing
Over the past months, we have received a surplus of pull requests that are fully generated with AI. Their authors did not read the contribution guidelines, and in most cases they didn’t even read what the machine produced.
So now, before we look at the code, we need to look at the person who submitted it. We check whether they have contributed before, and whether they seem like a serious contributor. If the answer is no, we close the pull request.
Libraries that data scientists use every day have reacted with explicit policies. scikit-learn’s contributing guide asks people not to submit AI generated code they haven't personally reviewed. Pull requests that appear to break this policy will be closed without review.
So the most likely outcome of a pull request made entirely by a machine is that nobody will look at it.
Recruiters look at merged pull requests
When someone evaluates your open source work, they look at PRs that got merged. A merged pull request means that a maintainer reviewed your code, discussed it with you, and considered it good enough to ship to all the users of the library.
A submitted pull request, on its own, says very little about you. A list of closed pull requests, on the other hand, is not a good sign.
So, should you contribute?
Absolutely, if you have the bandwidth, are genuinely interested in the library, and would like to help grow the open source ecosystem. Contributing is also one of the best ways to learn.
Maintainers are really helpful, and we get really happy when a new, engaged and serious contributor comes along.
From what I see as a maintainer, this is the workflow that makes a contribution stand out:
Read the library's contributing guidelines. They tell you how the maintainers want new features and bugs discussed and how the code should be structured and tested.
Then use AI to help you write the code. And afterwards, review the output carefully, both the code and the pull request message. Make sure you understand every line, that the code follows the patterns used in the rest of the library, and that the description explains in your own words what you changed and why.
This last step is the one that makes the difference. Code and pull request messages generated with AI are very easy to spot for people who have been reviewing contributions for a while. We see the verbose descriptions and the lists of changes nobody asked for. Adding your human layer on top is what gives you high chances of being taken seriously.
To wrap up
If you want to contribute, pick a library you care about, read its guidelines, use AI as a helper, and review everything before you hit submit. Maintainers will notice the difference, and a good first contribution often opens the door to many more.
And if you'd like to start with feature-engine, I'll be happy to review your first pull request!
I hope this information was useful!
Wishing you a successful week ahead - see you next Monday! 👋🏻
Sole
Ready to enhance your skills?
Our specializations, courses and books are here to assist you: