Hacker News new | ask | show | jobs
by stef25 1463 days ago
Wrt to imposter syndrome - I often have this feeling, especially since I don't have any formal training in anything IT related.

Recently a kid showed up at work to do an internship. He's studying computer science, all kinds of advanced algorithm stuff. He's utterly clueless at even beginning to find the cause of a simple bug in a php application. Incapable of interpreting a bug report, finding the class that serves a certain route etc.

Made me really reconsider my imposter syndrome feelings.

3 comments

> ... studying computer science, all kinds of advanced algorithm stuff. He's utterly clueless at...

One thing I notice in some rhetoric (not necessarily yours) is the idea that people are static. That if one is clueless now, they'll always be clueless.

People continuously evolve personally and professionally. The road to mastery and understanding always begins with confusion and uncertainty. It's totally reasonable that a student learning complex theoretical material will have a hard time, initially, with the day-to-day grind of doing practical work in a job.

Many workplaces have unreasonable expectations usually framed around the vaguely militaristic notion that their people have to "hit the ground running". It's based on bull. The only way to progress towards mastery is to periodically do stuff that one is "unqualified" for, sometimes that involves failure, re-tries, wasted time, and being seen as incompetent.

So many folks who are now "ninja's", "rockstars", or "10x-ers" started out as clueless newbs who were willing to put themselves out there, make embarrassing mistakes, be called cargo-cult practitioners, and who nonetheless continued with grit. Along the way, some helped and mentored them and others dismissed them.

That's the essence of the issue yes. Learning on the job is considered bad, but learning on the job is how most people learn. So really, we just fake it till we make it[0], and then we start doing what top comment mentions, actually knowing what we're doing.

This is then exaggerated by sayings such as "it takes half a year to get to full speed" in an attempt to either try and lowball learners, or as a defense mechanism as to why society should just cater to the whims of companies so they don't have to carry the risks. Despite the fact most people will be profitable very shortly after they get hired in a job remotely fitting them, if the company has any proper documentation on procedures.

[0]: And this is bad for the more anxious / modest / shy people. "Fake it till you make it" should be good advice, but it doesn't overcome massively inflated "must have but not actually must have" lists discouraging them on the spot, or the hundreds of mismatched job interviews and time wasted. I still don't know who benefits from the status quo aside from middlemen getting jobs that shouldn't realistically exist.

I think the GP’s point is that, despite not having a formal education in CS/CE their self taught skills are pretty good and the formal education doesn’t appear to be teaching computer engineering in any case. So while this intern will probably have a better understanding of how to traverse a tree or w/e, they’re still starting in the same place the the GP did when it comes to actual CE.
Because people don't understand what a CS degree is and what it isn't, and that's assuming most CS degrees are fairly similar (they aren't).

A CS degree isn't a 3-5 year road to understanding the protocols and nuances of webdev. Personally, I was able to choose courses in webdev and took zero of them. I came out of it with zero knowledge of how routing works in practice, even if I could guess it in theory.

What a CS degree is (or at least should be), is a set of courses teaching fundamentals, how to think in logic, solutions and pseudocode, and being able to map this decently well to some language. Which means there's a high guarantee they will pick up the skills necessary on the job.

And yes, I know some people get through degrees without being at least okay programmers. I do consider that a failure of the system.

You're right, it's probably unreasonable to expect them to be able to grasp the day to day grind immediately, it's just that 2 months later he still wasn't able to work independently and we had to spend a lot more time with him than we expected. We assumed he had enough common sense to pick things up quicker.

But no doubt, he's probably smarter than I am and will go further in his IT career.

I was that kid not too long ago. All the classes I took started from first principles, most of my assignments began with an empty file. I had very little experience working with existing code or navigating w an IDE. It was humiliating taking hours to make a one-character change, or getting lost looking for a server endpoint, especially when I expected I should already know what I was doing!
How long do you think it would take someone who has the learning capability to understand algorithms well, to read a bug report?

I find this sentiment very strange. I think you're right that jobs require a different kind of work than they may have previously encountered, I just don't think it's very difficult.

To put it another way, some developers are not smart enough to understand inductive proofs of algorithms not matter how much time they spend, the reverse is not true. Perhaps the individual you know likes to use a lot of academic vocabulary which gives such an appearence.