Which Programming Techniques Should Every Developer Know?

Which programming techniques are important to know? Are there some things that every developer should know? Is dependency injection important to know? Should every C# developer know how to work with SQL? These are the questions we will answer in today's episode of Dev Questions.
Website: www.iamtimcorey.com/
Ask Your Question: suggestions.iamtimcorey.com/
Sign Up to Get More Great Developer Content in Your Inbox: signup.iamtimcorey.com/

Пікірлер: 102

  • @gneto.r
    @gneto.r Жыл бұрын

    General ======= 1. Know the Language (not just the UI) 2. Debugging 3. Logging 4. Data Security 5. "Security Theater" (things that doesn't really work) 6. Data Access 7. Database Design C# Related ========= 1. The Language itself 2. Breakpoints 3. Know one good logger 4. Built in dependency injection 5. app settings.json 6. Nuget 7. Iconfigurations, Ilogger, Idisposable 8. Data Access 9. SQL design 10. Multiple User Interfaces

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    Thanks for sharing.

  • @harag9
    @harag9 Жыл бұрын

    Good point about learning more than one tool that does the same thing - e.g. logging - log4net, nlog etc. You might move from one company to another and the 2nd company uses logging just not the same one you used at the previous company. Great answers for the up and coming devs out there!

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    I agree. Thanks for sharing.

  • Жыл бұрын

    Logging is not as easy as it seems with framework now available. Best logging does not impact production env if it is turned off or levele is > Error, it does not impact website with milion of users requests in prod until you need analyze problem. Logging is quite hard to do right. Log only usefull infos, properly structured, level structured. Usefull logs are hard no matter what framework do you use. They must be usefull more then large :-D

  • @PhilGeissler
    @PhilGeissler Жыл бұрын

    Great stuff! Thanks Tim!

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    You are welcome.

  • @KnowlegeStream
    @KnowlegeStream Жыл бұрын

    Thanks Tim for your valuable suggestions.

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    You are welcome.

  • @shararehbanei3871
    @shararehbanei387110 ай бұрын

    each time a new video will be released , I feel the upgrade of my view BW ,thank you Tim 🙂

  • @IAmTimCorey

    @IAmTimCorey

    10 ай бұрын

    You are welcome.

  • @kpg7882
    @kpg7882 Жыл бұрын

    I'm feeling this is not relating to techniques but some general subjects you should know. Programming techniques for me are: XP programming, pair programming, SOLID, KISS, DRY etc.

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    That's the tricky bit of trying to call them techniques (the word used in the question, which is why I used it). The items you mentioned are more principles (theory). I talked more about practical implementation. For example, dependency injection is a way to implement the D in SOLID (they aren't the same, but I explain that in my SOLID videos).

  • @pastorrandy

    @pastorrandy

    Жыл бұрын

    @@IAmTimCorey Or you could call the theories, principles.

  • @hello-again6994

    @hello-again6994

    Жыл бұрын

    @@pastorrandy 🤤 did he not do that in his comment? The words are right next to each other: "principles (theory)"

  • @codefoxtrot
    @codefoxtrot Жыл бұрын

    These topics makes an excellent rubric for questions to ask a candidate during a technical interview :)

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    They would.

  • @gianlucacrosatti4226
    @gianlucacrosatti4226 Жыл бұрын

    Always great advices!

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    Thanks!

  • @tahababi8924
    @tahababi8924 Жыл бұрын

    Do you recommend focusing on clean code aspects and techniques? Or focusing on optimization for time and space consuming ? Can you please conclude your answer based on the chance of getting a job opportunity within a great company

  • @adityarane2880
    @adityarane2880 Жыл бұрын

    Loved it bro👍🏼

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    Thanks!

  • @chrismolby3495
    @chrismolby3495 Жыл бұрын

    Really good stuff as always just wish I could understand it

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    I have a lot of training on these topics on this channel.

  • @emmanuelsackey286
    @emmanuelsackey286 Жыл бұрын

    Hello Tiim Corey, Logging is something I have been struggling to implement in my applications. Is a there a standard way to do it or better way to implement it. Please a little bit of strategies to implement logging in applications will be appreciated. Thank you.

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/

  • @hasanmougharbel8030
    @hasanmougharbel8030 Жыл бұрын

    Hey there, Kudos to your great efforts in this channel. I am a new sql learner with simple enquiry. I learned that an sql instance is equivalent to an sql server installation on a machine. Why i may need to install several instances on the same machine? Thanks for taking time of my enquiry.

  • @anandsutrave5607

    @anandsutrave5607

    Жыл бұрын

    may be you want to test out different versions of sql server to try out new features, for that you don't want another machine just for trying out things

  • @simon-white

    @simon-white

    Жыл бұрын

    You might want to use different server instances as different environments e.g. dev, test, production

  • @maximeumbra7235
    @maximeumbra7235 Жыл бұрын

    Save game serialization threats are apparently one of the most common threat vectors how source code gets stolen, some malicious actor makes a fake bug report and submits a save with a malicious payload.

  • @TotallyNotAuroras2ndChannel
    @TotallyNotAuroras2ndChannel Жыл бұрын

    You forgot about front end stuff like html js css... because I am a mid to backend but great on knowing your database (ooops, data structures too) which I do and interface with most of the time

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    This isn’t a comprehensive list of everything you should know, it was limited to techniques I think every developer should know.

  • @farmhelper6983
    @farmhelper6983 Жыл бұрын

    Worked, thx

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    You are welcome.

  • @ajirahman5289
    @ajirahman5289 Жыл бұрын

    Could you say about micro ORM and its importance? Can explain Entity framework vs Dapper in core. When should I use Dapper?

  • @CripplingDuality

    @CripplingDuality

    Жыл бұрын

    He has already

  • @yogij17

    @yogij17

    Жыл бұрын

    @@CripplingDuality Other than Dapper which micro orm is there?

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    Here is a video on Dapper: kzread.info/dash/bejne/d6hmzcqAntWvocY.html Here is a video on EF: kzread.info/dash/bejne/o59-m82ectC3h9I.html

  • @dalmirogranas9990
    @dalmirogranas9990 Жыл бұрын

    Is there a video you recommend that cover all these debugging techniques? Tried to find one on your channel but had no luck :) Thanks as always for the amazing content 👏

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    Here is an older video: kzread.info/dash/bejne/kY2jraywg93Af8o.html It is probably time for a refresh but this covers the most common things you can do.

  • @dalmirogranas9990

    @dalmirogranas9990

    Жыл бұрын

    You are the best, Tim 🙏🏽

  • @sujitbhandarkar886
    @sujitbhandarkar886 Жыл бұрын

    I just want to thank you tim , bcuz of that dapper micro orm video i've implemented in project within our organization, so thank you once again

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    You are welcome.

  • @terry.chootiyaa
    @terry.chootiyaa Жыл бұрын

    *Tim in programming why isn't there a "SoWhat" condition like for,if, &&.....* 😁👍

  • @Explorest
    @Explorest Жыл бұрын

    Kindly have an episdoe answering this specific question: How do I structure my C# source code repository ?? Please don't answer "it depends" --- just give your general throughts/guidlines/pitfalls etc. For example : what folders should I generally have in my project root directory --- /src , /tests, /docs, ?? ... how do I then structure subfolders of those folders and so on. What files (other than .cs, .sln, or .csproj files) must/should go in project root --- and where if not project root.

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/

  • @coderider3022

    @coderider3022

    Жыл бұрын

    Answer is it should grow and evolve with the app if you can refactor it. There is no right answer and it does depend on things. As long as you enforce a 1 thing / type per file you can move things around. Having interfaces allows you to move files across projects. I recommend Steve ardalis clean architecture as a starting point, try to identify features in your all than can potentially be made into libs and brought in via nice service collection extensions.

  • @selahattinkaradogan2744
    @selahattinkaradogan2744 Жыл бұрын

    I need a video related to microservices tim if you know the subject please release a video about microservice

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    It is on the list. I've already covered a few topics, including Azure Functions, Web API, Minimal APIs, MongoDB, and more. I'm still working on more content, but the term "microservices" is like saying "building a house". There is a LOT of small parts that add up to the whole.

  • @yogij17
    @yogij17 Жыл бұрын

    Great video Tim! But can you tell us how much should we charge the companies after learning all this 😂😂😂

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    Whatever they will pay you, then push for more.

  • @oysteinsoreide4323

    @oysteinsoreide4323

    Жыл бұрын

    We are obligated to teach ourselves new things as professionals. We got to keep our salary I guess if you actually do what you are supposed to. And if you deliver better quality as a result of it, then maybe we get a raise. But they want results. Knowledge doesn't automatically gives better results.

  • @Cymon343
    @Cymon343 Жыл бұрын

    versioning!

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    Yep.

  • @terry.chootiyaa
    @terry.chootiyaa Жыл бұрын

    *Tim did you mean any SQL server or MICROSOFT MS-SQL server ?*

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    Microsoft SQL.

  • @phizc
    @phizc Жыл бұрын

    Refactoring.

  • @cemkaya4448
    @cemkaya4448 Жыл бұрын

    Hi Tim! Thanks for covering another great topic. I have a different question. I need an laptop. I consider to buy a new m1 mac for using .Net development as an self taught learner. However, I realize that you and other .Net KZreadrs use Windows. That makes me think if it is a good idea to buy Mac silicon instead of Windows laptop. What do you think?

  • @portismouth

    @portismouth

    Жыл бұрын

    Not Tim... but hope this helps. It depends on what you're used to - if you're used to Windows, stick with that. The Intel chips are just as good for most things and, for what it's worth, there are still things that are not compatible with Apple Silicon. You're also in trouble with Apple Silicon if you need to have more than one version of .NET on your machine. Finally, if you ever want to use Visual Studio the Mac version isn't as good as the Windows version. All that being said, you can make it work but you might run into some annoying obstacles with Apple Silicon

  • @cemkaya4448

    @cemkaya4448

    Жыл бұрын

    @@portismouth Thanks for the answer. As much as I search, Rider can be a solution for IDE. However, developing app on Windows seems easier than on Mac. I bought Mac :)

  • @portismouth

    @portismouth

    Жыл бұрын

    @@cemkaya4448 congrats! I personally have an M1 MacBook Pro. I love the machine. Anything I need to to do on windows I just run on parallels 😉

  • @cemkaya4448

    @cemkaya4448

    Жыл бұрын

    @@portismouth Yeah, it was also a good advantange which helped me to buy M1. However, I think MSSQL cannot be run on ARM processor. It can be problem for me because I am newbie. Another thing makes me confuse shortcuts. I get used to Windows shortcuts. If I start working in a company, I think they might work with Windows. Since shortcuts are different, it can make problem all time switch. Do you have experience such as problem :)

  • @portismouth

    @portismouth

    Жыл бұрын

    @@cemkaya4448 I can run SSMS on a Parallels instance no problem. In fact I do it frequently. Re: shortcuts - you get used to switching back and forth. It's a little like being bilingual... just with your fingers, it just takes some time and practice. Good luck on your coding journey! It was life changing for me.

  • @taufanaugusta8884
    @taufanaugusta8884 Жыл бұрын

    Version control. You must know how to use Git.

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    Definitely.

  • @Cymon343

    @Cymon343

    Жыл бұрын

    beat me to it (by 5 days :))

  • @eduardrivas6964
    @eduardrivas6964 Жыл бұрын

    Tim, I love you

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    I totally understand. Don't focus on the paid content. The purpose for the paid content is to fund more free content here on KZread and on the web. There are over 450 videos here on this KZread channel to help you become a skilled developer and more are added every week.

  • @eduardrivas6964

    @eduardrivas6964

    Жыл бұрын

    @@IAmTimCorey Thanks for such a great labor! Big fan here. Some day I'll pay for everything I received, so you can keep helping others.

  • @harag9

    @harag9

    Жыл бұрын

    @@eduardrivas6964 You don't need all the courses at once, depending on your skill and what your interested in just go for the ones as and when you can. Tim has a ton of great free content on the site as he mentioned, but from someone who has bought a few of his courses I can certainly say they are worth it in the long run, and if it helps you to get a job or promotion, then that's already paid for the course. But yes, check out the free stuff here!

  • @eduardrivas6964

    @eduardrivas6964

    Жыл бұрын

    @@harag9 Hehe I know I don't need all the courses, but the ones I want are just really expensive for a latam budget. 400$ is even higher than the minimum wage of the entire region.

  • @badhombre4942
    @badhombre4942 Жыл бұрын

    High Cohesion Low Coupling TDD

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    All good things.

  • @michaelschneider603
    @michaelschneider603 Жыл бұрын

    Unit Testing

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    Yep, that's a good one.

  • @terry.chootiyaa
    @terry.chootiyaa Жыл бұрын

    *Tim the biggest problem for newbie programmers is we struggle to understand WHEN we should/could use loops, conditionals, ..... for example when to use a IF statement vs ELSEIF, or when to use the correct loops..FOR. ...can you make a video to explain this 👍*

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    That comes from experience, which comes from practice.

  • @terry.chootiyaa

    @terry.chootiyaa

    Жыл бұрын

    @@IAmTimCorey Yeh ! But there must be some clue

  • @oliverabrahamhamburg

    @oliverabrahamhamburg

    Жыл бұрын

    There are no strict rules beginners could follow, because the question is wide. It sounds to me like a musician asking "when should I play which note".

  • @terry.chootiyaa

    @terry.chootiyaa

    Жыл бұрын

    @Oliver Abraham *Not really, it's more of the case of at what point should you use a high note && || a low one ☺*

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    I think the analogy is sound (pun intended). In order to learn how to write code, you have to experience it and try. There aren't set scenarios that require a certain tool. Every situation will be different. That's why we say "it depends" a LOT. It takes experience in order to know when each item is useful.

  • @jkotsche7035
    @jkotsche7035 Жыл бұрын

    magnetometers? :)

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    Cool, but no.

  • @jeffsaffron5647
    @jeffsaffron5647 Жыл бұрын

    The big one missing is making coffee.

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    I'm not a coffee drinker, so I missed it. 😆

  • @salihyarc7142
    @salihyarc7142 Жыл бұрын

    make a good soft

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    What does that mean?

  • @ShubhamTiwari-mt7tz
    @ShubhamTiwari-mt7tz Жыл бұрын

    Monthly pass is disabled tim

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    It opens a few times per year. If you are on the mailing list, you will be notified when it next opens up.

  • @nordgaren2358
    @nordgaren2358 Жыл бұрын

    It's all data? Always was...

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    Absolutely.

  • @nordgaren2358

    @nordgaren2358

    Жыл бұрын

    @@IAmTimCorey IDK if you remember my comments, but I got into programming through learning to mod games, and one of the first things I built was a program to archive files the way that the games I mod archives them. It's all data! IDK how to express it, but data is also the most interesting part about what I do. I have a bunch of data, and I have to figure out what it does and what it goes to.

  • @wilso572
    @wilso572 Жыл бұрын

    Number one generic rule, you need to know how to read documentation

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    Documentation? What is this thing you speak of?

  • @efezaladin3236
    @efezaladin3236 Жыл бұрын

    Lost some weight Tim? ;)

  • @zencibalina2926
    @zencibalina2926 Жыл бұрын

    Jesus is the Way

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    👍🏻

  • @coderider3022
    @coderider3022 Жыл бұрын

    Disagree on the sql side, clear that anyone in the profession are so much better at web and ui work at the expense of their db knowledge when compared to the vets which were forced to put their db in the centre of everything. Also, bad sql and table design isn’t an issue like it was 20yrs ago, compute , ram and disk speed negated the issue.

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    I strongly disagree with this take. Your data is the center of every application, including web applications. Not knowing how to properly work with data from the database to the UI and back hampers your ability to make good choices in the front-end. As for bad SQL design not being an issue anymore because computers are better, that's a hard no. Poor database performance can and does absolutely sink apps. Amazon found that a 100ms reduction in page load speed cost them 1% in sales. The thing is, that isn't exclusive to Amazon. That's something that happens with sites of all sizes. Guess where most of the performance gains and losses are on a website? In the database.