7 Habits I've Picked Up From Senior Software Developers

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
when i first became a programmer i was really lucky because i at my first job had people around me who were very talented software developers and people who had a lot of experience in the field people who i admired and respected and still even to this day want to be like and what's really interesting is as they were mentoring me and helping me to come along i was able to observe them and see like okay what are the behaviors that they do that i can adopt as well to be a better programmer and so in this video what i wanted to share with you are the seven habits of successful programmers not only to be a skilled programmer right to have a solid skill set to be able to produce for company or clients but also success in terms of being happy software developers because it's no use to be really skilled at this but to have a career that you kind of don't really like which can happen as a software developer so let's go ahead and dive right into it the first habit that almost all successful developers who i've seen have is that they are constantly training their ability to focus and this may go without saying uh being able to focus on one thing singularly right like just blocking out everything else having complete tunnel vision and focusing on one single thing for a long period of time is the key to being a programmer because some of the problems you'll run into some of the things that you have to create in terms of solutions or applications for your clients or for your company take a lot of concentration and just general thinking and all the successful developers i know have a really strong ability to focus for a long period of time and you may think that the best developers have a natural talent for this but almost all the developers i know have some form of add some thing that makes that really hard for them to concentrate and so what they've had to work on for years is to train their ability to focus on one thing so whether that means making sure that they are not being distracted rather cutting out all distractions not having their phone in front of them following good habits to make sure that they are concentrating and be able to focus they're also not doing things on a regular basis like multitasking like trying to split their attention between two things and task switching going back and forth between two things uh even down to the the things that they do outside of programming so i've noticed a lot of programmers like to read books because reading books helps to slow down your mind and focus on one thing at a time so what this means for you is you just want to make sure that you're constantly improving your ability to focus and you're not doing things that are going to take away from that skill the second habit that i see a lot of successful developers do is that they're always trying to automate things so what this means is that a lot of the work you're going to do as a programmer is very tedious right so for example when i'm building a backend application in c-sharp let's say one of the things that is very tedious is setting up a test class so say i'm trying to test something a class that i've just created well that can be a bit of a process it can take two or three minutes which doesn't seem like that much but if i'm creating five to ten tests every single day that time definitely adds up because there's a couple things i have to do i have to create the test file i have to decide where that file lives in the file structure then i have to create a test setup a test cleanup and i have to write each test if i can turn all those things into a click of a button running a script it makes my life a whole lot easier so as a software developer one of the things that i've just noticed amongst the best is that if there's anything that's annoying them if there's anything that's draining them of their energy any task that is very rote and they do quite a lot of they'll think of ways to automate that because the time that they're not spending on something complicated something that drains their energy is time they can spend on something they like or something that they enjoy or just even thinking about some other part or something else that they want to do so the point from this is is that as you proceed with your career you always want to be thinking about how to automate things so there are not so many rote and tedious tasks in your life now before we go any further here let me just stop briefly and ask if you haven't already make sure to go down and smash the like button as it will help me to share this video with lots of other people on youtube and if you have not subscribed to my youtube channel what are you waiting for go down there smash the subscribe button also make sure to hit the bell icon so you get notifications anytime i put out a new video the third habit of so many successful developers i know is that they are constantly practicing being pragmatic so what i mean by that is that basically as a developer one of the problems that you'll run into especially early on in your career is that you probably will over engineer things you are probably going to spend a lot of time on things that don't really matter like for example big thing that you want to think about as a software developer is efficiency right you want to make sure that your code your writing is efficient and many people will spend days or weeks working on some code to make it as efficient as possible or they're trying to make it as readable as possible but the problem is that as far as the business is concerned maybe they don't care about efficiency maybe the part of your code that you're writing won't be used that often so efficiency doesn't really matter so what i found from many of the best developers i know is they always step back and try to look at the bigger picture right so is the problem that they're trying to solve is it really necessary to think about one thing that people often get down rabbit hole with is refactoring right so they spend so much time refactoring their code without realizing that sometimes just good enough is good enough and just to get the code out there is much better and this is super important from a business perspective because businesses are really short on time if you've ever noticed right they're competing with other companies so for them to get code out is really important now yes you should put out the best code that you possibly can you should make it as efficient as you possibly can but always step back and ask does this need to be done do i need to make this efficient or am i spending more time on this than i need to the fourth habit that i see from many successful developers is that they are always teaching and helping others i think the reason that this is so important is because you will get better at this you will get to a point where you have very high confidence in yourself and your abilities you'll feel like pretty much anything somebody can throw at you you can figure out how to work through how to solve that problem but what's going to happen is is you're going to have what's called unconscious competence meaning you're going to be really good at what you do but you can't really necessarily explain to other people in simple terms how you did it or what you did and this is really important because i truly believe that if you don't know how to explain something in very simple terms of someone else about what you're doing then you're good at what you do but you're not as good you're not reaching your potential because you really want to know the ins and outs of everything so one of the benefits of helping others so if it's somebody who is a junior developer or maybe it's somebody who is just not nearly as good as you and you have a higher skill set than is obviously the satisfaction that comes from that that's great i love it i do it as well it's very satisfying but the other reason is because in order for you to explain something to someone else you have to really know it on a deep level meaning you have to sort of really refine your mental models around how things work you have to go deep on it and you have to be able to communicate and explain that to others and when you do that you get a lot better you obviously get the satisfaction of helping others so just make sure as you proceed here in your career you're finding people you can teach a mentor just be one person on the side say you have a friend who wants to do this who can help or it could be maybe you're going to pick up some junior developers at work who you're going to help through but either way it will help you a lot in the long term the fifth habit of successful developers is that they are open-minded to things so what that means is that the challenge for you as you progress in your career is you're gonna work with frameworks technologies programming languages and you're gonna start to build up preferences for them you're going to start to think like this is the best framework this is the best programming language because you're so used to it the problem is that if you start to wall yourself off from other programming languages from other frameworks from other just ideas in general and you start to get just really stuck in your ways you're likely or more likely at least to sort of fall behind because the field is constantly changing it's constantly growing and it's constantly moving forward and so if you're not at least open to ideas there's a chance either you're going to get left behind or you're just not going to stay on the cutting edge so one of my favorite quotes is from the book tool of titans by tim ferriss where he's interviewing mark andreessen one of the things he says he likes to do is at least the way he likes to think of the way he thinks is that he has strong opinions loosely held so you can be opinionated you can think that there is a certain paradigm for coding or certain design pattern is the best in certain situations but be willing and open to listening to others because if you're willing and open to listening to others and you're able to communicate why you think one way is best versus another it will help you to formulate better thoughts it will help you to be a better critical thinker and ultimately make you a better programmer because at least if you decide that this is the way it's supposed to be you'll have a good reasoning behind that so be open-minded be willing to listen to others and i think you're going to have a much more fruitful career the sixth habit that i've noticed amongst many of the successful developers that i know is that they crave a lot of discussion and even feedback and this is really important because as you get better like i said you're going to have confidence but you're also going to know that there's still a lot that you don't know and it's key to make sure that you're talking with others so if you have ideas that you want to share with them or get feedback on make sure to do that that's you know best practices design patterns again programming languages or frameworks that you think are the best talk with other people about that constantly getting discussions i remember at my first job one of the best parts about it was that we always had these organic discussions somebody would just stand up like hey guys what do you think about this and we all sort of talk about it i'd state my opinions i get feedback we'd kind of go back and forth or even you'd have to state your case about why you thought something was better than another so i think that that's really important even getting feedback is important even as a good developer because you want to get feedback from others are you writing code that is effective is efficient is also readable it's maintainable that you can add on to and i think that's something as a good developer you're always going to want to do until the end of time the seventh and final habit that i find is common amongst all the successful developers i know is that they're always following their interests so let me kind of break this down a little bit for you as a developer one of the challenges you'll have after the first year two years or three years of being a software developer is to keep yourself motivated and interested to continue to grow because you'll find that after you get your first job after some time that you get really good and that you just are not really as challenged and your excitement to learn new things to expand and grow just isn't really there so what you have to do is really dive into things that interest you so maybe you're a front-end developer but you start to learn a little bit about say cryptography and you're like actually kind of learn more about that dive into it fully dive into it fully because what i've found and what i've seen is that when you dive into things that interest you it sparks that flame that you originally started with when you first started to learn to code and you can really have a lot of energy to use to learn that thing that's going to help you even as a front-end developer or say you're a back-end developer and you really just want to work for a blockchain company like go do it like go at least maybe try to build your own blockchain or contribute to some sort of blockchain or contribute to a company who does work with blockchain technologies because again that's going to keep you locked in it's going to keep you excited it's going to keep you motivated the worst thing you can do is just be a developer be really good at what you do and then sort of like when things that interest you come by you're just like oh well i'm a front-end developer so i can never do that like go all in on it because again i've noticed with myself and others is that it helps to keep you fresh and ultimately it helps to keep you happy over the length of your career alrighty so those are the seven habits of successful developers i hope that you have genuinely enjoyed this video if you did definitely go down and leave a comment below and let me know your thoughts make sure to hit the like button other than that if you're interested i've created a free pdf the self-taught programmer study manual it's free to download i will leave a link in the description it has a lot of study tips that i've condensed from my ears of being a mentor and coach so definitely jump on that but other than that that's all i've got so thank you so much as always for watching and peace out everybody
Info
Channel: Andy Sterkowitz
Views: 59,502
Rating: 4.9730482 out of 5
Keywords: self taught programmer, self taught software developer, learning to code, computer science, software engineer, software engineering, software development, computer programming, programming, software developer, andy sterkowitz, self-taught software developer, code, learn to code, self taught web developer, self-taught programmer, how to get a programming job, programming job without degree
Id: zivngNtLiuY
Channel Id: undefined
Length: 11min 44sec (704 seconds)
Published: Sun Apr 04 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.