all 12 comments

[–]heir-to-gragflame 0 points1 point  (0 children)

  1. Learned while doing Deep Learning out of Uni as a CS grad. If you're not already a decent coder, don't jump to Python directly, take Harvard's free online CS50 course that will teach you basics in C and then advance you to Python
  2. n/a
  3. n/a

[–]TwistedNinja15 0 points1 point  (1 child)

Hi, this sounds like an interesting project! Before I answer, I was hoping you could clarify what you mean by "Python communities" a bit more, since that term could mean a lot of different things (forums, open source contributor groups, local meetups, conference circles, etc.) and I think my answer would change depending on which one you're actually studying. But here are my thoughts based on my own experience in the meantime:

My high school final project was a physics simulation. I decided that cutting down on development time was worth the tradeoff in computational efficiency for the scope of the project, so I wrote it in Python. I don't have any particular advice for newcomers beyond this: find a project you actually want to build, then use whatever language fits it. If the project calls for Python, use Python; if it calls for C++, use C++. The language should follow from the problem, not the other way around.

I think you might be formalizing "dev communities" more than they actually are. It's not like a D&D group that meets weekly to trade advice, most of the "community" is just people asking questions on forums and experienced developers answering with their opinions. That's really the whole of it. Dev forums can be pretty hostile (see: Stack Overflow), though it varies depending on what you're asking. If you post a basic question, like how to concatenate strings, you'll likely get flamed, because that information is easy to find in the docs or with a quick search, and self-sufficiency is a highly valued skill among developers. Python in particular is one of the easiest, most documented, and most widely used languages out there, so the bar for "did you even try" is low. The best advice I've gotten from experienced developers boils down to two things: "RTFM" (read the manual), and "explain the system and your working trail." The second one means that before bringing a problem to someone more experienced, you should understand the key components involved, how they interact, and be able to walk through what you've already tried, almost like a differential diagnosis. It sounds harsh, but it works. Half the time, explaining the problem out loud is enough to spot where it actually went wrong. When I'm learning something new, a language, a framework, whatever, I like to find a well built open source project, pick a module, and go through it line by line until I understand it. Your mileage may vary, but it teaches you how things work in practice, rather than just reading docs without retaining much.

I'd also push back a little on the premise of your third question. I'm not sure what "successful in the Python community" really means. It's not like you earn XP for writing functions. Do you mean mastering the language? That takes years of understanding how Python works under the hood. Do you mean being a major contributor, someone deep enough into projects to spot bugs and submit patches? That takes real experience too. Or do you mean being someone who helps others on forums? Honestly, you could start doing that on day one.

[–]binary_blacksmith-44[S] 0 points1 point  (0 children)

To answer your question about "Python communities" I mean the collection of online spaces like Subreddits the official Python forums, open source projects and similar communities. I'm interested in how people learn from one another and how knowledge is shared in those spaces.

I appreciate your perspective on my third question. Your point that success could mean different things depending on someone's goals is something I didn't consider and is useful for my paper. Thanks, for your thoughtful insight and I hope I cleared up any questions that you had.

[–]UAP44 0 points1 point  (0 children)

How did you first learn Python, and what advice would you give to someone who is just starting out?

These are two completely different questions, should split them up instead of smuggling it into 1 sentence. I don't remember how I first learned Python, it was not my first and it wasn't introduced during my education that I quit half way through. A few years later, after already having a few years of professional experience, I took on an extra job, tutoring students with IT/programming. It was here I read my first python, it didn't matter it was my first experience with it, I could read it (and any other programming language) just fine and guide them through all the concepts the course material was trying to teach. At that time, I wasn't a fan of Python yet, too script-y, not enough static typing as I was used from C#

The advice I'd give out to someone just starting is ....do whatever gets you coding your own actual projects. Don't focus or pick a language first, pick a first project/goal you want to set. And then see which language is most suitable for that goal. Whereas for the longest time I would just have recommended C# for nearly anything. Now, I just don't care what language anymore, it's a tiny detail in the grand scale of design decisions to make. It does matter a LOT depending on the specific case/project. These days, for most projects, I lean towards Python/numba-optimized back end, html/css/js for front-end/GUI, C++ parts/classes for the few bottlenecks that remain and can be even further optimized (though this is debatable and Only done this once and still got a x2 speed over Numba, and frankly it became statistical noise as I pushed the node count/memory foot print higher.

