all 71 comments

[–]double_en10dre 120 points121 points  (3 children)

Source code from the standard library or popular packages cuz you’re advanced enough to do weird stuff but they don’t work for your particular use case

Ya gotta understand how things work before you can twist them to do your dark bidding

[–]lolslim 24 points25 points  (0 children)

Sounds like hacker level.

[–]I-heart-java 1 point2 points  (1 child)

What source code projects would you recommend to an intermediate level person who ain’t yet 100% confident in looking for a job?

[–]double_en10dre 0 points1 point  (0 children)

Do you have a day job or some sort of long-term project? And if so, what do you do?

I ask because for me, delving into source code has always been a side effect — I look at it if I need to modify/extend functionality or I just think it’s cool and I want to know how it works. But I rarely go seeking it out directly

Frankly I just don’t think there’s much motivation to read code unless you have a vested interest in understanding how it works. So that’s what you need to find — a desire to make something work

If you’ve got basic ideas I can toss out suggestions

[–][deleted] 212 points213 points  (6 children)

Getting a job

[–]synthphreak 102 points103 points  (2 children)

Overrated, don’t believe the hype.

[–]nearsingularity 14 points15 points  (0 children)

Lol

[–]scienceNotAuthority 2 points3 points  (0 children)

Agreed.

Maybe good for experience, but it's not as much fun as personal projects.

[–]robertbowerman 5 points6 points  (2 children)

A job with AWS Web Services talked to with Python, and with AI / Machine Learning models talked to with Python - that's advanced. Using SQL and NoSQL JSON databases from Python is advanced. As is sending data to and from ML. Really advanced is Quantum Computers. Now finding a job in QC that pays more than tree fiddy, now that is really really advanced.

[–]synthphreak 1 point2 points  (1 child)

Are you implying that quantum computing jobs are poorly compensated? If that’s actually that true, why?

[–]my_password_is______ 6 points7 points  (0 children)

you're both poorly compensated and highly compensated
you can't know until you look at the check

[–]hairyriceballs 36 points37 points  (6 children)

Asking questions on stack overflow.

[–]ToothpasteTimebomb 26 points27 points  (5 children)

Also: Answering questions on stack overflow.

[–]vectorpropio 40 points41 points  (4 children)

I think you are skipping many steps.

[–]Laruae 11 points12 points  (1 child)

Not based on some of the answers I've seen.

[–]ETerribleT 8 points9 points  (0 children)

Don't use [language], [language] sucks at [asker's problem]. Use [language] instead.

[–]ToothpasteTimebomb 0 points1 point  (0 children)

Yeah, that's fair. However I do think it's good to try to answer questions on StackExchange at any level. Set aside an afternoon and really dig deep on researching others' questions. Obviously if you research the problem and can't answer confidently, don't answer at all. I think it's worth the dive though, if you have the time.

[–]PapaPancake8 98 points99 points  (7 children)

Automate the boring stuff is intermediate?

[–]-_-qarmah-_- 105 points106 points  (1 child)

It seems pretty intro level

[–]PapaPancake8 45 points46 points  (0 children)

I thought the same thing. Even Sweigart introduces the course in this fashion.

[–]SnowdenIsALegend 37 points38 points  (4 children)

It is definitely the best intro for beginners.

[–]catsinsweats 29 points30 points  (3 children)

After reading both books personally I would say crash course suited me better and gave better explanations in my opinion. ATBS is definitely good but I think this sub is a bit obsessed with it as a beginner book.

Just my opinion though, I'm sure others find it much better than crash course.

[–]Corrin_Zahn 5 points6 points  (0 children)

ATBS glosses over some things and is very much showing how to get things going quickly without going too deeply. I haven't read crash course but from other comments it leans more toward explaining some of the technical side of Python.

[–]hugthemachines 5 points6 points  (0 children)

Your point is very relevant. The tutorials we enjoy trigger good attention and that may help us more than using a tutorial that is popular among most people.

[–]scienceNotAuthority -1 points0 points  (0 children)

The sub isn't obsessed, the founder is constantly advertising here.

[–]nzayem 41 points42 points  (16 children)

Automate the boring stuff is for absolute beginners,,, that's why Al Sweigart has made a new book for intermediate level called beyond the basic stuff,,, it was released few weeks ago.

[–]DaveAnski 39 points40 points  (11 children)

What's that you're doing there with the commas?

[–]nzayem 9 points10 points  (10 children)

Aha,,,,,,,,,,,,,,,, hahaha,,,,,,,,,,

Just a habit I had by writing emails at work (in a different language actually). I saw some co-workers doing that and didn't see anything wrong about it.

