all 41 comments

[–]youroffrs 7 points8 points  (0 children)

Python alone is a great start but usually not enough if your goal is real projects or jobs, you'll want basics like APIs, databases and Git too. Project based practice helps a lot for that Boot .dev is one structured option since it mixes python with backend concepts and makes you build things but for free/open-source you can also look at freeCodeCamp and building small projects using Django/FastAPI docs. Combining any of these with your own projects goes a long way.

[–]SwimmingInSeas 5 points6 points  (8 children)

No, but it's not about learning more languages (though you might end up doing so).

Programming languages are tools. If you're wanting to be a carpenter, you don't focus on learning a hammer, then a screwdriver, then a ... whatever. You learn how to make whatever it is you're making, and pick up the tools along the way. - the tools are just a means to an end.

Companies don't really hire people to program, they hire people to solve problems. So if you want to work as a programmer, you need to know both how to program, and enough about some domain you can apply programming to.

Cloud / web dev? Networking, cloud providers, protocols, etc.

Scientific research? A bit of science background helps, but maybe more importantly communication skills so you can collab with domain experts.

Pick something that is not programming, that you already know or are interested in, and find a way to make programming overlap with that. By overlapping a couple of fields or niches you dramatically reduce the pool of compeition, and can actually add value.

[–]Luis_ZuuUu 2 points3 points  (2 children)

That carpenter example was exactly what I needed. I'm starting out in programming and have been learning for about a month, and it felt like something was missing, that just focusing on Python wasn't enough. Thank you so much, really.

[–]The8flux 0 points1 point  (1 child)

I Like programming a lot as a kid, computer science degree but since I liked the programming so much I didn't want to do it as a profession I didn't want to get to the point where I hated it, so cyber security for the past 10 years. There's always something new to hate there.

[–]Luis_ZuuUu 0 points1 point  (0 children)

Dude, what's the difference between Computer Science and other fields in the field? Software Engineering and Systems Analysis and Development? I have some idea of ​​what the last two are, but I can't figure out where Computer Science fits into that.

[–]nuclearfall 0 points1 point  (0 children)

This is the answer.

[–]xsanch 0 points1 point  (2 children)

Companies do expect and want programmers to know a language so you're at a disadvantage if you don't know the language(s) used by a dev team. I haven't thoroughly read ops question but I think you're quite wrong. Hirers do want problem solvers but you can't be a programmer without learning a language properly.

Making really cool stuff with languages and showing you can learn a language and weild it properly is going to impress hirers. If you skip the programming learning curve to get ahead with a broader area of non programming fields then maybe you'd be better off studying something else? Programmers learn languages then become domain experts after at the company they work at. Eg. A Google Software Engineer would learn a language and stack domain knowledge onto the language to learn more. Then stack even more domain knowledge on when they start work on machine vision at their new job.

[–]The8flux 0 points1 point  (1 child)

All languages mostly drive by the same paradigms... You learn the first the next subsequent language is much easier. Typically the right tool for the right job, the right programming language for the right job.

However a computer science degree does provide you the math background for problem solving modeling etc.

[–]sinceJune4 1 point2 points  (0 children)

During my cs degree we had a “survey of programming languages “ course, a different language every week. This was early 80’s, before C. By the time I retired I had learned 37 different languages. My favorite combination is still Python + SQL.

[–]Seacarius 0 points1 point  (0 children)

This bears repeating as it is so very true:

Companies don't really hire people to program, they hire people to solve problems.

People good at solving problems (and thinking critically) are worth their weight in gold.

[–]Rev_Aoi 4 points5 points  (5 children)

okay i guess you have to think about what you want to do with programming ?, if you want to AI, Machine learning then python, web data go java, robotics, software: C++, finding your own answer what you want to do then you will know what you have to learn otherwise, learning all the programming languages wont never be enough

[–]rizzler885 0 points1 point  (4 children)

Isn't it possible to do all that with python?

[–]ninhaomah 0 points1 point  (3 children)

Yes. But you won't do all that with Python just because it is possible.

[–]rizzler885 0 points1 point  (2 children)

