Experienced vs Inexperienced Python Developers — What's the Difference?

Real Python · Beginner ·🛠️ AI Tools & Apps ·8y ago

Key Takeaways

Experienced Python developers use techniques such as intuition, heuristics, and project management skills to solve problems, whereas inexperienced developers may struggle with debugging and problem-solving strategies. The video highlights the importance of skills such as debugging, Google searching, and seeking help from others.

Full Transcript

cool Python question that I got from a debater orga reader so what techniques do experienced Python developers use versus inexperienced ones really interesting questions so that's why I wanted to tackle it in this YouTube video so some of my thoughts here I think there are some differences in how an experienced developer approaches writing code versus an inexperienced one and a lot of it has to do with I think with an intuition about how to tackle the problem once you've been programming for a while you know once you've attacked like once you've worked on many programming problems and you've written and shipped real-world application you kind of get this intuitive sense of how you might want to tackle a specific problem so you you surf develop these heuristics that will help you to be more productive than an inexperienced developer and some of it has to do with just being more skilled at you know maybe pacing yourself and having better project management management skills so you know you know you know how to solve the ultimate goal at hand and you kind of know how to work towards that and how to lay the foundation for example what I've seen is that it's very easy for beginners to paint themselves into a corner you know maybe you solve the immediate problem at hand but you do it in a way that means you can't solve the next two or three problems that an experienced developer might see already coming down the pike you you kind of have a harder time solving those and that's what compounds and slows you down over time you know I know super abstract example but it's kind of hard to point to really concrete things so it's more a more an intuition and an experience thing but I also want to point out some concrete things that that you can actually you know work on instead of just saying like oh you just got to write more code so another thing is that experienced developers are usually better at debugging so they have experience using the the tools they need for for debugging their programs or you know maybe they're just more experienced at again having an intuition how to debug a program but in general I in my experience many inexperienced developers and new developers they overlook the power off debugging and building up building it up as a skill you know because you almost want to approach it like like scientific research right you want to have sort of a theory at hand and and look for it for evidence whether or not what you're what are you trying the problem you're trying to solve is actually like the real underlying issue and I found that a lot of beginners are struggling with that kind of mindset and if you know if something unexpected happens then it's it's very easy for them to get stuck and kind of not know where where to go and where to look for for help and how to debug their program I think another thing is that an experienced developer just has strategies that that they can use to solve most problems that they encounter you know they either they know who to reach out to who ask personally for help they know how to Google for stuff which is probably the most important skill honestly you know they know how to turn the problem that they're facing how to turn it into keywords and what to type into a search engine in order to get an answer for the problem that they're working on and again that's you know that's a super useful skill these days because that is how most programming work is done right you're not just sitting in a vacuum there and you're writing everything from scratch like no you know professional developers Google for stuff all the time I search for stuff they look up stuff on Stack Overflow maybe they ask their friends maybe they're part of some community where they can ask questions and you can of course if you're working with a company you can just always tap someone on your shoulder and be like hey you know I know you have a lot of experience like working with this kind of problem can just sit with me and we'll try and tackle this so it's it's also matter about knowing how to help themselves I think let's see I can't really think about anything anything else here but all of these things are things that that come with experience and they usually not thinks you can just teach yourself by reading a book you know they're more like meta skills if you will so the best way to learn is to work with an experienced developer and to kind of have that color off on you alright if you have another Python question then leave a comment below and I'll try and tackle it in one of my next videos if you liked this video then well please click the like button and subscribe to my channel

Original Description

https://dbader.org/python-tricks ► Learn how to write "developer style" Python, step-by-step "What techniques do experienced Python developers use to solve problems, compared with inexperienced devs?" Super interesting question that I got from a dbader.org reader. There are clearly differences in how an experienced Python developer approaches writing code and solving problems compared to how an inexperienced developer does it. In this video I'll discuss these differences between Python beginners and Python experts and how you can cross that chasm. Tweet your Python and software dev career questions at me (@dbader_org) or leave a comment on this video and I'll try to cover your question in one of the next videos. FREE COURSE – "5 Thoughts on Mastering Python" https://dbader.org/python-mastery SUBSCRIBE TO THIS CHANNEL: https://dbader.org/youtube * * * ► Python Developer MUGS, T-SHIRTS & MORE: https://nerdlettering.com ► PythonistaCafe – A peer-to-peer learning community for Python developers: https://www.pythonistacafe.com FREE Python Coding Tutorials & News: » Python Tutorials: https://dbader.org » Python News on Twitter: https://twitter.com/@dbader_org » Weekly Tips for Pythonistas: https://dbader.org/newsletter » Subscribe to this channel: https://dbader.org/youtube
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from Real Python · Real Python · 0 of 60

