7 TERRIBLE Mistakes You Are Making As A Programmer (And How To Fix Them)

  Рет қаралды 16,706

Cody Engel

Cody Engel

Күн бұрын

Join Our Discord 👉 / discord
Subscribe To My Newsletter 👉 www.engel.dev/
If you are watching this video then you are probably worried about being perceived as an inexperienced programmer. In this video I'll give my top 7 reasons why you are an inexperienced programmer as well as tell you how to become more experienced.
The first reason you are an inexperienced programmer is you write overly clever code that is difficult to understand. The second reason is you don't know how to ask for help, oftentimes this leads to your work taking longer to complete. The third reason you are inexperienced is you prioritize completing your stories quickly, this leads to code that isn't easy to maintain. The next reason you could be a newbie programmer is if you aren't prioritizing automating everything that could be, manually doing the same thing is not only a waste of time it's also error prone. The fifth (and worst) reason to be an inexperienced programmer is by being full of arrogance, this is a surefire way to stay inexperienced and perhaps get fired while doing so. The next thing that makes you inexperienced is overcommitting to work because you don't understand how long something might take. The seventh reason you're inexperienced is because you don't document your work.
🚶‍♂️ FOLLOW ME 🚶‍♂️
TikTok - / codyengeltalks
Instagram - / codyengelgrams
Twitter - / codyengeltweets
Medium - / codyengel
💡Get 20% Off Of Brilliant - brilliant.sjv.io/RyKBBX
🎥 My KZbin Gear - kit.co/CodyEngel/my-youtube-gear
🖥 My Desk Gear - kit.co/CodyEngel/my-desk-gear
🎵 My Background Audio - www.epidemicsound.com/referra...
*The above links are affiliate links.
⏰ TIMESTAMPS ⏰
0:00 - Intro
0:18 - You Write Overly Clever Code
1:02 - You Don't Know How To Ask For Help
2:15 - You Prioritize Completing Tasks Fast
3:21 - You Don't Automate Your Tasks
4:43 - You Are Full Of Arrogance
6:03 - You Over Commit To Work
6:24 - You Under Document Their Work
#programmer #softwareengineer #softwaredeveloper

