
Ask HN: What Do You Consider Non Trivial Portfolio Project Ideas? - lagbaja
Hi, 
I will appreciate the guidance of Senior Software Engineers&#x2F; 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
======
malux85
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.

~~~
id122015
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 ?

~~~
malux85
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?

------
liquidcool
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.

~~~
lagbaja
Thank you, appreciate your time and comment

------
sheraz
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

~~~
lagbaja
Hi Sheraz,

I thank you for your candor, most appreciated.

------
lsiebert
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.

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

