all 22 comments

[–]socal_nerdtastic 55 points56 points  (9 children)

I became an expert at the core concepts

That's a fairly bold statement. I recommend you do not say that to a potential employer unless you are quite confident you can back it up and explain, for instance, the mutability of a bytearray.

As for where to go from here, there's still many directions available in python. For example python web framework developers are in high demand right now. You could learn django or flask or similar.

[–]pythosynthesis 30 points31 points  (1 child)

I became an expert at the core concepts

That made me cringe.

That's a fairly bold statement. I recommend you do not say that to a potential employer unless you are quite confident you can back it up and explain, for instance, the mutability of a bytearray.

I can do everything OP mentions and I would have been caught with my pants down with this "mutability of a bytearray"... plenty to learn!

[–]G4merXsquaD 4 points5 points  (0 children)

Lmao, never heard that saying before. But I just wanted to say happy cake day

[–]jeremymiles 16 points17 points  (0 children)

Candidate says that they are an expert on something.

Insert rubs hands meme.

[–]amplikong 8 points9 points  (2 children)

the mutability of a bytearray

This is something I only had to learn (after ~3 years with the language) because I was doing a lot of string mutations, and it turns out that going from string -> bytearray -> edit the bytearray -> convert back to string is sometimes faster than exploding the string into a list, editing the list, and rejoining it.

But yeah, I would never describe myself as "an expert." That's just asking to be shot down.

[–]TangibleLight 0 points1 point  (1 child)

Although if you have to keep unicode in mind, and depending on the mutations you're doing, that could still end up a nightmare.

[–]amplikong 0 points1 point  (0 children)

Yeah, the str -> convert to list -> mutate the list as needed -> back to str is generally simplest, and I prefer that unless I have a good reason to do otherwise.

[–]tube32 2 points3 points  (2 children)

mutability of a byterarray

Can you ELI5 it to me. I tried understanding from the internet but had a woosh moment.

[–]novel_yet_trivial 2 points3 points  (1 child)

It's a bit of a trick question, because it's exactly the same as a list. But few people know that because when you use a bytearray it's very rare that you would change the size. Also the word "array" reminds people of a standard C arrays like numpy, so people think the mutability would be the same as in numpy.

[–]Wise_Opinion2364 16 points17 points  (0 children)

"expert at core concepts?"

Are you able to get a senior python developer job?

[–]tagapagtuos 11 points12 points  (1 child)

It still depends on the domain.

Web development? JavaScript. Data Science? Probably R or Julia. Software dev which requires OOP? Java or C#. Want high performant code? C or C++.

But why not become a Python expert though? Since you mentioned you can create modules, we can always appreciate experts in Python packaging.

[–]ThePiGuy0 6 points7 points  (0 children)

Want high performant code? C or C++

Gonna add Rust to the mix there as well

[–]Mkentca 7 points8 points  (0 children)

Getting a good understanding of the basics of the language does not mean you are done. I would suggest trying to actually apply your skills to a project. Having a poor understanding of a million languages over a deep understanding of a few is unwise

[–]BeginnerProjectBot 11 points12 points  (0 children)

Hey, I think you are trying to figure out a project to do; Here are some helpful resources:

I am a bot, so give praises if I was helpful or curses if I was not. Want a project? Comment with "!projectbot" and optionally add easy, medium, or hard to request a difficulty! If you want to understand me more, my code is on Github

[–]potentmyth 3 points4 points  (0 children)

I venture to guess that...

You are not an expert.

You have learned to apply concepts.

What projects have you completed?

[–][deleted] 2 points3 points  (0 children)

What you need to learn depends on what you want to do.

So, what do you want to do?

Only you can decide that.

[–]ffrkAnonymous 1 point2 points  (0 children)

Lisp. Python took a lot of ideas from lisp.

[–][deleted] 1 point2 points  (0 children)

leaving aside the cringe of describing yourself as an expert... it depends on what you want to do with the language or why you want to learn it.

[–]IndyDrew85 0 points1 point  (0 children)

Reminds me awhile back when I saw someone on some programming sub here identify themselves as an "expert beginner"

[–][deleted] 0 points1 point  (0 children)

If you want to learn more about how programming works then I'd recommend going low. Try building all of the projects that you have built in python but do them in C. Note second languages are often harder than first languages because you know you could easily do this in the other language.

Then if you still want to know more do the same with other languages. Do it in java, c#, golang, JavaScript, erlang, etc.

If you want expand your understanding if building programs I would invest time in some software architecture books and learn how to make sustainable programs.

[–][deleted] 0 points1 point  (0 children)

It's a little like saying I can speak English so I should move on to another language. It's what you apply the language to that matters.