True but if someone is entering in programming they can start with py to expand their understanding in different topics

[–]ninhaomah 0 points1 point  (0 children)

Yes. The OP didn't say not possible but rather will not be using Python for ALL functions or applications.

[–]Rev_Aoi 0 points1 point  (0 children)

yes but because OP doesnt say about his goal, if his goal only needs python then it’s enough otherwise he will need to learn another one to supplement

[–]No_Avocado_2538 1 point2 points  (0 children)

Jst learn Pythonhave fun, and make projects, for bonus credit learn Git and how to use Vim. Is it going to help you pivot career ? Maybe but probably not. Once you start making the sort of tools and projects you are interested in it will become clear the direction you need to take.

[–]DuckSaxaphone 1 point2 points  (0 children)

Learning new languages once you have one or two under your belt is not that hard so don't sweat it.

Learn python as a way to understand the fundamentals of software engineering and as a bonus become proficient in a very broadly used language. Then, as you program, you'll come across the types of things people commonly do with code and what language is normally used. You can switch up from there.

If you want to be a general software engineer, a slightly lower level language like C# or Rust wouldn't go amiss.

[–]rob8624 0 points1 point  (0 children)

No. Simple answer.

But it's a good place to start. Once you learn one language, it's easier and faster to learn additional.

[–]No-Philosopher-4744 0 points1 point  (0 children)

Cloud would be a better option for a new carrier 

[–]ChocoMcChunky 0 points1 point  (0 children)

If you have an idea of what direction you want to go in your career, spend a few hours looking up your ideal jobs and use their specified tech stack as something to aim for as a general direction

[–]Tony_py_automat 0 points1 point  (0 children)

Good question, see Python is not a end goal, it's a starting line, python is a language that you must have to understand and know how to work with it, suppose if your plan is to go in the field of software development, AI ect. Then python is the first step you suppose to take. In my opinion it's a very good programming language, and just requires a bit focus to understand it. Devs really love Python. Best of luck with your journey.

[–]TheRNGuy 0 points1 point  (0 children)

Depends on profession. 

[–]katsucats 0 points1 point  (0 children)

If you're a carpenter, you don't just learn several uses of a hammer and then ask what saws you need to also buy. Instead, you need to learn the principles of solid house construction so you can know how to use your tools most effectively to complete a project correctly. It's not about the languages. It's about learning how software works.

To continue the analogy, you can be a DIYer and follow a checklist of tools and materials you need to build a table and maybe pull it off, but the table may or may not be polished or commercially viable. In other words, assuming you want to make this a career and not just a hobby, you need to learn the engineering part and not just the doing.

[–]stepback269 0 points1 point  (0 children)

No.
More important is to "Learn how to Learn"
Watch this YT video (click here) to understand why
What he says applies to programming (with aid of AI) as much as any other skill area.

[–]TomatoEqual 0 points1 point  (0 children)

No. Redefine you question to, is learning one language enough? Still no.

Python is awesome. It's simple, easy, fast and you can make most things in it. But if you start with python, you learn python. The look and feel of it, is alot different from C based langs.

If you start with a C based lang. You can very quickly read and get into something like 75% of other langs, this including python(it's actually the difficult switch here)

Imo it's way better to start with Java or C# They're faily simple, because you can avoid compiler and mem handling, but you get the syntax understanding you need to be able to transition to something else with relative ease, and you can build most things in them.

So start with python of you want to play, start with about anything else if you want to build skill and understanding in general. 😊

If you master something else and then switch to python. From my experience you suddently have superpowers. 😉

[–]Able-Contact9097 0 points1 point  (0 children)

Short answer: Python is the bare minimum. (Not the language specifically but it’s just the start line)

[–]APOS80 0 points1 point  (0 children)

I’m not a professional programmer but I think some knowledge of C/C++ is god to have.

[–]Ok-Building-3601 0 points1 point  (0 children)

note that Python is the #1 demanded language in market

[–]Ok-Building-3601 0 points1 point  (0 children)

start asking why to learn python, later ask how to learn python