Someone with this level of calibre should easily get a job after graduation right? Or are college graduates these days trained to a level where this type of project is expected hence it's still competitive to find an entry level role after college?
Someone with this level of calibre should easily get a job after graduation right? Or are college graduates these days trained to a level where this type of project is expected hence it's still competitive to find an entry level role after college?
“ Unfortunately many programmers, due to their lack of experience, of some knowledge of computer architecture(s), or of an in-depth understanding of the task they are given, spend countless hours by making life harder for themselves in the name of marginal performance gains, often trading many other conveniences (such as type safety, garbage collection, etc) too.”
And then he himself doesn’t use type safety making the text very superfluous. As others have brought up he then uses pythonwrappers for the heavy lifting. It’s just a very shallow thought process that you are supposed to hammer out in the university.
Modify the README to just say: I wanted to scratch an itch so I built PoC for a Redis alternative, and it would have been an amazing achievement. Now? Not so much.
> And then he himself doesn’t use type safety making the text very superfluous.
You are partially right, in that I did not use type annotations thoroughly in my code. Though what I had in mind was that there are much "better" languages out there (compared to C) with strong static/gradual type systems.
> As others have brought up he then uses pythonwrappers for the heavy lifting.
Indeed, and you can read my answer to that here: https://news.ycombinator.com/item?id=25101200
> It’s just a very shallow thought process that you are supposed to hammer out in the university.
If you specify what you refer to by "it", I would be happy to respond but it feels more like a personal attack now.
250 lines of Python code wrapping C libs is an amazing achievement..?
This is so small I wouldn't even classify it as a project personally.
I am not arguing that this is an amazing achievement, but I think you are being overly dismissive here, which I find unfair, and think you are missing the point: It is 250 lines because I was experienced enough to implement it in 250 lines.
Again, it's a small proof-of-concept, but the concepts employed there aren't necessarily beginner level:
1. Asynchronous I/O using `asyncio.Protocol`.
2. Sans I/O networking, see https://sans-io.readthedocs.io/ .
3. Python performance optimisations (e.g. knowing where to choose `collections.deque` over `list`)
4. Knowledge of the modern Python ecosystem (e.g. using uvloop to for event loop).
> It is 250 lines because I was experienced enough to implement it in 250 lines
If you had written a clever algorithm I would agree, but the code seems pretty straightforward. I'm not really sure how being inexperienced would make someone unable to implement this.
Yes, there's some knowledge required to do what you have done but given that the implementation seems relatively straightforwards and it doesn't seem to have much substance (Only 250 LOC + you said you wrote it in 1 day) I would _personally_ not classify this as a project.
I think you are reading too much into an offhand comment.
It helps to be a great programmer in order to get hired, but I never found that to be a requirement, you can always teach people to be great programmers.
But if they are not great at communication or have other "personal faults" like easily irritable or arrogant, it's much harder to help them improve without spending a disproportionate amount of time helping them.
Python jobs in general seem to be extremely rare compared to frontend JS and backend Rails, which I found disappointing several years ago.
But python jobs do exist, and the author should find no trouble landing one with "Cloned Redis in 230 lines" as a bullet point. :)
There's quite a bit of python jobs coming up in the past few years, if we're talking about US tech hubs. Location is everything.
Well, I would be unpleasantly surprised if wrapping python's dicts with a simple API was beyond the capabilities of an average college grad.
I know a similar person who is good with designing distributed systems and programming in general. They had a offer from facebook but declined. They want to get a good paying cybersec job but alas there aren't any at good companies. Currently working on gigs and being broke.