Hacker News new | ask | show | jobs
by wst_ 3508 days ago
What does it mean "to have knowledge"? How much information qualifies you to be a knowledgeable? Plenty of us have a knowledge. Until, for one of your project you have to use Spring Boot and Hadoop at the same time. You know them well, you work with them already. But then you put both libs into one project and something throws an exception somewhere deep down in the unknown code. This is unexpected and does not come from your code. Good luck with searching for solution by yourself. Not that it's impossible, and you would learn something, sure, but troubleshooting takes a lot of time, you'd have to keep your current tasks aside and probability is quite high that someone had that problem before you.

IMHO, what makes you a good software engineer is not an encyclopedic facts in your head but general knowledge about principles, algorithms, patterns, etc. You don't have to remember all methods of all classes of standard library, for details you can check the web or use IDE. But if someone asks you about thread safe objects you have to know what does it mean. What may go wrong if you fail to make it so? Why properties must be immutable? And what the hell immutability is in the first place? All other things you should be able find in the online documentation / language reference.

What makes you a good software engineer is the ability to ask a meaningful questions. We have a powerful tools at our hands these days. Why wouldn't we use them for our benefit? You don't have to remember everything. It is there, within a hand's reach. Sometimes I have a feeling that asking Google the right question to solve your problem should be another skill tested during interviews.

What makes you a good software engineer is the ability to switch the tools and adapt quickly to new environment. Give him Internet, give him StackOverflow and ask him to solve a problem in new language, new framework. If he got the concept well, if he knows principles, that should be more than enough to jump in. Don't get me wrong here. I not going to underestimate guys with years of experience. I am not saying he will write flawless code. But he will solve the problem - that's a good start, isn't it?

1 comments

I guess that I disagree with many people on HN (and they certainly like to express this with downvotes).

Fair enough.

Thank you for your verbose reply - I'll reflect on it.

Well, let's explain the downvotes from 1 POV. The "copy/paste" comment just willfully misinterprets how StackOverflow is used.

I think that we just don't believe you. Did you arrive at every job with perfect knowledge in the areas you'd be working on? Have you not had to learn anything on the job?

If that's the case, then you're vastly overqualified. I feel like I'm being utilized as an employee the best when my manager says: "Hey, there's something weird happening in area X" or "I want you to explore feature X" and I get to dive deep into something for a few days. Our strengths are our ability to learn.

I suspect you're right in many ways.

I mention it as a copy/paste mechanism as I am surrounded by people who use it for that very purpose.

I also did have the knowledge required for the job I applied for, and whilst I have learned a lot (off my own back) over the last 18+ years, very little of it is actually required, as demonstrated by those others who get given similar tasks that they can complete using Stack Overflow.

I'm definitely in the wrong place, and after a while I sense I lost a lot of perspective due to my peers / surroundings.

Personally, I never use downvotes for things I disagree with, but perhaps some people who are luckier to work in better scenarios believe that situations like mine don't exist - I don't wish anybody to walk in my shoes.

Thank you. I appreciate you taking the time to explain.

That sounds like a crappy job to be in, I'm sorry. I've worked around people who were... negative, and were really bad at explaining things to me, and also kind of hacky. It sucked and it drained my morale.

There are good places out there, _even_ if they're low-skilled environment. I think it's totally a cultural attitude, to be willing to take the time to learn, and to have a good attitude and effort about it. You can copy/paste from SO and still be using it as a learning tool.