Yesterday I had received a great job opportunity.

In requirements section I had seen the words:

  • solid knowledge of python;
  • solid knowledge of java;
  • good technical background;

Could you give me an answer, what does it mean? How to test my current knowledge? What type of measure will be actually accepted by employer?

  • I don't think a good job will mention such stupid requirements like "good" xyz
    – nischayn22
    Commented Jun 27, 2012 at 6:13
  • 14
    It is clear that they are looking for someone who can work by himself and will not ask 100 questions everyday. That is it. I am surprised you don't get this!
    – NoChance
    Commented Jun 27, 2012 at 6:19
  • 1
    Start with Googling the buzz words that are strange to you and look at related Wikipedia pages
    – Yusubov
    Commented Jun 27, 2012 at 10:24

4 Answers 4


If you have to ask ...

If you have to ask this, you probably don't qualify for any of those requirements.

Rephrase the Context

Replace solid knowledge of Java with solid knowledge of Jazz Guitar.

You would assume someone with solid knowledge of Jazz Guitar could perform any Jazz song that were asked to with confidence. They should also be able to demonstrate theoretical understanding of the foundations of Jazz by improvising on the spot. They should be able to hold their own with any other musician in a band with solid knowledge of Jazz Bass or Drums.

Apply this to a programming language such as Python, could you create a solution to any general problem in idiomatic Python? Could you demonstrate advanced understanding of the aspects of the language that are specific to Python? Can you hold your own in a team consisting of other solid knowledge of Python developers?

Subjective Standard

It becomes very clear that what is considered solid knowledge is subjective to the person asking.

That said, given those requirements you should be able to answer pretty much any general knowledge question about the things in question along with a good number of advanced knowledge questions that would come from extensive experience with the things listed.

Stackoverflow Reputation

I would say a 5 digit reputation, at mininum on stackoverflow.com in any specific language tag from answers and not questions would demonstrate solid knowledge of that topic.

  • how i can to determine my competence in each field? i know about brainbench.com Do you know any other resources? Commented Jun 27, 2012 at 6:45
  • 11
    "If you have to ask..." ... Or, (s)he's over qualified. The more you know, the more you know what you don't know... Commented Jun 27, 2012 at 7:12
  • 1
    @Jarrod Roberson, +1 for the comparison, though I think the person you describe as "someone with solid knowledge of Jazz Guitar" is rather a genious!
    – superM
    Commented Jun 27, 2012 at 7:27
  • And when you change fields, like university to business, you never know what they consider "solid" there. In research "solid" is more focused on theory, whereas in business it's a lot closer to the traditions of the craft. The frog in the pond usually doesn't know the big ocean.
    – Raku
    Commented Jun 28, 2012 at 11:09

If I were the employer I would talk to you on the phone about it to see if you had a clue. If you passed that test I would bring you in to the office. There we would talk in depth at a white board for a while and I would ask you to explain how to do several tasks.

Finally I would sit you down at a computer and ask you to write code.

In that process I don't expect someone to know every detail, but I would expect them to have a general clue


Your confusion is understandable. It can be hard to figure out what they mean if you're a fresh graduate who has been programming mainly on campus.

Life in the industry is a lot different because university professors usually program for research and proof-of-concept. They don't have to bother about things like continuous delivery, a solid build, unit testing, requirements, network infrastructure or the latest tools of the trade because either they're developing new tools or they're under way less constraints.

What the job requirements mean is that they're looking for someone who - at a minimum - doesn't have to ask about the syntax of his programming language of choice anymore, who knows how to look up documentation to fix problems on his own, who doesn't bother his seniors with small problems that could be solved by a Google search.

  • 1
    it means that small problems don't need to be Google searched to begin with ...
    – user7519
    Commented Jun 27, 2012 at 7:24
  • Small problem or not depends on experience and ability to research yourself. Experience comes by practicing your craft, ability to research comes from your mindset. If you don't have the first, you can still solve them without being a nuisance as long as you have the second.
    – Raku
    Commented Jun 27, 2012 at 10:00

Of course all these answers have been giving the benefit of the doubt to the person who posted the job requirements. In a perfect world, the words "solid knowledge of..." would be easily quantifiable, and result in would-be employers and employees swiftly understanding each other's requirements.

In practice, these things are likely to mean different things to different people. Sure, if you know little to nothing about Python or Java you definitely shouldn't be applying for this job. But if you have some knowledge, there's not much point in fretting about whether that knowledge is "solid" enough. Really like the look of the job? Get in touch with the employer, and find out if your level of expertise is close enough to the level they were thinking about when they posted the opportunity.

There's no sense wasting time agonising about what a very vague description of requirements might mean. Acquire clarification.

Not the answer you're looking for? Browse other questions tagged or ask your own question.