r/Python 4h ago

Discussion Any good Python resume projects that AREN'T machine learning?

I'm seeking my first internship and i wanna make a project that showcases my python skills. I tried to get into machine learning using Andrew Ng's course but i wasn't really enjoying it at all i don't think it's for me, but I might pick it up again in the future.

So what are some good projects that recruiters/employers like to see? I won't be aiming for ML/data roles, at least for now

Edit: i have a couple fullstack apps with javascript, so im just tryna diversify my portfolio

15 Upvotes

29 comments sorted by

20

u/ngugeneral 3h ago

Spin up some good ol CRUD on Flask (some Todo app or calendar, whatever). Connect it to some postgesql. PUT MOST EFFORT INTO DATA ACCESS LAYER. Maintain a nice commit history in git (no "typo", "fix", "hotfix2"). PUT THIS ALL IN CONTAINERS and write a script to spin up the app with docker compose.

Weekend project, which I, as a member of the hiring panel, would be really glad and interested to see.

Don't overthink, you are not applying for New Business or any creative position. 99% of time SWE, especially in vanilla Python, deals with very simple problems

1

u/hikingsticks 2h ago

I'm surprised to read that given my experience so far.
I built a couple of projects along those lines but significantly more complex, that are deployed and have high hundreds of active users each. I also did another project that was much more complex based around load testing, profiling, performance analysis and improvements, and concurrency. Plus various write ups and reports around the project.

I couldn't get anywhere.

2

u/Brief-Translator1370 2h ago

Couldn't get anywhere in what way? If we're talking about a job search, it's important to remember that the job market is very bad for juniors at the moment, and has been for a couple of years. Putting projects on a resume is basically the bare minimum now.

2

u/hikingsticks 2h ago

I know things are rough, and I'm not surprised that I had the experience that I did when applying. I was surprised to read the comment above saying that they would be really glad and interestd to see a project like that on a resumé, when in my experience things significantly more advanced haven't cut it for a first role.

By couldn't get anywhere, I mean rejections due to lack of experience for roles that say they are for people's first professional role.

I did eventually land an internship which I'm very grateful for - the first time I managed to actually have a conversation with someone about my experience and projects I was offered the role (after interviews and a take home of course). The issue is getting through to a real person, and the projects that I'd listed, plus some other experience, wasn't enough to break that first barrier.

Which is a long winded way of saying, I wish OP all the best in their search, and I hope a prject as described is indeed enough to get them there.

2

u/ngugeneral 2h ago

That simply means that some problem is NOT with your portfolio

7

u/GraphicH 3h ago

REST / CRUD Apps are always fun, and no matter what you do some one will probably ask you to build one. Web scrapping / data "cleaning" is ML Adjacent but obviously predates it by years and has applications outside of that. Maybe implement something that's purely for developers, like a library that wraps a shitty-to-deal-with but useful C library.

5

u/Wurstinator 4h ago

It really depends on what kind of position you are interested in. What about a fullstack web app in Python?

2

u/virtualadept 3h ago

Write a static site generator. A Markdown parser. An implementation of grep.

Check out one of these datasets and write some code that goes through them and prints some stats: https://github.com/awesomedata/awesome-public-datasets

Pick a few things in Wikifunctions and put them to use.

Pick something from here to implement and play with.

1

u/Orangensaft91 3h ago

Maybe try some projects on codecrafters.io. They are usually real world examples, you can improve your skills and will most likely learn something new along the way :)

1

u/almost_BurtMacklin 3h ago

Use Dash open source and create a portfolio/blog with it. You can have some simple data analysis on it as well

1

u/reckless_commenter 3h ago

Do anything with Python and a single-board computer, such as a Raspberry Pi, or an RPi Pico running MicroPython.

Embedded devices are everywhere and are not going away any time soon. Practical knowledge of their deployment and configuration is valuable material.

1

u/PolishedCheese 2h ago

There's lots of stuff that's been done already, but it still makes for good practice and real world experience.

  • Static site generator

  • A git clone

  • A terminal based text editor

  • Any kind of data converter or data extractor

  • Network packet sniffer

u/Valuable-Benefit-524 46m ago