← Previous Next →
1 A better Python REPL – bpython vs python interpreter
A better Python REPL – bpython vs python interpreter
Real Python
2 Introducing large-type.com – A Utility Website
Introducing large-type.com – A Utility Website
Real Python
3 Reading Hacker News Without Wasting Tons of Time
Reading Hacker News Without Wasting Tons of Time
Real Python
4 Forward References and Python 3 Type Hints
Forward References and Python 3 Type Hints
Real Python
5 Using Sublime Text as your Git Editor
Using Sublime Text as your Git Editor
Real Python
6 Python Code Linting and Auto-Complete for Sublime Text
Python Code Linting and Auto-Complete for Sublime Text
Real Python
7 Make your Python Code More Readable with Custom Exceptions
Make your Python Code More Readable with Custom Exceptions
Real Python
8 Write Better Tests with Sublime Text's Split Layout Feature
Write Better Tests with Sublime Text's Split Layout Feature
Real Python
9 How to Use Sublime Text from the Command Line
How to Use Sublime Text from the Command Line
Real Python
10 Rename Variables with Multiple Selection in Sublime Text
Rename Variables with Multiple Selection in Sublime Text
Real Python
11 Sublime Text Settings for Writing PEP 8 Python
Sublime Text Settings for Writing PEP 8 Python
Real Python
12 Write Cleaner Python with Sublime Text's Indent Guides
Write Cleaner Python with Sublime Text's Indent Guides
Real Python
13 Sublime Text Whitespace Settings for Python Development
Sublime Text Whitespace Settings for Python Development
Real Python
14 Function Argument Unpacking in Python
Function Argument Unpacking in Python
Real Python
15 Python Code Review: Debugging and Refactoring "Conway's Game of Life" +  Automated Tests
Python Code Review: Debugging and Refactoring "Conway's Game of Life" + Automated Tests
Real Python
16 Using "get()" to Return a Default Value from a Python Dict
Using "get()" to Return a Default Value from a Python Dict
Real Python
17 A Python Shorthand for Swapping Two Variables
A Python Shorthand for Swapping Two Variables
Real Python
18 Python Code Review: Refactoring a Web Scraper, PEP 8 Style Guide Compliance, requirements.txt
Python Code Review: Refactoring a Web Scraper, PEP 8 Style Guide Compliance, requirements.txt
Real Python
19 Click & Jump to Test Failures from the Command Line (iTerm2)
Click & Jump to Test Failures from the Command Line (iTerm2)
Real Python
20 Setting up Sublime Text for Python Developers
Setting up Sublime Text for Python Developers
Real Python
21 Sublime Text + Python Guide Overview
Sublime Text + Python Guide Overview
Real Python
22 Python Code Review: Adding Pytest Tests to an Existing Python Web Scraper
Python Code Review: Adding Pytest Tests to an Existing Python Web Scraper
Real Python
23 Type-Checking Python Programs With Type Hints and mypy
Type-Checking Python Programs With Type Hints and mypy
Real Python
24 A Shorthand for Merging Dictionaries in Python 3.5+
A Shorthand for Merging Dictionaries in Python 3.5+
Real Python
25 Python Code Review Flask Web Security Tutorial + Virtualenvs, requirements.txt
Python Code Review Flask Web Security Tutorial + Virtualenvs, requirements.txt
Real Python
26 My Python Code Looks Ugly and Confusing – Help!
My Python Code Looks Ugly and Confusing – Help!
Real Python
27 Setting Up a Programmer Portfolio/Developer Blog – How To Get Started
Setting Up a Programmer Portfolio/Developer Blog – How To Get Started
Real Python
28 Do I Need a GitHub/GitLab/Bitbucket Profile as a Developer?
Do I Need a GitHub/GitLab/Bitbucket Profile as a Developer?
Real Python
29 Programmer Portfolio – Example and Walkthrough
Programmer Portfolio – Example and Walkthrough
Real Python
30 How to Get Your 1st Speaking Gig at a Tech Conference
How to Get Your 1st Speaking Gig at a Tech Conference
Real Python
31 How to Build Your Public Speaking Skills as a Developer
How to Build Your Public Speaking Skills as a Developer
Real Python
32 The Object-oriented Version of "Spaghetti Code" is "Lasagna Code" ?!
The Object-oriented Version of "Spaghetti Code" is "Lasagna Code" ?!
Real Python
33 Setting up Sublime Text for Python Developers – Lesson #1
Setting up Sublime Text for Python Developers – Lesson #1
Real Python
34 Cool New Features in Python 3.6
Cool New Features in Python 3.6
Real Python
35 "is" vs "==" in Python – What's the Difference? (And When to Use Each)
"is" vs "==" in Python – What's the Difference? (And When to Use Each)
Real Python
36 Emulating switch/case Statements in Python with Dictionaries
Emulating switch/case Statements in Python with Dictionaries
Real Python
37 Python Function Argument Unpacking Tutorial (* and ** Operators)
Python Function Argument Unpacking Tutorial (* and ** Operators)
Real Python
38 What Code Should I Put On My GitHub/GitLab/BitBucket Profile?
What Code Should I Put On My GitHub/GitLab/BitBucket Profile?
Real Python
39 A Crazy Python Dictionary Expression ?!
A Crazy Python Dictionary Expression ?!
Real Python
40 String Conversion in Python: When to Use __repr__ vs __str__
String Conversion in Python: When to Use __repr__ vs __str__
Real Python
41 Method Types in Python OOP: @classmethod, @staticmethod, and Instance Methods
Method Types in Python OOP: @classmethod, @staticmethod, and Instance Methods
Real Python
42 Optional Arguments in Python With *args and **kwargs
Optional Arguments in Python With *args and **kwargs
Real Python
43 Python Context Managers and the "with" Statement (__enter__ & __exit__)
Python Context Managers and the "with" Statement (__enter__ & __exit__)
Real Python
44 Installing Python Packages with pip and virtualenv / venv
Installing Python Packages with pip and virtualenv / venv
Real Python
45 "For Each" Loops in Python with enumerate() and range()
"For Each" Loops in Python with enumerate() and range()
Real Python
46 Python Code Review: LibreOffice Automation and the Python Standard Library
Python Code Review: LibreOffice Automation and the Python Standard Library
Real Python
47 Managing Python Dependencies With Pip and Virtual Environments – Lesson #1
Managing Python Dependencies With Pip and Virtual Environments – Lesson #1
Real Python
48 Python Tutorial: List Comprehensions Step-By-Step
Python Tutorial: List Comprehensions Step-By-Step
Real Python
49 Leveraging Python's Implicit "return None" Statements
Leveraging Python's Implicit "return None" Statements
Real Python
50 What's the meaning of underscores (_ & __) in Python variable names?
What's the meaning of underscores (_ & __) in Python variable names?
Real Python
51 Python Data Structures: Sets, Frozensets, and Multisets (Bags)
Python Data Structures: Sets, Frozensets, and Multisets (Bags)
Real Python
52 Writing automated tests for Python command-line apps and scripts
Writing automated tests for Python command-line apps and scripts
Real Python
53 How to find great Python packages on PyPI, the Python Package Repository
How to find great Python packages on PyPI, the Python Package Repository
Real Python
54 Immutable vs Mutable Objects in Python
Immutable vs Mutable Objects in Python
Real Python
55 PyPI vs Warehouse, the Next-Generation Python Package Repository
PyPI vs Warehouse, the Next-Generation Python Package Repository
Real Python
56 pep8.org — The Prettiest Way to View the PEP 8 Python Style Guide
pep8.org — The Prettiest Way to View the PEP 8 Python Style Guide
Real Python
57 My Experience at PyCon 2017 in Portland
My Experience at PyCon 2017 in Portland
Real Python
58 Pylint Tutorial – How to Write Clean Python
Pylint Tutorial – How to Write Clean Python
Real Python
59 "Reverse a List in Python" Tutorial: Three Methods & How-to Demos
"Reverse a List in Python" Tutorial: Three Methods & How-to Demos
Real Python
60 Python Refactoring: "while True" Infinite Loops & The "input" Function
Python Refactoring: "while True" Infinite Loops & The "input" Function
Real Python

This video discusses the differences in problem-solving techniques between experienced and inexperienced Python developers, highlighting the importance of skills such as debugging, project management, and seeking help from others. Viewers can learn how to improve their own problem-solving skills and become more efficient developers. The video also emphasizes the value of experience and working with others to develop these skills.

Key Takeaways
  1. Develop intuition and heuristics for problem-solving
  2. Improve debugging skills
  3. Learn to use Google and other online resources for problem-solving
  4. Practice project management and pacing oneself
  5. Seek help from others when needed
💡 Experience and working with others are key to developing the skills and strategies needed to become an efficient and effective Python developer.

Related AI Lessons

Up next
How to Open HPL Files (HP-GL Plotter)
File Extension Geeks
Watch →