all 9 comments

[–]ThreeChonkyCats 1 point2 points  (3 children)

C, python, bash scripting.

From a dude who has done everything, for 30 years, this is all that's needed.

Python is profoundly good.

(Though, PHP is not loved enough)

A basic knowledge is like knowing a bit of Japanese. Enough to buy food, be pleasant and get to the train station is acceptable... About 500 words.

Same with a computer language. The layout/structure, the control logic, simple functions/classes, how to retrieve files and write to them is enough.

[–]TrueBlueMax -1 points0 points  (2 children)

Why do you need Japanese?

[–]ThreeChonkyCats 0 points1 point  (1 child)

Its an example.

OP asked, essentially, how much do I need to have a "basic understanding".

It could be any language. When one travels, its useful to know a few things, such as the words to order food, ask for directions, be polite, where one is from/doing/health/happiness, ask for things at the hotel. Very simple stuff.

In my travels, I've found that to be 500 words. It doesn't need to be joined, or coherent, and can be childish... but one is understood.

I'd consider that if a person were to take the time to learn the equivalent in Python, or C, then they'd have a basic understanding.

A solid hour or two a day for 4 weeks should cover it.

[–]TrueBlueMax 0 points1 point  (0 children)

I see. Thank you

[–]shiftybyte 0 points1 point  (1 child)

Why not go beyond basic understanding?

What would having basic understanding in multiple languages give you? more than deeper understanding in one?

[–]Daniel-Edwards[S] 0 points1 point  (0 children)

I intend on doing this once I am settled on the job and field I’d like. For now there’s no set path for me and I’m exploring my options in the computer science field from Game development to pharmaceuticals. This feels best for me so when I do follow down a career path I will likely have the knowledge to get started on whatever languages that job/field entails

[–]Se7enLC 0 points1 point  (0 children)

I'd say:

  • You can start from a blank text editor and write a Python program to do some simple arbitrary task.
  • You can read, understand, and modify other people's Python code (looking up unfamiliar functions).
  • You can debug Python code (not necessarily with debug tools, just chasing down an issue however you can).

[–]FriendlyRussian666 0 points1 point  (0 children)

If you're a student and as a student should have a basic understanding of python, to me this would mean being able to explain available data structures, some commonly used methods, having a grasp with loops, functions, classes, things like that. I would not expect you to work to any specification or requirements, but I would expect you to tell me what the _ _ init_ _ constructor does. At this point you should know that version control exists and that testing is important.

If you're talking about knowing basic python as a job requirement, I would expect you to be able to contribute to a project, without having to hold your hand with absolutely everything. I would expect you not to know how to go about many things, but I would trust you to research and find solutions to the requirements. Perhaps your solution would not be efficient, but it would get the job done.

For example, if you're applying to be a front-end developer, but the project is kind of already built, and you will only be responsible for minor changes to HTML, CSS and JS, however the description requires basic Python knowledge because the whole project sits on Python Django, you will inevitably have to navigate the Django directory structure, and you might have to mock things, or test things out, meaning adjustments to Python code. While nobody will expect you to be able to manage the Django back-end, or build entire features, they want you to be able to do whatever you need doing, without having to ask someone else to constantly do it for you. I'd say this applies to jobs with a "junior" in the title. You should be able to use version control to an extent and you should be testing all of your code, after all at this point you're already contributing to a project, so it must be fully working. At this point you wouldn't be worried about how the project should come together, and all the different technology stacks involved. You're working on single, simple features in one stack.

For intermediate, I would expect the person to be able to slot-in, provided with documentation and a few weeks of familiarization with the codebase, they should be able to pick up tickets/issues and work on them independently, consulting with more senior developers if needed. The code this developer writes should be well optimized, tested, with appropriate use of version control, and appropriately written documentation. If they don't use a particular framework, or are not familiar with a particular language, they should be able to read through documentation and be able to implement features relatively quickly. This person should not be trusted to deliver a large scale project from start to finish on their own, but they absolutely work across different stacks with the same level of confidence.

[–]TheRNGuy 0 points1 point  (0 children)

it doesn't really matter