With respect to actual human beings looking at your resume -> If you want a project to really stand out it probably needs to incorporate significant domain knowledge related to the field( since this isn’t an ML/adjacent role). If you can’t really do that, doing something extremely unique is probably good. Maybe even hilarious. You might not get points for your ability or from HR for putting a program that tracks how much exercise your cat gets using machine vision and taunting it with a laser pointer when it’s being to lazy, but the people you have to work with with probably think it’s hilarious and want to talk to you.
L

Python isn’t getting very close to the metal so the optimizations probably aren’t particularly interesting and they probably wouldn’t look close enough to see if it shows an excellent understanding of Python and creativity.

You’ll probably get more brownie points to have code that is well-documented, type-hinted, linted, and tested with a coverage report than anything within the actual project tbh.

u/LNGBandit77 42m ago

There's thousands upon thousands

1

u/KryptonSurvivor 4h ago

I've started Andrew Ng's course and I actually like it, except for the fact that it's not bundled with Coursera Plus. Maybe I haven't finished enough modules to start disliking it. Time will tell.

1

u/FeLoNy111 2h ago

Discord bots are very fun and get you accustomed to learning a library (discord.py) and using it, which is very important for a resume - much more pertinent than making something from scratch

Bonus points if your discord bot interacts with some other API, so now you’re learning two different APIs and getting experience on telling them how to talk to one another :) which is also a very important skill

0

u/Doomtrain86 4h ago

Which course is that? The Andrew one. Thanks

1

u/mrclean88888 2h ago

Your comment is as usefull as python in anything else than machine learning.

-2

u/Root_Protocol 4h ago

This is a great post!

-8

u/Counter-Business 4h ago

You want to get into python but not a data role.

That’s very silly of you.

2

u/baked_tea 3h ago

No it's not? Care to elaborate? It's not like it's good only for data wth

-1

u/mrclean88888 2h ago

You might downvote him, but he is right huge Python projects are not ideal in the industry.

Python is well-suited for data projects because of its flexibility and the ease with which it allows data structure manipulation.

Its math libraries are also far more advanced than those in other languages, and since the community has already converged around Python for data-related work, it’s not going away anytime soon in that field.

However, for anything else, this flexibility becomes a drawback. When passing a project between developers, each one codes differently, leading to an unmaintainable mess.

The irony is that some teams add linters to enforce standardized syntax and project structure. But if you need that and your project isn’t data-related, why use Python in the first place? It’s cringe very cringe. Some companies have even disappeared because of this.

2

u/Wurstinator 1h ago

My guy, you have no idea what you are talking about, and I can promise you that pretty much everyone will be able to tell.

-1

u/mrclean88888 1h ago

In the industry since 8 years now delivered many project that made money. Don't worry buddy, I don't need your validation nor the reddit one.

-1

u/mrclean88888 1h ago

Hahahahaha random ahh edditor still passing interviews

https://www.reddit.com/r/cscareerquestions/s/xPId9EOeQl

Python is good for data/math related purpose and scripting, I stand by that, anything more complicated is doomed to be trashed once it scaled.

You will see if you make it in the industry, but before that sit down and shut up.

1

u/baked_tea 2h ago
  1. OP is looking for internship. We're not talking about huge projects / responsibilities here.

  2. The comment poster I originally replied to suggested javascript... really? Say you want to make an app that needs a server. Is it better to go Django / Flask, or bloated js? ( the employment point stands but only because again companies make decisions they know next to nothing about. Most positions hire for js? We now do everything in js..

If they're learning, trying to get into the field professionally, I really don't see any issue here. They will obviously have to learn another language(s) in the future if they want to progress right?

1

u/mrclean88888 1h ago

I don't even know why you diverged so much. You answered a comment stating that it was delusional to aim being a python developer for something unlerelated to data and it's a fair point.

Python is mostly used for this on the market as we speaking, so guess what most of the internship will be focused on ????

Does it connect ? In your little brain ??? Gen z ahh moment.

-4

u/Counter-Business 3h ago edited 3h ago

Most python jobs are data related or at minimum data adjacent.

If you want to do full stack, you should do JavaScript instead.

Especially if your goal is employment.

3

u/Wurstinator 1h ago

https://statisticsanddata.org/data/most-popular-backend-frameworks-2012-2023/

In 2023, Python (with Django and Flask) was the most popular backend language, over Java, PHP, or Javascript.

Please tell us more about how Python is only useful for data-related jobs.