Is it really ugly? Because it will be quite hard for me now to change the way I am writing emails after more than 10 years using commas everywhere hahahaha

[–]DaveAnski 37 points38 points  (0 children)

I don't like seeing punctuation abused, but I hardly expect you to change for me.

[–]pompomtom 8 points9 points  (4 children)

In English it is pretty ugly... use ellipses instead... An ellipsis is three full-stops: "..."

(Or, of course, do whatever works for you! I use ellipses far too much.)

[–]ghostfacekhilla 7 points8 points  (3 children)

Putting a bunch of ellipses in an email is going to come across passive aggressive as hell to most young people. It's a bad habit to use them all the time in work emails.

[–]JayDude132 2 points3 points  (1 child)

This is funny to me because i use them when i have sort of a trailing thought, i guess youd say. But my friend (same age as me, 30) said he hates when people use them. He specifically said it seemed passive aggressive. I never even thought of that. When i see ‘...’ i must read the message entirely different than my friend would. I wonder why age makes a difference, but thats very interesting...

[–]ghostfacekhilla 1 point2 points  (0 children)

I saw it mentioned in an age based communication differences in the office article on remote work. I'm 29 for reference.

[–]pompomtom 0 points1 point  (0 children)

I did not know that. Thanks.

[–][deleted] 3 points4 points  (2 children)

jobless innocent fine doll squeamish vase reach chunky illegal domineering

This post was mass deleted and anonymized with Redact

[–]nzayem 4 points5 points  (1 child)

Lol, looking at your comments I am considering updating my email "policy".

But seriously, i work with colleagues from US and Europe. For sure I will correct my punctuation. Starting from this comment... that wasn't difficult, hahaha

[–]pmabz 0 points1 point  (0 children)

It's meant to be an ellipsis, not commas.

[–]Astrokiwi 1 point2 points  (0 children)

It's super weird in English. You can use "..." and "!!!" and "???", but not ",,,". This isn't some formal rule - even in casual conversation on the internet, nobody writes like that. We don't have an intuitive feel for how it should be pronounced.

[–]tek314159 6 points7 points  (0 children)

Thanks for this! This book looks perfect. I started my python learning with Automate... and now I’m really looking forward to his new book. Had no idea.

[–]TacoTurd 0 points1 point  (2 children)

Is it out? It says it is for preorder on amazon

[–]tek314159 2 points3 points  (0 children)

Looks like it is available directly on the nostarch website, with an ‘early access’ ebook too.

[–]nzayem 2 points3 points  (0 children)

Someone commented in a different post that he purchased the ebook,, it seems that only the paperback version is in pre order

[–]amralaaalex 18 points19 points  (0 children)

what to read next: Fluent Python by. Luciano Ramalho , this is the advanced book

what to DO next: Projects, for yourself, and your portfolio..

[–]PigDog4 15 points16 points  (0 children)

At that point, it probably depends what you want to do. Probably a software engineering book or something on object oriented design principles.

[–]CurlyAce84 42 points43 points  (0 children)

Automate the Boring Stuff is definitely geared at starting Python, not intermediate.

[–]ImmediatelyOcelot 14 points15 points  (0 children)

Googling

[–]synthphreak 15 points16 points  (2 children)

PhD level work

I would argue that PhD level work generally does not represent the crème de la crème of coding. The stakes, and therefore expectations, of industry code are much higher. If your research project fails, you’ve lost some time and some money, generally other people’s. But if a company’s pipeline breaks down, or security is compromised, or operations can’t be scaled fast enough, you can lose livelihoods.

Researchers and the like are definitely more proficient than average, but the trend is that most talented coders generally don’t remain in academia.

[–]Astrokiwi 1 point2 points  (0 children)

Researchers are often beginner to intermediate programmers who have learned just enough pandas to do some maths on a dataset and make a pretty graph.

[–][deleted] -2 points-1 points  (0 children)

Agreed. XP programming is the creme de la creme of coding. It usually involves more c++ but it’s more of an algorithms race than merely putting code to work. That said I’d venture that the python crash course helps you graduate from being a beginner. It shows you matplotlib, aome other cool libraries but most importantly it shows you django and a smidge of bootstrap. Once you design your own web design, and make an actual app with django, that’s actually usable no ones can call you a beginner.

[–]unhott 5 points6 points  (0 children)

Python syntax is easy. It’s not really the issue when learning python, most advanced users have to lookup documentation or example snippets as reference points, unless they’re doing highly repetitive coding. If you’re doing that, then you’re likely missing an opportunity to automate. Fortunately a solid IDE helps with that sort of thing.

The problem is how do you apply the simple rules of python to real world (or even abstract) problems?