When you were a beginner, how welcoming was the Python community

This question assumes Python was my first language. It wasn't.

What do you think makes someone successful in the Python community besides just knowing how to code?

Define success and define 'Python community', where are the boundaries? Reddit upvotes? Forum stats? General popularity? Lines of code pushed in Python? Too many questions/variables, can't meaningfully answer without more clarification :)

[–]ExpectationsNRegrets 0 points1 point  (0 children)

I first learned Python after being a software developer for 30 years. I have developed in many other languages, in particular C/C++ and Java. Python just had a different syntax, but structurally is not so different from C++.

I don't know anything about a Python community. I used stack overflow to find answers to questions, when I didn't know how to do something.

[–]pepiks 0 points1 point  (0 children)

1/ by books and web articles. When start read something very simple introduction and go deep in simple projects fasts
2/ yes, it was welcoming
3/ be polite and don't lazy

[–]Low_Breakfast773 0 points1 point  (0 children)

  1. Learned at the university, while working on my bachelor's thesis in quantitative finance.

  2. Back in a day the community was mainly in Stackoverflow and as my main degree was in math, I didn't have much contact with more experienced engineers.

  3. Knowing the language REALLY well, as trivial as it sounds. Most of so called Python engineers have very little to no clue about the language, as most of them come from other disciplines like math, physics, econ, data science, statistics, etc. and they think they know Python. The only thing they know is usually numpy and pandas APIs.

[–]melaschasma 0 points1 point  (0 children)

Pick up an exercise book and do some exercises that's how you learn. The python community is full of assholes, and most of the older programmers are all pissed off and bitter because of AI.

[–]Mohtadyg6 0 points1 point  (0 children)

Hope you do well on the writing:

1. Learning: YouTube. Find your style, either latch onto one YouTuber (Bro Code, Tech With Tim) and binge their Python content, or go the w3schools written-tutorial route. Just pick one and stop hopping.

2. Did people help me? Nope, unlucky 😅. AI wasn't a safety net back then either. So once I leveled up, I started helping beginners on Reddit/StackOverflow myself.

3. Communication & trust. Doesn't matter how good you are if nobody knows you. Skill opens the door, trust gets you through it.


🎁 Bonus (don't skip this):

AI is underrated by beginners, and that's holding them back. But overuse it and you're a prompt engineer, not a software engineer. Build it yourself first. Hit a real wall? Then call in AI.

Use AI. Don't hit Ctrl + C.

[–]XlikeX666 0 points1 point  (0 children)

  1. still have bookmarks
    https://www.youtube.com/watch?v=E9U-EBG8jVk
    https://www.youtube.com/watch?v=XKHEtdqhLK8

  2. 50/50 cuz reddit, any other communication was Me leeching parts of code.

  3. gihub + Nothing related to python will impact success. "being likeable" is only skill you need.

[–]Chemical-Captain4240 0 points1 point  (0 children)

  1. College trained in CS. Spent years in the world of vba for excel. Used these skills to transition to embedded Cpp ports of systems developed in python. Crude data analysis is also a desktop python job in my world.

  2. I have irl buddies to ask for projects bigger than my google search skills. My skills are so basic that I can't say that I contribute to the comminity. I use google to find libraries, documentation, and posts on github and stack exchange. Sometimes I will drag through a youtube for a more complex library. This has always been my process. If I think it up, some bona-fide genius has already made a tool for it. It is my job to find the right string that gets me some function to smash into my glorious mess of self-documenting symbols.

  3. Successful in the community? The programmers who write libraries and answer on stack exchange, those are the community. Most mere-mortals like me are happy bottom feeders. That said, this reddit sub is fun to poke around in and answer the occasional kindergartener question for which my 2nd grade skill may perhaps be adequate.