Пікірлер: 88
@CodyEngelCodes
@CodyEngelCodes 3 жыл бұрын
What are some other things inexperienced programmers do? What can they do to become more experienced?
@seanelias6478
@seanelias6478 2 жыл бұрын
Learn from mistakes, listen/learn from experienced developers and always try to write code using best practices.
@Keilnoth
@Keilnoth 2 жыл бұрын
I'd add that inexperienced programmers don't understand the business or the "why" behind a feature they are requested to code. Maybe it's not so relevant when you work for big tech companies, but in smaller companies, if you can't understand your customer's needs, you'll hit a wall pretty quickly. Engineers are not just coders. First and foremost, they solve problems.
@CodyEngelCodes
@CodyEngelCodes 2 жыл бұрын
Agreed, really good insight ☺️
@forwardplans8168
@forwardplans8168 2 жыл бұрын
Developing a living "Requirements" document can be a great guide. Frequently customers don't know exactly what they want or need
@cvxcfv
@cvxcfv 2 жыл бұрын
Been watching every SE YTber, you're content is by far the most organic, non click baitey and straight to the point. Keep making content, you have a great je ne sais quois
@CodyEngelCodes
@CodyEngelCodes 2 жыл бұрын
Thanks Rixir really appreciate that ☺️
@MichaelMerritt
@MichaelMerritt Жыл бұрын
Trying to grok an entire new large code base by reading through repos and files one by one. VS instead experienced programmers will read commits, PRs and issues first to understand most commonly touched files and how it all works together. Many files you’ll never touch or need to touch in a large code base.
@aminesouley8252
@aminesouley8252 2 жыл бұрын
Lol when an actual real staff SWE talk everything just make sense because you can tell he actually manages junior or other Engineers Thanks man thanks a lot 🙏🏽
@CodyEngelCodes
@CodyEngelCodes 2 жыл бұрын
Happy to hear this was helpful.
@abhisheksaxena518
@abhisheksaxena518 3 жыл бұрын
One mistake that I noticed was inexperienced programmers tend to get the issue resolved and get the task done rather than actually understanding how the issue was resolved and how it can be prevented in the future. I remember, one of my colleagues called me thrice in the same week for resolving git issues. Although it was a 2 minute job but it reflected bad on attitude and unwillingness to learn.
@CodyEngelCodes
@CodyEngelCodes 3 жыл бұрын
This is a really good example, it's one thing to fix the issue it's an entirely different thing to understand how the issue happened and take measures to prevent it from happening again.
@abhisheksaxena518
@abhisheksaxena518 3 жыл бұрын
@@CodyEngelCodes exactly!
@hebanazim6732
@hebanazim6732 2 жыл бұрын
I needed this. Thanks!
@CodyEngelCodes
@CodyEngelCodes 2 жыл бұрын
You're so welcome!
@Chasbott
@Chasbott 3 жыл бұрын
This video is so helpful. Thank you!
@CodyEngelCodes
@CodyEngelCodes 3 жыл бұрын
Great to hear Chas! I was a little nervous releasing this one since I'm making fairly large blanket statements so I really appreciate the feedback!!
@shashiranjanprakash8716
@shashiranjanprakash8716 3 жыл бұрын
One mistake I think of is knowing all these mistakes and sometime still do them subconsciously.
@CodyEngelCodes
@CodyEngelCodes 3 жыл бұрын
That's all part of the process. I still do the things I say not to do in this video. One example is with commit messages, I'm usually very detailed but sometimes it's the end of the day and I just want to check my code in so I leave a generic commit message and continue on with my evening 😅
@nnagzie
@nnagzie 2 жыл бұрын
I have learned a lot in this. I had to unlearn a lot of stuff over the past couple of years as a SWE. Thanks for the content.
@CodyEngelCodes
@CodyEngelCodes 2 жыл бұрын
Glad to help!
@XinLi
@XinLi 2 жыл бұрын
I couldn't agree more with the first point you made. One of the most important things about a software engineer, perhaps the most important thing, is complexity management. In a year's time, my maintainable, but slightly slow code will be faster when deployed on better hardware. But you're super optimized, difficult to understand code will be just as inscrutable.
@CodyEngelCodes
@CodyEngelCodes 2 жыл бұрын
Absolutely. It's not to say you should write poorly optimized code, but the first goal is to make sure it's easy to maintain and change overtime. After that, optimize to your hearts content.
@arjayarjay8856
@arjayarjay8856 2 жыл бұрын
Awesome, and it is precisely explained.
@GuRuGeorge03
@GuRuGeorge03 2 жыл бұрын
Good tips. I want to add to the "overly clever code" thing, that almost all good devs that I know have a great understanding of Clean Code and the SOLID principles. These concepts can be learned within a few weeks and even in the very beginning they will make ur code much easier to read, easier to maintain and easier to extend. For me personally especially the SOLID principles were a huge game changer because they are the reason that I started understanding design patterns and their importance
@CodyEngelCodes
@CodyEngelCodes 2 жыл бұрын
Good point!
@davidlu6265
@davidlu6265 2 жыл бұрын
where can you learn this?
@ericj5821
@ericj5821 2 жыл бұрын
A very helpful video. I really wish to have someone like you as my mentor when i started my career 😅. Going through that time without any mentor or senior to guide was extremely hard and painful 😔.
@CodyEngelCodes
@CodyEngelCodes 2 жыл бұрын
Happy to hear this was helpful, and agreed, getting started without a mentor can be extremely difficult. The benefit though is you are able to make more connections on your own and learn from a ton of extra mistakes.
@eastsideozzy
@eastsideozzy 2 жыл бұрын
This channel is so underratted, I'm so GLAD the algorithm recommended it to me, been watching all your videos as an aspiring SWE.
@CodyEngelCodes
@CodyEngelCodes 2 жыл бұрын
Welcome aboard!
@nalinitippa5942
@nalinitippa5942 2 жыл бұрын
Great content . Thanks a ton and much respect for your efforts here. Could you please share how you evaluate new software libraries, (POC)? how to evaluate Android libraries to see how they fit the needs of an Android application. What kind of metrics do you generate and how ? If you could walk through with an example( like evaluating Room library or Hilt ).Specifically, How do you evaluate a software library for scalability. What tools or tests help? Thanks again.
@prakashp99999
@prakashp99999 3 жыл бұрын
I wish I had a mentor like you when I started my career. Good content and equally good presentation. 👏🏻
@CodyEngelCodes
@CodyEngelCodes 3 жыл бұрын
Thanks Prakash that means a lot :)
@NOCDIB
@NOCDIB 2 жыл бұрын
They don't properly identify when a procedural approach is more appropriate than an object-oriented approach or vice-versa.
@vijayshankar22
@vijayshankar22 2 жыл бұрын
You are completely correct 💯
@CodyEngelCodes
@CodyEngelCodes 2 жыл бұрын
☺️
@zyaargaming1355
@zyaargaming1355 3 жыл бұрын
Fantastic❤️
@CodyEngelCodes
@CodyEngelCodes 3 жыл бұрын
Thanks 🤗
@tigerrx7
@tigerrx7 2 жыл бұрын
FAAAAAAACCCCCTS!!! Senior SWE here and I see it ALL the time, especially the ego trip to not detach themselves from code
@CodyEngelCodes
@CodyEngelCodes 2 жыл бұрын
☺️☺️☺️☺️☺️
@RajatSingh-dg8ov
@RajatSingh-dg8ov 2 жыл бұрын
dude, I am blessed by the YT algo that I found you man ❤️❤️❤️
@CodyEngelCodes
@CodyEngelCodes 2 жыл бұрын
Thanks Rajat, happy to hear the algorithm is finally doing something useful 😅
@ryanweinhart9588
@ryanweinhart9588 2 жыл бұрын
I always look forward to how you deliver the “smash the like button” message!
@CodyEngelCodes
@CodyEngelCodes 2 жыл бұрын
😭 you are the first to say that, I'll go back to putting some effort into that part of the videos.
@koderkev42
@koderkev42 Жыл бұрын
I didn't read all the comments so someone may have mentioned already but .... overuse/over-reliance on "Design Patterns". They have a place and not every application/codebase needs them, even if they COULD be used.
@CodyEngelCodes
@CodyEngelCodes Жыл бұрын
Yep absolutely, you want to pick ones that make sense given the situation as opposed to using them for the sake of using them. I do think any meaningfully big application (something worked on by more than 1 person for example) would benefit from using design patterns that are relevant to the situation.
@therocketmanprince682
@therocketmanprince682 2 жыл бұрын
Nice video
@CodyEngelCodes
@CodyEngelCodes 2 жыл бұрын
Thank you ☺️
@forwardplans8168
@forwardplans8168 2 жыл бұрын
Could you comment on Verification and Validation of Voting software for elections? I think a 3rd party should perform V&V tests and sign off on the locked down software.
@derekwilliams7144
@derekwilliams7144 2 жыл бұрын
This video is a great kernel of knowledge
@CodyEngelCodes
@CodyEngelCodes 2 жыл бұрын
Thanks Derek, appreciate it :)
@diegom4363
@diegom4363 2 жыл бұрын
Would you consider those behaviors okay for a junior programmer working on their first job?
@CodyEngelCodes
@CodyEngelCodes 2 жыл бұрын
Yes all of these behaviors are fine, they are just ones to be aware of.
@shtman504
@shtman504 2 жыл бұрын
Hey, man i get an intership from you?, Do you run any company or something?
@CodyEngelCodes
@CodyEngelCodes 2 жыл бұрын
I don't have any internships available at the moment, sorry.
@DevOpsDirective
@DevOpsDirective 3 жыл бұрын
Automate all the things! 🤩 ...well not all the things but a lot of the things!
@CodyEngelCodes
@CodyEngelCodes 3 жыл бұрын
🤣 yes, automate mostly all of the things except for writing the actual code, we gotta wait for Copilot to suck a little less until we can automate that too.
@muhammadsarimmehdi
@muhammadsarimmehdi 2 жыл бұрын
Also I didn't understand point number 6 (Over-committing to work)
@CodyEngelCodes
@CodyEngelCodes 2 жыл бұрын
Don't take on more work than you can handle.
@navjotsingh2457
@navjotsingh2457 Жыл бұрын
Ty
@CodyEngelCodes
@CodyEngelCodes Жыл бұрын
You're welcome.
@maxwell10206
@maxwell10206 2 жыл бұрын
(8) You're an inexperienced programmer when you spend too much time documenting, testing, automating, and modularizing in the beginning of a project when the requirements are still changing often.
@CodyEngelCodes
@CodyEngelCodes 2 жыл бұрын
True.
@dontbanmebrodontbanme5403
@dontbanmebrodontbanme5403 2 жыл бұрын
Question: what monitor is that?
@CodyEngelCodes
@CodyEngelCodes 2 жыл бұрын
It's a 38" Dell Ultrawide, there should be a link in the description on all of the videos but just in case, here's an Amazon (affiliate) link: amzn.to/2yjZPqR The downside is that it's only 60hz, so while I do game on this, it's not the best for that. However it can deliver over USB C so it essentially serves as a hub for my work laptops.
@dontbanmebrodontbanme5403
@dontbanmebrodontbanme5403 2 жыл бұрын
@@CodyEngelCodes Thanks. I’ve been looking for a decent large monitor that doesn’t cost $5k. I’ll check this one out.
@alpacino3989
@alpacino3989 2 жыл бұрын
Very very important video...
@CodyEngelCodes
@CodyEngelCodes 2 жыл бұрын
Glad you think so!
@pikusarker1359
@pikusarker1359 3 жыл бұрын
Sir how much you will earn this year as a software engineer? Nice video.
@CodyEngelCodes
@CodyEngelCodes 3 жыл бұрын
Thirteen and a half gazillion.
@stanleychukwu7424
@stanleychukwu7424 3 жыл бұрын
@@CodyEngelCodes 😂😂😂😂🤣🤣🤣 good one cody!!!!
@muhammadsarimmehdi
@muhammadsarimmehdi 2 жыл бұрын
Can you give us an example of overly clever code?
@CodyEngelCodes
@CodyEngelCodes 2 жыл бұрын
One example would be if you need to make a basic network request to grab some ephemeral data. In order to do that you decided to build an event bus that your view listens to for a result. Your view also triggers the network request but the result is received outside of the view and then returned back to the view on the event bus. Does it work? Sure. Could it have been made simpler? Definitely.
@TechwithLaughter
@TechwithLaughter 2 жыл бұрын
Check your Ego at the door, have a growth Mindset!
@CodyEngelCodes
@CodyEngelCodes 2 жыл бұрын
Heck yes.
@JohnCodes
@JohnCodes 3 жыл бұрын
> 1. You write overly clever code orrrrrr the plebs just don't understand me 😂😂😂 jk jk - great video Cody!
@CodyEngelCodes
@CodyEngelCodes 3 жыл бұрын
🤣🤣🤣🤣🤣 and thanks John!
@ARBITORLAZER
@ARBITORLAZER 3 жыл бұрын
"It's not my fault people are dumb and can't understand my genius"
@dontbanmebrodontbanme5403
@dontbanmebrodontbanme5403 2 жыл бұрын
#7 comes back to bite you in the ass. There’s nothing worse than figuring something out, but not documenting it and it comes back five months later and you’re forced to re-learn it!
@CodyEngelCodes
@CodyEngelCodes 2 жыл бұрын
Yep, although it's a good reason to just rewrite the entire class or function 😭
@seanelias6478
@seanelias6478 2 жыл бұрын
I have seen horrible code in Production like this one throw new Exception("kshgdsk " + e), other one var something = code the funny thing something is not used anywhere or a method always returns true. In my option these people should not be programmers in the first place, specially the person who wrote this throw new Exception("kshgdsk " + e).
@CodyEngelCodes
@CodyEngelCodes 2 жыл бұрын
That code makes my head hurt.
@cmdv42
@cmdv42 2 жыл бұрын
💯
@CodyEngelCodes
@CodyEngelCodes 2 жыл бұрын
🙌
@chernishon
@chernishon 2 жыл бұрын
Wip commit message
@davidrlifts
@davidrlifts 2 жыл бұрын
.
Agile Has Destroyed Programming - Here's How To Fix It
12:16
Cody Engel
Рет қаралды 40 М.
DO YOU HAVE FRIENDS LIKE THIS?
00:17
dednahype
Рет қаралды 80 МЛН
KINDNESS ALWAYS COME BACK
00:59
dednahype
Рет қаралды 119 МЛН
The Software Engineer Career Ladder Explained
13:06
Cody Engel
Рет қаралды 70 М.
Self Taught Programmers... Listen Up.
10:00
Kenny Gunderman
Рет қаралды 1,8 МЛН
The Dirty Truth About Clean Code
17:46
Cody Engel
Рет қаралды 41 М.
How To Write Unit Tests (The Right Way)
14:26
Cody Engel
Рет қаралды 37 М.
How To Win The Powerball With This Simple Python Script
13:37
Cody Engel
Рет қаралды 32 М.
This Is Why You Suck At Unit Testing
8:32
Cody Engel
Рет қаралды 5 М.
I Quit My Job As An Engineering Manager (What I Learned)
8:03
Cody Engel
Рет қаралды 41 М.
The ACTUAL Way to Code Productively & Professionally
7:15
ForrestKnight
Рет қаралды 62 М.
DO YOU HAVE FRIENDS LIKE THIS?
00:17
dednahype
Рет қаралды 80 МЛН