47. What Are The Most Important Traits Of A Software Developer?

Поделиться
HTML-код
  • Опубликовано: 21 ноя 2024

Комментарии • 165

  • @rafapioli75
    @rafapioli75 3 года назад +71

    Man! I´m 45... coding since 11. I can say that EVERY SINGLE WORD in this video is gold! I hope the aspiring and junior developers store this advice in the heart! Congratulations!

  • @pierreplourde
    @pierreplourde 2 года назад +5

    I really like how in your videos you don’t cut out or edit out the mistakes, the troubleshooting, and the debugging; it makes your teaching real world.

  • @rblew131
    @rblew131 3 года назад +20

    I feel like I'm going to come back to this video every few months when I hit a breakpoint break point.

  • @Keiktu
    @Keiktu 3 года назад +8

    This serie is so cool. I can see that you have a podcast format of it, it will be awesome for it to be on Spotify, i wouldn't miss a single episode.

  • @kgnet8831
    @kgnet8831 3 года назад +3

    Nice Video 👍👍👍
    I would add two other Traits:
    1) A productive form of Laziness - To find the shortest path or easiest way or to automate as much as possible you need the laziness to not want to repeat any task, because if you did it once, every repetition is just tedious😁 and because it motivates you to always reevaluate the things you do and get better or more efficient. Also it will lead you to build a ton of little helpers😀
    2) A productive form of Stubbornness - Just because somebody says it is so, you do not / can not accept the common way without at least try to do it differently. As long as there is no absolute proof that the common way is the optimal way (and there are mathematical ways to do that) do not accept the common way or even your way from yesterday, always think about doing it differently. And to never accept a dictated way to use a program, a concept or tool, because there are always new or alternatives ways...

  • @MikeFromNashville
    @MikeFromNashville 3 года назад +7

    You are my guru Tim. Your pep talks, lesson videos have helped me so much. Thank you man. I really appreciate you.

  • @newtonsheikh
    @newtonsheikh 3 года назад +2

    Tim Corey: Learn one thing well, rather than know about four things
    Job posts: lists 200 things, 500 good to haves
    So how do u crack an interview and be the hero on job: learn one thing well AND know about four things. 😎
    @TimCorey: awesome stuff. U r an inspiration

  • @Balgoriusis
    @Balgoriusis 3 года назад +9

    Man, I wanted to be a pilot myself. My country(not US) has a military university for that, so I applied. I passed the math and pa, but after an eye exam I was told, i wont ever be a pilot due to a poor sight. So under pressure from my parents I went to a law school. While working on my degree I took a side job as an business analyst. After the school I continued being an analyst, but i really loved the technical side of things. So I applied for analyst jobs in development. Few years later I became an developer (also made a second degree in computer science).

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 3 года назад

      Merging the legal training and coding, that should open a huge marketing opportunity for you to sell yourself. Either developing apps for lawyers, legal areas of in working with code related law suites. What an amazing potential!

  • @eduardo.sanchez
    @eduardo.sanchez 3 года назад +2

    That part of your story with your boss and the vice president looking at you while you try to fix a production issue reminded me to my old job before becoming a software engineer. It was a literal production line and I had to fix a station that failed on my shift and it was a critical station, so the issue stopped completely the process and I was there without experience with my boss, the production manager, and other high charges looking at me and I had no idea what to do and somehow I ended up fixing it. Those are really funny memories now but the stress at the moment sure was high.

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 3 года назад +1

      Thanks for sharing. I have been in that manager role looking on as others try to fix the problem. Honestly, you are just grateful for the folks working on the problem and worried about them stressing out.

  • @aungyethu9743
    @aungyethu9743 3 года назад +4

    Thank you, your videos are really motivating and they always keep me going every time I faced tough time. FOCUS & DETERMINATION!!!

  • @elitecrewmate4559
    @elitecrewmate4559 2 года назад

    as a self-taught, can't describe how much this video helps

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      Awesome! I am glad it was helpful.

  • @manuelgamezz
    @manuelgamezz 3 года назад

    It's not enough only to see tutorials, practice is very important. For example if you see many videos of c#, pyhton, java script, etc, your could be lost. Focus is important, step by step.I'm 36 and all days I learned new things. Thanks Tim for sharing with all comunity.

  • @andrewbelton6410
    @andrewbelton6410 3 года назад +1

    Thanks Tim. Agree with you, although not sure persistence, determination and focus aren't a single characteristic. I would perhaps add curiosity - sometimes what drives me to continue when everything seems impossible is simply the genuine desire to know how the problem will eventually be solved. That and the drive to learn more - building on what has come before not just heading on new paths. You are always inspiring .

  • @noemi.farkas
    @noemi.farkas 3 года назад +3

    Thank God for you, Tim!
    You helped me a lot. Not only now!
    1000 thanks! 🙌🏼

  • @mr.logicpants2835
    @mr.logicpants2835 3 года назад +1

    Tim, I appreciate your honesty. I am 55 and have 25 years experience in development and I see I'm not the only old developer here. I think if we are all honest we have messed up at some point. Someone at some point will always find out that you messed something up. So it's better to be honest about it and make the best of it. Failing to do that can make a really bad situation way worse by trying to cover something up.

    • @IAmTimCorey
      @IAmTimCorey  3 года назад +1

      Thanks!

    • @mr.logicpants2835
      @mr.logicpants2835 3 года назад

      @@IAmTimCorey I wish that I worked with more developers like you in my career. I work with a guy right now it was a really great guy and a super talented developer who architected most of the software for the last 15 years at this company I'm working for. This guy is super humble and easily admits things that he's messed up before. You remind me of him and that's a major compliment.

  • @Norman_Fleming
    @Norman_Fleming 2 года назад +1

    Production environments are the best teacher. Once you have one of those "uh-oh" situations, you NEVER want to be in that position again. You learn to test the crap out of your code. Code in all the safeguards you can manage so you know WHEN it encounters something our of spec.

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      Nothing is quite like the feeling of ice being dumped in your veins when something breaks in production.

  • @defenestratedalien1448
    @defenestratedalien1448 3 года назад

    At this point, I am convinced that there are people who go around youtube disliking videos.
    Great content Tim. Enjoying from Nigeria.

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 3 года назад

      All of us have bad days. Sometimes it is just easier to dump that negative attitude and energy on social sites like YT comments than face your issues. Lets hope its just a rare bad day. :-)

  • @stratman1234
    @stratman1234 3 года назад +1

    I'm naturally curious about things and that propels me forward to solving problems. However, it also causes me to go on tangents. It's a constant battle to stay on task. I find it useful to keep a log of new projects with short descriptions in a Word file. That way, I won't forget them and can return to them when I complete my current project.

    • @IAmTimCorey
      @IAmTimCorey  3 года назад

      I use OneNote for the same reason. It is FILLED with tangents that eventually become the main thing I'm working on.

  • @sandeeptanjore1253
    @sandeeptanjore1253 3 года назад +2

    Hey Tim - I have been an Oracle back-end developer with a few stint roles as an Oracle Forms developer too. Lately started exploring web based programming and will surely learn C#. Back in the day (1999-2001) programmed on VB6 too. It was such an intuitive and beautiful tool to build RAD application. I can attest that the same cannot be said of Oracle Forms. It's so boring as an UI tool yet there are companies that still use it. W.R.T to front-end tool I think Microsoft beats Oracle in the way it is designed, built in debuggers etc.,
    Anyways what I wanted to tell you is - you have certainly given valuable advise and that is: all that glitters is not gold. Focus on one thing and do it well. Thanks again!

  • @ogunbilgili
    @ogunbilgili 3 года назад

    "Focus and practice instead of moving on" Got it.

  • @lynndemarest1902
    @lynndemarest1902 2 года назад

    If you hate being confused or if you don't like having to constantly learn new things, coding isn't for you.
    Also: This stuff will humble you. Do yourself a favor and always assume it's your fault if things don't work.
    Thanks for your vids, Tim. Even this old dog enjoys them.
    Oh: Read The Soul Gene. :)

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      You are welcome. Thanks for the recommendation.

  • @mondlimkhanyiswa1206
    @mondlimkhanyiswa1206 3 года назад

    Thank you a million times Tim. 🇿🇦 I'll keep fighting 🙏

  •  2 года назад

    Great video as always! Thanks Tim.
    Regards from Serbia

  • @framepointer
    @framepointer 3 года назад +1

    who needs motivational speakers when there is Tim Corey?

  • @KurniawanJatmika
    @KurniawanJatmika Год назад

    Determination is what made me came this far. And your admitting mistake, oh man, been there done that too, what an embarrassing but a great driving moment to keep humble & focus... :D

  • @lawrenceonen8880
    @lawrenceonen8880 3 года назад +1

    Liked, downloaded, re-watched. Thanks @Tim

  • @hlix554
    @hlix554 3 года назад

    How is this not getting enough likes and views? Lets share and make sure everyone see it.

  • @andywalter7426
    @andywalter7426 3 года назад +2

    There was one experience I had on a job where I did almost get fired. What happened was I created an email system that was supposed to email each client their reports. However, somehow each client kept getting the emails from the previous client. I did not deny any problem. I was able to admit the problem. The strange thing is at that time, I was a beginner programmer. I was using a third party component for sending emails. I would put the email address then do a send. Since I did not understand how variables worked, I assumed that putting the new email address would be just sending to that person not realizing that the others was not cleared. I ended up fixing the problem by using one line of code (the clear method). In that case, somebody said I should have tested more. However, unfortunately, when it comes to emails, its impossible to test ahead of time though. That was in 1999. In that case, I was willing to be fired for it if it came to that point. The good news is based on that learning experience, at least it made it where I would not make that mistake with the emails again.

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 3 года назад

      I once wrote a single line of code in Linux trying to echo the name of a process, but instead spawned a new version of the process. Took out our production server and took a LOT of guff for that.

  • @marlene5547
    @marlene5547 3 года назад

    Thanks so much for your advice! So glad I discovered this channel :)

  • @marceloleoncaceres6826
    @marceloleoncaceres6826 3 года назад

    Gracias por compartir tu experiencia

  • @leriosindane720
    @leriosindane720 3 года назад

    I literally heard and visualized!
    Deep!
    Programming not just code.

  • @alazeemmohamed1564
    @alazeemmohamed1564 Год назад

    You are awesome!! Talks ground reality. Awesome

  • @rjbray01
    @rjbray01 3 года назад

    Excellent sound advice thank you

  • @BochraBouazizi
    @BochraBouazizi 3 года назад

    Thank you Tim! I just needed this!

  • @LilPozzer
    @LilPozzer 3 года назад +1

    Thanks for the video Tim, you’re awesome, I wanted to say “man” but I have to say “sir”.

  • @ksharmila17
    @ksharmila17 Год назад

    Thanks Tim!

  • @fravoredstunner5
    @fravoredstunner5 3 года назад

    Hey @IAmTimCorey short story i'm kinda in this situation in my career. We were close to launch and 80% of my code wasnt working, i could've fixed it but it would've taken time with my skill set so the Sn dev had to jump in. I thought i'd get fired but my boss and the client gave me second chance (i have no idea why) which i hope i dont screw up. I needed this video.

    • @IAmTimCorey
      @IAmTimCorey  3 года назад

      I'm glad you got another chance.

    • @fravoredstunner5
      @fravoredstunner5 3 года назад

      @@IAmTimCorey Me too. The missing knowledge gap is design patterns and principles as the breaking code was mostly due to poor code structuring. Learning to fix that from your videos.

  • @AleksandarIvanov69
    @AleksandarIvanov69 3 года назад

    A harsh truth about potential: although everyone can become a developer, not everyone can become as successful. Some people have the potential to become architects, others can't become more than regulars.
    However, here's some hope: the journey of finding out what you are, all the "blood, sweat and tears", the pursuit of your limits, is not only going to give you a great career and the opportunity for a better life, it is going to fill that life with meaning.

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 3 года назад

      Wow, thanks for the encouragement. I thought I was going to be a developer, but I made my career more as a 'generalist'. I could code so I understood how to make things happen, how to solve problems, how to talk/understand the lingo, and found success as a team lead filling the gap between developers and coders. I encouraged them to talk to each other all the time but I could see the bigger picture and design the end-to-end solutions. I sort of made my own role, then fell into the 'product owner' role in agile. ...but I started as a developer.

  • @andreisolero192
    @andreisolero192 3 года назад +1

    Damn, 6'6, you are really tall!!! Btw great video.

  • @wayahedia9989
    @wayahedia9989 3 года назад

    Determination is the key. But just as important it NOT assuming that you are on the right path. When I am in unknown territory, sometimes I spend too much time chasing the wrong problem. Keeping an open mind when you're deep in the doodoo is probably my most important lesson. Always reset to the top of your problem and continue searching down until you hit what you did wrong. You did do something wrong. Every time.

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 3 года назад

      That sounds a bit drastic, but I agree at least that your (my) part of the code could always be improved, even if it turns out to not be the root cause.

    • @wayahedia9989
      @wayahedia9989 3 года назад

      @@tomthelestaff-iamtimcorey7597 I'm assuming your referencing "You did do something wrong" as being drastic.

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 3 года назад

      @@wayahedia9989 The phrase "You did do something wrong. Every time." In my experience, there was the internal code we wrote, there was vendor code and frameworks, there were interfaces, there was a network, multiple types of servers and lastly those unpredictable things called... users. Ultimately I or my team owned getting things working, but that did not mean WE did something wrong every time. (often, I admit, but not every time) :-)

  • @MikeFromNashville
    @MikeFromNashville 3 года назад

    I wanted to be a fighter pilot as a kid as well. After I saw Top Gun in 85.

    • @IAmTimCorey
      @IAmTimCorey  3 года назад +1

      That was quite the recruiting video.

  • @BogLungu
    @BogLungu 3 года назад +1

    Hi Tim, I have a question maybe for your next q & a.
    As an introduction: If I'm not mistaken ".net" was launched in 2016. Microsoft has been using buzz words like "Cross Platform" ever since, but after 7 years I still can't build a user interface that works on Windows / MacOS / Linux.
    If I'm not mistaken, I'm curious what you think about, how you comment and what work around can you propose... Thank you.

    • @IAmTimCorey
      @IAmTimCorey  3 года назад +1

      .NET Core came out then and yes, the goal was cross-platform development. We got that with all of the web projects, Worker Services, and Console apps. The cross-platform desktop apps are coming in .NET 6, which is coming out in November, 2021.

  • @Aphradity
    @Aphradity 3 года назад

    Great video Tim. What makes this really stand out as "Great Advice" is that, aside from explicit examples, you can pretty much change the term "Software Developer", with whatever profession, class, particular thing you are newly learning or struggling with.

  • @dharmiktrivedi4811
    @dharmiktrivedi4811 3 года назад

    Golden words!

  • @kristianb357
    @kristianb357 3 года назад +1

    I am currently studying C# and C# with web dev in school right now, and I am at a point where I feel like I am behind, that I don't know much, but probably knows more then I am aware of. Either way, lately I have been going back to check on C# stuff since we have been learning HTML, CSS and JavaScript lately and I don't want to fall behind there too much. In August I am going out on internship for 12 weeks and I am a little worried but will hopefully be fine...
    Either way, what I want to ask is, if I watch a video of a topic, or learn it thru codacademy for example, what kind of practice "projects" should I do? let's say if I want to practice on Object oriented programming

    • @IAmTimCorey
      @IAmTimCorey  3 года назад +1

      I address that here - ruclips.net/video/viigJ9NwJ2o/видео.html

  • @Psgupta23
    @Psgupta23 3 года назад

    Golden advise

  • @alihsanelmas
    @alihsanelmas 3 года назад

    Thank you Tim for sharing your experiences and enlightening the path for junior developers just like me.

  • @petrutarabuta5617
    @petrutarabuta5617 3 года назад

    Thanks!

  • @oladejiakomolafe5591
    @oladejiakomolafe5591 3 года назад

    Waoh! Thanks ^1000000. Tim Corey Thank you God bless you.

  • @zolisawelani9338
    @zolisawelani9338 3 года назад

    Very valuable content!

  • @4FrogsStacked
    @4FrogsStacked 3 года назад

    Those simple mistakes can cause so much headache. Built my first Web Application, and I had gotten stuck in areas for hours or even days because of simple errors.

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 3 года назад +1

      I think most of us has been there too.

    • @4FrogsStacked
      @4FrogsStacked 3 года назад

      @@tomthelestaff-iamtimcorey7597 I prefer the simple mistakes most of the time though because they tend to have simple solutions haha

  • @NoMore12345-z
    @NoMore12345-z 3 года назад +1

    I feel at 41, I am screwed, I got started way too late, on top of my ADHD which keeps kicking my butt.

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 3 года назад +1

      Hang in there. Don't give up! Often times, its not just the developer skills but the combination of life experiences and programming skills that makes the difference.

    • @IAmTimCorey
      @IAmTimCorey  3 года назад +2

      You aren't. You can do this. Check out this video on age in development: ruclips.net/video/BaeHxxhc58A/видео.html

    • @NoMore12345-z
      @NoMore12345-z 3 года назад

      @@IAmTimCorey Thank you for the reply, will check it out. My biggest issue is focus, as you said, watch 1 video, practice practice practice. Right now I flip flop across many videos and languages (C#, JS, etc).

  • @michelchaghoury870
    @michelchaghoury870 3 года назад +1

    can you make video comparison blazor(server/wasm) vs Next.js(React) for .NET Dev
    I am focusing on being an expert in .NET but I have gr8 skills in React Should I transition to blazor or I should stick with react
    and I you can make a video about the future of blazor
    and tnx a lot for you're work

  • @tko9753
    @tko9753 3 года назад +1

    Free time, free time, free time. That’s what you need

    • @IAmTimCorey
      @IAmTimCorey  3 года назад +1

      Almost everyone has more free time than they think. Look at how much time you spend online, on your phone, and watching TV. Actually add it up over the course of a week. It will be more than you think.

    • @lemonlee9493
      @lemonlee9493 3 года назад

      @@IAmTimCorey you are absolutely right. I'll practise it right now. Thank u a lot.

  • @RalfsBalodis
    @RalfsBalodis 3 года назад

    This gives hope

  • @henrik3098
    @henrik3098 2 года назад

    thx bro i keep going

  • @Brofbrofs
    @Brofbrofs 3 года назад

    Great video!

  • @doomedit
    @doomedit 3 года назад

    6:46 I may be naive but personally, I would never stay at a company where this sort of finger pointing is going on. In my experience, it points to a very toxic environment when bosses start asking who broke it because in the end, we are all human, and we make mistakes. In my opinion, the correct questions are, how do we fix it which ideally we are doing as a collective and after we have it fixed, then we can jump into a retrospective where we can talk about why it broke and how we can keep it happening from going forward as a team. I think the overall question of how can we all improve upon our mistakes should highly out weigh, trying to point fingers and making people feel bad as it turns a negative situation into a positive one where developer can learn from each other. Its kind of sad that junior developers would even be put in that position.
    So ideally your not slamming other developers for there mistakes, but I would say its not entirely your fault as you were put in this awkward situation where you ended up having to find someone to blame.

    • @IAmTimCorey
      @IAmTimCorey  3 года назад

      Maybe the way it was handled wasn't the best, but at the end of the day it was something that needed to be figured out. We needed to identify where the problem was so that we could fix it. Each of us had code running in different parts. Until we found the problem, we couldn't start working on the solution. We couldn't fix it as a collective because my code was controlling one system, another guy's code was controlling the API, and a third guy's code was controlling the machines. None of us could work on the others' code. That's the nature of distributed systems, especially in a manufacturing environment. I'm not going to write ladder-logic code for the PLC, nor am I going to write in a legacy Delphi system (and I didn't even have permission to access it anyway). I was writing in VB6. Each of us could only speak for our own system and only fix our own system.
      Blame is going to happen because it is the truth and you have to embrace the truth. If I hadn't declared my code was fine, there wouldn't have been the level of frustration there was. Yes, my code would still have been to blame, and yes I would still have been the one on the hook to fix it. The issue was compounded, though, by my not accepting the truth.

  • @jmmmas
    @jmmmas 3 года назад

    About learning. “Start from c# or cli”. Actually I disagree because if person do not know low-level primitives - he do not go further with c# or cli. I preferred next approach: start from high-level programming to avoid loose motivation and dig into low-level from the top. It much simpler for people with high-level mindset.

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 3 года назад +1

      Ah, key point, "...simpler for people with high-level mindset". Folks need to explore what works best for them based on their personalities and skills.

    • @jmmmas
      @jmmmas 3 года назад

      @@tomthelestaff-iamtimcorey7597 Absolutely agree. Also I think that your point about - "start from basics" is absolutely correct for people who already jumped into programming. But a bit different for newbies who just came (just IMHO). About the rest points - it's really useful, thanks!

  • @crazyheart1840
    @crazyheart1840 3 года назад

    You are like a father to me. I love you Tim. One day i will meet you and we will drink a Pepsi with lots of laughs.

  • @92_m42
    @92_m42 3 года назад

    Patience, lots and lots of patience because by god it's gonna be tested.

  • @QuadraAce
    @QuadraAce 2 года назад

    He knows not everybody can code, but when your livelihood depends on teaching this / selling courses, then ofc EVERYBODY CAN!!!
    Nothing against him, I think he is the best in this field, I am, just stating the obvious.
    Can you become an NBA player, can you cramm yourself into a cockpit? Yes. Does it come with risks? Yes. Will you be a good fit? Most probably not.
    If you CAN do something, it doesn't mean you SHOULD.
    Can everybody code?
    Short of a mental issue, yes, everybody can write a Hello World program.
    Can ANYBODY be a developer?
    I highly doubt, and its not based on IQ.

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      Well, I disagree. I know that I'm just some guy on the Internet, so trust is hard, so let me say something and then let me back it up. The statement: I don't say things to boost my course sales. The evidence: first, I avoid all sleezy sales tactics. I don't put teaser content here that forces you to buy the course to get the rest of the videos. I don't chase the latest clickbait headlines. I don't price my course at $2,000 but tell you that for a limited time, you can get it for $15. Second, I repeatedly say in my videos and in my comments here on RUclips to try out a topic before you consider buying a course. I provide full training videos that will introduce a topic (for free, with no strings attached) to let you know if that topic is even for you. Only then do I even offer a paid course. For instance, the C# Projects site ( www.csharpprojects.com ) introduces you to each of the major C# project types and gives you a free intro video that shows you what the project type is, how to use it, and how to go deeper into it. Only then do I offer a course that will take you even deeper into the topic (or cover it as part of a larger whole). Third, I offer a 30-day money-back guarantee on all of my courses. That is plenty of time to try something out, find out you aren't cut out for it, and move on. Fourth, when people ask me about a course, I point them to a free RUclips video first in most cases.
      OK, so that's out of the way, let's discuss the "everyone can be a developer" statement. Since I've (hopefully) proven that this statement isn't financially motivated, why do I say it? I say it because I've seen it. But first, let's discuss the term "developer". Does that only mean people who are mid-level developers and higher who are getting paid by companies? Does it mean any developer who makes money working as a developer? Does it include people who build software to sell but who aren't employed by a company? Does it include people who build application to make their lives easier, but who don't sell those applications? When you start looking at all the ways you can be a developer, it starts to get hard to define who is a "real" developer. If you say you have to make money with your work, that means that there are a lot of successful open-source developers who aren't "real" developers.
      My definition of developer is "anyone who writes code and who wants to claim that title". Yep, that means the person who writes a "Hello World" application could/should consider themselves a "real" developer. At first, that seems ridiculous. Just writing one sample application seems too little to consider yourself a developer, but then when you look at the list of questions above, you start to have a hard time defining what the line should be. Where I define it is a clear line. It is also one that does not exclude people. If you draw the line down the road, you start excluding people that shouldn't be excluded.
      So, by that definition, everyone can be a developer. But I think everyone can be more than that. I think every person could write code that had a meaningful impact on others. That might be a simple text-based game or it might be a NuGet package to make someone else's life easier. Not everyone is cut out to be a day-to-day developer, but everyone can be a developer that has an impact on the world, however small the impact might be. With that being said, not everyone WANTS to be a developer. That is perfectly ok. In fact, I encourage people to do what fits their personality and set of abilities best. But, just because not everyone wants to be a developer and not everyone is cut out to be a developer full-time doesn't mean they cannot be a developer. I taught C# in a college classroom for years. During that time, I encountered multiple students who had been told they could never be developers. They were told they weren't smart enough, they weren't cut out for it, or they didn't have the right skills to cut it. They all passed my class with flying colors. The ones who didn't pass in my class were the ones who didn't put in the effort. I had a student who was "learning-challenged" take my class and get a B. They put in the extra effort and worked to get it. I had another student who took my class after failing the same class twice before with other professors. They not only got an A in my class, they went on to become a successful, paid developer for a local company. The harm of excluding people who aren't "good enough" is real, and it causes people who have potential to turn aside. I would rather encourage a person and tell them they can do it if they want, especially since I fully believe it to be true.

  • @sachinkainth9508
    @sachinkainth9508 3 года назад

    I'm 5 feet tall exactly. I would never have become an NBA player but could I have become a fighter pilot?

    • @IAmTimCorey
      @IAmTimCorey  3 года назад +1

      I think that is a bit short. There is a very small range for fighter pilots when it comes to height. Then there are all of the other requirements. It is definitely an elite club.

  • @AliMustafa-xp8ih
    @AliMustafa-xp8ih 3 года назад

    you are great and these things you advice people with are really great but i really have a difficult problem and i wish if you could help with ...my focus is to be C# developer and i am practicing on it but my college makes me learning other things like C++ and Java and now i have to join a team who will build a web application with Laravel and JavaScript can you please just help me about how can i focus on C# well and how can i not be confused

    • @rafapioli75
      @rafapioli75 3 года назад +1

      My nephew is in the same position. My advice is focus on JAVA. You will get all the fundamentals to migrate to C# later and will perform well in the school with no stress.

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 3 года назад +1

      You (or someone) is paying for you to attend the college. Spend the time now learning all you can, focus on C# later.

  • @mannmachine2937
    @mannmachine2937 3 года назад

    Sir where we get exercise on every topic specially oops?

    • @IAmTimCorey
      @IAmTimCorey  3 года назад

      I am not sure what you are asking for.

    • @mannmachine2937
      @mannmachine2937 3 года назад

      @@IAmTimCorey Sir, every math lesson in my childhood was in Exercise. To practice. Where in Exercise for a good developer in every topic specially oops?

  • @zacharysmith7700
    @zacharysmith7700 3 года назад

    Tim is if Kevin James never pursued Comedy

  • @ILoveSoImAlive
    @ILoveSoImAlive 3 года назад

    not exactly agree on second point. imo its about a more general problem about getting sw developer, namely the question: where to start and whats important?
    and in that regard you can see 2 types of "shinies". "shinies" which will give you some more general understanding and solutions to some sets of problems, and "shinies" which are trying to sell you just an alternative to something you already have, in a different way. most alternative "shinies" are just time traps, which just promise you, that with them everything will be 1000 times better. but in reality its mostly not the case, or not in a scale that it would be worth the time.
    to see the difference you just need to use one of the most important sw dev skills: generalization. learn to see things by what they realy are, not by how they are called.
    come up with own names for this things and classes of this things in a specific context.
    for example the whole sw dev stuff can be seen like developing process description for programmable electronics namely for the cpu and additional utility mcs.
    that is the level of assembler. then you have C language as kind of macro assembler to do this stuff more comfortable by adding some abstractions.
    then you have everything on top of that like java, javascript, python, c++ as *_frameworks_* for C. so this are additional rules and abstractions to make the work more efficient. in that case it doesnt make much of a difference if you learn python, c++, java, javascript, lisp, c# or something else in some sense, because they are basicaly alternatives for the same level. but it would help to get more general understanding if you can java and learn c. if you get some additional information about how the OS and BIOS works, which are used by C to get things done, you will learn more about how and what happens inside jre and about java. if you learn a bit deeper, how the cpu and the utility mcus do work and how they are used by BIOS and OS, you will learn even more about java and about computer, OS and sw in general. same works for other "high lvl languages".

    • @IAmTimCorey
      @IAmTimCorey  3 года назад

      They would only be considered frameworks for C if you could drop down into C as well. You can't do that, though. These other languages are just that - languages. They have a higher level of abstraction, but that's a good thing. We don't all need to sit around inventing wheels when what we really need are vehicles. The wheel has been invented. Use it. That's what these higher-level languages provide us - wheels. Learning C can be interesting, but at the end of the day, unless you are going to be diving incredibly deep in an area, it just isn't necessary. That can be just as much of a shiny object (learning C) as anything else. Sure, you know some underpinnings, but that doesn't really affect the fact that you need to build a UI for a simple CRUD operation. It just distracts you from your objective.

    • @ILoveSoImAlive
      @ILoveSoImAlive 3 года назад

      @@IAmTimCorey
      sorry if I hit a nerve or someting.
      I hoped it is clear, that I talked not about learning C, but about getting deeper understanding about how BIOS and OS do work. and even better, to learn how a computer works.
      high level languages do hide this stuff a bit, but not always can they give a hint, which one of all possible abstract implementations is best for a specific case and what one should take into account to not produce bad product. and in that situations the only thing that can help, is to understanding of how everything works inside, or to ask someone who has this knowledge.
      in some countries every ingeneer, regardless what he will do later, *must* first work with his hands and simplest tools, to just know the realty, so that he has some basic deep understanding about stuff he will decide later.
      you will not get the permission for exams before you did this practical work and wrote corrensponding protocols.
      even if later he only works with some abstract tools, which do almost everything automated, and he just describes the requirements and signs the results.
      and, imo, thats the best way to do it. it rises the possible level of responsibility of this professional.
      and btw, even if it is offtopic, you always can fall back to C and with some things even back to asm and use the runtime of any langauge just as kind structure description and loader of implementation units.

  • @FreddieDeetlefs
    @FreddieDeetlefs 3 года назад

    Tim ...... don't you DARE QUIT on US !

  • @letsbesane
    @letsbesane 3 года назад

    I can’t say I agree with your principle that anyone can be a software developer. In my 24 years of experience I’ve run across many in the range of 50% of people claiming that they’re software developers yet they don’t have the skills, experience, attitude or knowledge. I’ve seen people who were truck drivers, carpenters, paramedics etc. try to transition to being a software developer but failed not because they weren’t determined but because they weren’t qualified and after 5 years still couldn’t understand complex patterns, wanted to hack code in rather that have clean code. SCRUM is popular today and many people who aren’t developers are pushing that hard skills aren’t required and that anyone can be trained but behavior can’t be changed so skills aren’t important but behavior is. The bar is just lowered with this mentality. The inclusivity of being a software developer should depend on your skills, experience, attitude and knowledge for the level of software development your applying for. There truly are a lot of charlatans out here. There is an entire philosophy (Epistemology) which tries to determine how knowledge is best formed and everyone does not form the correct knowledge or quantity of knowledge. It depends on many factors not just dedication.
    My advice is to base your theory on facts that would actually make someone successful and actual criteria that could be measured, the same as you would for your software applications.

    • @IAmTimCorey
      @IAmTimCorey  3 года назад +2

      I do base my theories on facts. I think I just have seen a different set of possibilities than you. I taught in the classroom for five years at one college. In that time, I had a girl come to my class who had been told by well-meaning people that she was not cut out for programming. She had failed the class twice before coming to my version of the class. She was painfully introverted because she was afraid to fail once more, but thought that was all she could achieve (this is something she told me later). She passed my class with an A. She actually learned C# and she saw that she didn't have to be a failure. She went on to get her degree, then went back for another degree in mobile development. She is now employed full-time as a software developer and confident. She is extroverted and open. I almost didn't recognize her because she was so different. I was fortunate enough to be there to help stop that cycle of people telling her she wasn't cut out to be a developer.
      I had another student come to my class who was mentally challenged. No one expected him to accomplish anything. He struggled with the most basic of concepts at first. He was someone people thought was surely not cut out to be a developer. It took staying after class and additional work, but he graduated my class with a B+ and the ability to develop real applications that actually worked.
      There are enough people in this world telling potential developers that they aren't good enough, that they will never make it, that they just weren't cut out for this career. I won't be one of them. If you can build an application, even a little one, even a console app that says "Hello World", you are a developer. You might not be the next rockstar developer, but you can still be an effective developer. And I am going to be the one fighting to make sure every one of my students knows that.

  • @torpidinput
    @torpidinput 3 года назад +1

    Sorry but there definitely is a genetic component to coding. The good thing is that unless you're very low IQ you can still code it'll just take a lot more effort than someone who has a naturally very logical and problem solving mind.

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 3 года назад

      Hate to argue, but I have met some really low IQ developers. I did QA work for a lot of years so I can prove it - LoL

  • @Tech_Publica
    @Tech_Publica 3 года назад

    why do you think that a 2 mt tall guy like you did not have the genetics to play NBA ( or high level basket anyhow ) but everybody can code? Could not it be that just like you said for coding you did not have the burning desire and determination to be a top level player?
    Becoming a great athlete is sure due to talent in part but there is a WHOLE LOT of determination and sacrifice and training as well...
    I don t think that softare dev is so muh differente than a sport. The are some "deal breaking" limitations, in basketball it is height, in software dev is a particular kind of mental attitude and way of seeing things.. there really are people who really "do not get code"....
    The only difference is that while you cannot train your way out of physical limitations like height we are stil very ignorant of what can be modified in our mind....

    • @IAmTimCorey
      @IAmTimCorey  3 года назад

      The difference is that being a software developer is not like being in the NBA. It isn’t an elite field where only 0.1% have a chance. You can be a hobby developer and be successful. You can be a low-skill developer and still get paid. You can even get paid by building something on your own. You don’t have to be a rockstar developer before you are a “real” developer. That’s the difference.

    • @Tech_Publica
      @Tech_Publica 3 года назад

      @@IAmTimCorey in fact I added "or play basketball at a high level". You can make a living with basket without being NBA just like you make a living with tennis without being an ATP player. And a 6,6+ height automatically puts anybody in you a very , very small percentage of "reasonable candidates". My point is that with athletics there are some kind of "hard limits" who cannot be pushed, but I do not think that in programming or other mental activities limits do no exist. You are just trying to bring back the "you can do anything if you really want" comforting lie for mental activities. The truth is though that to be a programmer you need the "material and potential" do be one. The only good news is that we still do not understand how much of that potential is pure genetics and how much is the result of your experiences and education, while phsycal trait like height are 99% genetics.

    • @IAmTimCorey
      @IAmTimCorey  3 года назад

      No, I'm not bringing back a comforting lie. I think you are just narrowing in too much on your definition of a programmer. This isn't about that level of skill or ability. This is about the ability to write code that accomplishes something. That's something that practically anyone who wants to do that will be able to do. I say practically because there are obviously some extreme outliers, but basically, if you want to do it you can. This isn't like playing basketball, it is like learning to read. It is a lot more inclusive.

    • @Tech_Publica
      @Tech_Publica 3 года назад

      @@IAmTimCorey , trust me, I teach programming for a living.. and there are way more "outliers" than you think.
      First there are quite a few who really do not ""get" coding, it s hard to explain but it is like their brain is not wired for that kind of thinking... so they hardly understand anything and what they understand they forget almost immediately. Then there are way more who "want to be a programmer because it is cool, or because it s easy to find a job" but having no real natural interest in it would lead a miserable life coding most of their time..

    • @IAmTimCorey
      @IAmTimCorey  3 года назад

      Well, some of this may come down to how you teach too. Trust me - I’ve taught in the classroom for years. For five years, I taught the “rejects”. People would go to my class after failing once (or more) from the “regular” course. Mostly, they would earn an A in my class. I had mentally-challenged students, students who were told they were stupid, students who thought they couldn’t do it and more succeed. The only people who weren’t able to make it were those who weren’t motivated to succeed. A lot of them took one on one help or extra practice but they got there. So when I say they can do it and to not write them off, I know what I am talking about. I hate to hear people writing others off, especially when I’ve seen that it usually isn’t true. More often it is a failure to teach well for the audience (which I know is tough, because not everyone learns the same, but that’s what you need to do).

  • @ngm5417
    @ngm5417 3 года назад +2

    First comment 😍💪