7 Habits of Highly Effective Programmers (ft. ex-Google TechLead)

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey tech litera and welcome to another episode of the Tecla I am the ex gogo tech lead today we are going to be covering the top 7 highly effective habits of programmers it's Coffee time now the funny thing is that programming is the sort of career that if you don't do it right if you don't go in there with the right habits and the right skills you're gonna mess yourself up pretty badly pretty seriously they burn out they become very strange and people start saying that they have Asperger's maybe some of those people go out to start YouTube channels some of them burn out and become data scientists and then others go off and become managers because they don't really know quite what they're doing so you need to go in here with the right habits and I say happens because this is a long-term game and it's not really just about having a few skills a few techniques here and there a few tips and tricks you need to craft the right habits and those habits will Mode you every day to have the right career trajectory I have been working in this industry for over 10 years highly decorated highly successful ex-google tech lead and I'm here to provide you my top 7 habits now first of all though I do want to mention that we do have a brand new sponsor today and one that I'm really happy to introduce to you if you haven't heard of them already that service is blinking it's an app that summarizes books into 15 minutes for you it's a lot like heavy and friend read an entire book for you and then giving you all of the highlights and let's face it in today's age it can be hard to find the time to sit down and read it's not easy winter social media blogs news so plinkus is the only app that takes the best insights all the need-to-know information from a book and condenses that into 15 minutes for you to read or listen to personally I think that many of the best books should then take hours to plow through their messages can be told in just 15 minutes or so but authors sometimes just go on and on about topic blinken's is a very popular service millions of people are already using it in fact and they have a massive library ranging from self-help books health history and business books my favorite actually on my drive today I listen to the 7 Habits of Highly Effective People and it's a great read phenomenal book named the one of the most influential books of the 20th century and I was able to get through that just in 15 minutes I'm drive using the blink as that the first hundred to check out blinkers comm slash tech lead will get a free one-week trial unlimited access and then if you continue you also get 25% off the for membership and keep in mind that the 7-day trial it's completely free no risk you don't have to pay anything so I would recommend you give it a try if you haven't already it's a great service plinkus comm slash tech lead alright so let's get into the tips here and my first tip for you to really understand here is that programming is a physically demanding activity I know that you think all you have to do is just sit down in the chair and it should be easy but it's not quite like that in fact if you were to just sit in your chair the whole time your body would deteriorate so fast you would become a slouch your back would become hunched over your body would deteriorate into the shape of a chair you'll become incredibly unattractive your eyes will dry out from staring at the computer screen so long your skin is not going to get enough sunshine such that it's going to become a pale and pasty and as you get deeper into programming you start moving into the basement into buildings without windows it just gets darker and darker for you until you eventually become like a window go so you need to understand that good exercise and good sleep are essential for any programmer and this is something that I make sure I get for myself every day if I were to go program for a long period of time I'm going to make sure that I get my exercise in as well and I also have a very good sleep routine not only that I make sure that when I sit down I sit with my back straight such that I have a good posture because it's pretty funny if you were to go to some of these tech companies you see a bunch of programmers they look really weird their backs are all hunched over their necks have elongated as they're peering deeper and deeper into that computer screen and their gaze their eyes just seem to glaze over all the time I take a break every 30 minutes and I also drink a ton of fluids such that my eyes don't get too dry and I think overall people just need to drink a lot of fluids in general for my lunch breaks I go out and make sure I get some sunshine on my skin you know these are all good habits that you need to build up as a programmer to protect your physical body it's kind of like a sports star sports stars have to go to the gym hone their bodies build their muscles make it perfect for their game and it's no different for programmers except programmers are kind on that opposite end of the scale where their bodies are deteriorating completely weak and almost falling apart destroyed into the shape of a chair and then they just have to try to protect their bodies and mold it back into like a normal baseline so that they don't appear too weird now my second tip for you is have a get-it-done attitude this is sort of kind of like getting 80% of work and just shipping a product you know making sure that you're getting things out the door moving things along because programmers tend to have a tendency to just keep working on some strange little funny problem and just keep debugging something for hours and hours it's not weird to hear programmers spend a whole week working on some small stupid little bug and just trying to untangle some little puzzle in their head because it's just so fun and they just get stuck in this strange little loop that they're trying to figure out you know to be a really effective programmer you need to keep your eye on the goal and then reverse engineer what you need to do to get your project out the door to ship things a lot of people like to over romanticize the technology the little tools that they have the editors the syntax colouring arguing about Emacs versus vim getting their keyboard shortcuts all set up you know I don't try to configure my environment such that's very weird I like my environment actually to be pretty normal and that I can be productive at any machine because one of my goals is to be productive at any Apple Store such that if I'm out traveling remotely I can go to any Apple Store and start working right there I'm gonna feel right at home there it's funny that US programmers have something called open-source culture where we're just going to start working on something that never released ships right there's no real end users there's no product we just work on some framework and then polish that framework over and over and add all sorts of functionality to it but there's no actual way to ship this and get money from it it never really ends up in the hands of users it never really gets you any money it's just something that you just polish over and over and just keep doing that little thing over there and you know that's not really results oriented I guess I would say in fact if you were to work in an industry you may find that it's quite opposite from open-source culture where a lot of the code is just duct-taped stringed up hacked together and then they just ship the product and make sure that the product looks good and that it's marketable but it's not about refactoring the code over and over again until it looks beautiful and perfect and then you can upload it to open-source and everyone's to celebrate how beautiful your little piece of code looks my third habit for you guys here is the concept of keep it simple consistency once you get into programming you're going to find that there are hundreds if not millions of ways to get things done you can write a piece of code in a hundred different ways you can refactor it a ton of different ways and then things become unmanageable when you or other people are all doing things in a different way and then you're trying to get that code to inter up with each other or you're trying to read someone else's code you're reading some code that you had written a while back and you may find that you're not able to reuse code you may find portions of a program written in many different ways you may find views that are duplicated and then you have like 5 10 20 copies of a certain view programming is one of those fields that is dominated by extremely arrogant people what these people like to do is they like to over engineer their code they like to show off how smart they are and then they try to make things so complicated and so twisted that nobody else can read the code except them and then they feel some sort of pride about that but over time as you gain experience you start to understand that all of this is working against you you need to keep code as simple and consistent as possible and that's what's going to help you be able to avoid crashes avoid bugs quickly be able to read and understand your code or other people's code refactor things quickly make changes debug code faster and it's just going to help you ship your project much more quickly habit number four is to have a consistent way to get in the zone so the zone is one of the most productive times for a programmer when you're just coding and you're just swimming through that code and you lose track of time and before you know you've written an entire program and this is a period of time when you're not interrupted by anybody else and you can just have long stretches of time like say three hours or so I would say where you can just sit down and get some solid code in and then make sure to budget my personal time and to set expectations for people around me such that people understand that I need a specific undisturbed period of time where I can be productive program is just one of those fields where if you're interrupted every say 10 20 minutes you're just not going to be able to get anything done because you need to build these larger abstractions mental blocks in your head and it just takes a longer period of time to get that stuff done have been number five always be learning sharpening yourself getting out of your comfort zone it's very easy when you're coding to get stuck in a certain routine where you're just doing a certain small subset of an area and you can just do that for a number of months or even years and over time you may find though that you're not really learning anything more and then you become outdated so you need to always be learning and not only that one of the key skills of programming is the ability to debug and this has less to do with the experience you have and more with if you can learn an environment understand how another program or system is put together and then diagnose that to figure out what the root cause of some issue may be my sixth habit for you is collaboration when I began programming I did a lot of things on my own and you know I wanted to be that lone hacker at the loan program who just hide away but that's really not very effective and it's all too common for me to see some Engineer go off into the woods a week or two later they come back and they say they've just been stuck on something and they're not reaching out for help and it just wastes huge amounts of time for them and it destroys their productivity this is why collaboration may be important it's quite common that other people within your vicinity or team may have some ideas some clues about what could be causing some issue not only that programming is very much a team sport right you're often interacting with many other people's code if you're pulling in some framework or if you're working within the company environment you're most likely working with a whole bunch of other people and then your code needs to integrate with other people's code it's really like a sports team right so it's not really a solo activity although on the outside it looks like you're just sitting there programming all by yourself in reality in that digital domain you are a team player and then my last and seventh habit for a highly effective programmer is to understand that programming may be a lonely activity and you just need to get used to it you need to get used to spending large amounts of time on your own this career is not like being a doctor where you're just typing with tons of people it's not like being a cashier or a salesperson or a manager or a consultant in programming it tends to be more of a solo activity so if all of your friends are out partying not working going to parties talking with other people you know that's fine for them right because they're gonna go out and become salespeople consultants maybe they just don't really need to spend three hours by themselves in front of a computer get in the zone but if you're set on trying to be a programmer then you need to budget for that sort of experience for yourself where you're just going to be by yourself spending three hours reading some documentation it's funny that programming may be one of the loneliest careers I'm not sure of any other career where people spend as much time alone right like lawyers for example spend a lot of time dealing with people musicians teachers even scientists are often dealing with their colleagues discussing research and things like that but programming programming you spend a lot of time in that digital world where you're oftentimes reading documentation studying a piece of code debugging something on by yourself and so what I'm trying to tell you is that there's going to be a time when other people are out in the world socializing as they're doing their job and you're not going to be doing that right you're gonna be stuck at the computer debugging some piece of code that you've been trying to debug for weeks and that's kind of where programming comes in and you just need to have that proper expectation so any career has its highs and lows it's good points and those bad points and programming is just one of those careers that I think demands a little bit more of your personal time just you not you and your friends just you so just set those right expectations budget for that and you'll be all set let me know where your top habits are for programmers if you liked the video give it a like and subscribe and see you next time bye
Info
Channel: TechLead
Views: 1,076,627
Rating: 4.8236704 out of 5
Keywords: computer science student, fang, computer science lecture, software engineer day in life, amazon, techlead, computer science, computer science major, facebook, apple, computer science crash course, computer science vs software engineering, software engineering, software engineer, computer science vs computer engineering, computer science for beginners, software engineering salary, google, netflix, computer science jobs, engineer, technology, developer, googler, tech, swe, software, cs, fb
Id: W8ykZNSLDqE
Channel Id: undefined
Length: 12min 34sec (754 seconds)
Published: Thu May 23 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.