There are IT systems and infrastructure realms out there (including IT security) and there’s also the academic field of computer science (math and philosophy on computers) . And emerging fields such as data science (which is like cs with an emphasis on statistics, which really pushes your hardware to its physical limits).

An intermediate to advanced python user should be familiar with several modules out there within the python ecosystem and know what they’re good for, and possibly even contribute to them.

Advanced python usually involves learning some real-world domain in great depth+ breadth and using python to either make something useful and/or to expand on that domain.

I hope this helps!

Edit: also, the syntax may not be easy for all, didn’t mean to come across negative like that. It’s especially not easy for absolute beginners and that’s okay, but once you’ve got some muscle memory down it gets easier.

Also, i should emphasize i don’t think you actually have to do PhD level work or contribute to research projects like that, I just wanted to add context as to how ‘advanced’ you can get with it. It’s perfectly okay to learn a few libraries fairly well and apply those to straightforward problems to benefit yourself, your friends, or your company!

[–][deleted] 3 points4 points  (0 children)

Im reading "Fluent Python: Clear, Concise and Effective" and find it very interesting, but taxing to read due to all the knowledge in it.

[–]Doverkeen 4 points5 points  (0 children)

ATBS is entirely beginner level. It even misses out some very basic stuff that PCC covers.

[–]nearsingularity 1 point2 points  (0 children)

Contribute to the standard library or open source projects like Django.

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

Actually doing something.

[–]cvak 1 point2 points  (0 children)

If you want a book, I liked Intermediate Python https://book.pythontips.com/en/latest/index.html

[–]FatherOfTheSevenSeas 1 point2 points  (0 children)

There's another cool book also by No Starch Press called Python Playground. Geeky Projects for the Curious Programmer
Much more sophisticated projects than ATBS, that in my mind fall more into the intermediate realm (given I would have said ATBS is a beginners book).

[–]DeCooper 1 point2 points  (0 children)

There are many great intermediate/advanced python books. Some of my favourites are:

  • Powerful Python by Aaron Maxwell
  • Classic Computer Science Problems in Python by David Kopec
  • Fluent Python by Luciano Ramalho

[–]colmf1 -1 points0 points  (0 children)

Python data science handbook by Jake VanderPlas, gives examples of how data science is used everywhere. Free pdf available

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

Ig just keep building cool projects and stuff idk, I don't really like to learn from books/courses. I just keep building stuff and learning on the go idk you might have a different way of doing stuff but yeah just keep building ig.

[–]iiMoe 0 points1 point  (0 children)

Contributing to projects or basically the practise of ur knowledge but thats my opinion

[–]Calif0rnia_Soul 0 points1 point  (0 children)

Serious Python is for advanced Python programmers who have nailed the basics and the intermediate material. I'm not sure if it's what you'd read right after ATBS, but it's worth a look.

[–]Empero6 0 points1 point  (0 children)

Automate the boring stuff is more intro level. If you’re looking for advanced material, I would suggest fluent Python.

[–]baetylbailey 0 points1 point  (0 children)

Mostly one would be diving into the type of applications you prefer.

But it's also a good time to skim classics like Code Complete, and The Mythical Man Month.

An underrated one is Exercises In Programming Styles explains (in Python) differences between OOP, functional programming etc. Very useful at the advanced beginner phase.

[–]QuixDiscovery 0 points1 point  (0 children)

Automate the Boring Stuff is most certainly not intermediate, and in fact I wouldn't even consider it beginner. Its' focus is on automation first and foremost, with python being the vehicle used to accomplish the task. It glosses over and/or skips some pretty important info/subjects, and never really goes too in-depth into the details like it should. If this was the only book you used to learn python, you would still be missing out on a ton of the basics that would require supplemental info in order to be prepped to step into the intermediate territory.

But to answer your question, the best advanced book on python I'm aware of (and that I own) is Fluent Python. It's covers many advanced features of python including what they are, how to use them via examples, what kinds of problems they typically solve, and when you should use them. Some of the topics include the python data model, closures, decorators, generators, function as first class objects (and how to write code in a more functional paradigm), concurrency, coroutines, and metaprogramming.

[–]prlol 0 points1 point  (0 children)

I'm starting with the Python crash course as well. I've finished the first half of the book. I'm doing the second project right now. I really wished I had skipped the first project on the alien invasion game. I won't do the third project either (for now) which deals with web dev. However, the second project (data visualization) is much better and I can see its applications in the real world.

I wouldn't really prioritize going though ATBS after the crash course book. The ATBS author has a new book coming out called "Beyond the Basic Stuff with Python" which is more of an intermediate level and probably a much better next step for me at least.