Hacker News new | ask | show | jobs
Ask HN: What Do You Consider Non Trivial Portfolio Project Ideas?
12 points by lagbaja 3675 days ago
Hi, I will appreciate the guidance of Senior Software Engineers/ Technical Hiring managers, with regards, what makes a good project, one could share with prospective employers, in seeking a Development role. I have been self learning Python programming, in conjunction with Flask the Python web framework, off and on for about 2 years and will really like to clench a development role. so I set out with the idea of building a CMS system based on Python and Flask, in order to both aggressively push my learning and programming savvy and ultimately clench that dream developer role. What are your thoughts? Too big of a project? have any other projects you might suggest? I will appreciate your feedback
4 comments

It depends where you want to go with your career,

If you're looking to get just any job, then a CMS is a good idea because it will teach you CRUD, and there's lots of jobs out there that are doing mostly CRUD.

If you want to get into Data Engineering / backend engineering job, then write a crawler. Pick a subject, e.g. German music, or Podcasts, or Electronic components, or anything like that, and write a crawler from scratch. Pull the HTML, parse them, store it and build a query dashboard on top of it. Building something like this end-to-end will give you lots of insight into systems engineering as a whole, and I used a project like this to get my job.

I have a little more experience than op. I see you have experience about specific domains of programming. May I ask how do I find a list of domains from which I could choose what else I want to do ?
I dont know if such a list exists - try extrapolating something you love.

Love fishing? What about using tidal information, public available fishing trawler data, weather patterns to suggest optimal fishing spots?

Love electronics? Can you index the top 10 global electronics companies and make a super slick product search with automatically updating pricing.

Love cooking? The BBC is shutting down their recipe website, mirror it, index it and make a cool search tool.

What do you love?

I thank you Malux85, appreciate you pointing to an example project I can work on, most importantly, one that equally worked for you, per getting a job, which is one of my goals.
No probs :) if you have any questions or need some pointers, or just someone to bounce ideas off, let me know, my email address is in my profile
Cheers, I will sure take you up on the offer :)
Funnily enough, I was recruiting for a Python/Flask engineer not long ago. The best applicant didn't have side projects, but had a blog with over 150 articles on Python and Flask. He was rejected because they couldn't afford him.

I've written about side projects, and two best ideas are usually:

- Contribute to open source. I would contribute to the Flask project if that's what you want to use professionally. Either improve the framework directly, or write a useful extension.

- Make something that people will use, and preferably makes you money. People want to see evidence of production quality, not hobby projects. If that means shrinking the scope, do it.

Thank you, appreciate your time and comment
Just one guys opinion...

I think a CMS is pretty boring unless it fits into your personal story/narrative.

__WHY__ did you create this CMS? What was lacking in the current offering and prompted you to tackle this problem? Perhaps it is industry/vertical/niche specific? Have you been charging for it? Without that part your are just another guy with another half-baked CMS.

Rather, it is much more interesting to see people go deep on their own interests, pursuits and passions, which (sometimes) lead to something with a broader appeal. Even if they don't, it still much more interesting.

-- Rumor has it that Elasticsearch started when the guy wanted to make a recipe database for his girlfriend....

My latest side projects involve stitching together various DockerFiles and docker-compose.yml files to create super simple services like favicon grabbers, website-screenshot-as-a-service, and web-crawlers.

Anyway, that is my two cents.

Good luck

Hi Sheraz,

I thank you for your candor, most appreciated.

I think you mean clinch, not clench :-).

I'd suggest you write a project that uses a sql database, with or without an ORM. While there are plenty of NoSQL databases out there, sql syntax is fairly standard and universal for basic operations, so picking up some knowledge of it will set you apart. Also in a production environment you will almost always have multiple python servers running and feeding into a central database where any request might be received by any server, so thinking about data persistence is important.

Maybe pick up a front end framework and a little javascript, enough so that you can make api calls to rest endpoints. Get your free year of aws and put it up, because learning to deploy to production and get something running is a good experience to talk about.

I thank you, yes I meant to say clinch :)