5 Lessons I Learned in 7 Years as a Software Developer

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
people who try to write code which seems clever or which seems like it's doing some mysterious stuff is often a sign of a bad code and a bad programmer sequel databases would perform much better than nosql in this video i'm gonna share my five learnings as a software developer which i have learned over the last six seven eight years of working with code with so many programming languages so many frameworks and so many technologies also if you are new to the channel make sure you subscribe and like the video to receive daily updates on programming content released on goldam this video is a part of code dam's t-shirt giveaway program for the month if you want to take part and win an amazing goal damn t-shirt all you have to do is leave a comment on this video about what you think and that's it you are eligible if your comment gets a heart from code damn you will win a t-shirt for absolutely free my first learning as a developer is that typed languages are always better than dynamic languages now even if you take example of javascript versus typescript i heavily believe after working for so many years with javascript and years with typescript as well that thai script is a superior alternative sure it has that learning curve where you have to write types and do a lot of checks but if you're working on a medium to life large size project especially with teams it will be very very useful to have a type system in place similarly for other languages like golang or even c plus plus as a matter of fact the more types you have the more restrict you can have in terms of how well your program can be maintained compared to dynamic typing type languages i used to enjoy and work with javascript and python and things like these a lot but that mindset has changed over the time because of the discipline you get with the typed languages my second learning as a developer is don't try to solve a solved problem for example in the last some of one of the last videos we took a look at how you can create a aws like pipeline which would be linked as a card somewhere here that is fine in order to learn how to do that but it's almost always a better idea to go ahead and use a solution like max dot n or cloudflare stream if you're building a pipeline if you are running it on a small scale where you can afford the cost or you know you don't have a lot of traffic or specific use case coming in for example if you take a look at that video you're gonna see that that involves a lot of components to make it scalable and robust and you know making sure nothing goes down and so on and so forth and it's usually not a good deal compared to what you would get if you just use a built solution for that right similar thing exists for open source software a lot of time we as a developer get stuck on the fact that hey i'm not able to code that solution i want to code my own solution whereas there might be a simpler solution existing out there as an open source package so don't try to reinvent the wheel as developers especially when you're working on a startup or a business or a small scale project which you want to hit under a deadline it is important to stand on the shoulders of the giant right for learning part i do believe that it is good if you just go out and experiment building your own stuff but for the most part i do believe i mean software mostly has been built in this following way right nobody really builds everything from scratch otherwise you would probably have to start from hardware again so yeah i mean you should just try to go ahead and focus on what your software does uniquely compared to building a lot of non-essential parts which are already built for you my third learning is that people who try to write code which seems clever or which seems like it's doing some mysterious stuff is often a sign of a bad code and a bad programmer why do i say that i say that because a lot of time i would say like almost all the times you never want a code which appears mysterious but actually a piece of code which can be read by another human because chances are that would happen eventually right if your product gets famous or you know you want to work on some refactoring part or anything clever code is not going to help you those ternary operators and those fumble syntax and you know shortcuts which you're taking in the code that might be you know good for the computer or the computer might not even care but people who are maintaining your code will most likely just just have a bad time maintaining that code so as a developer that is one of the reasons i don't even like competitive coding because that teaches you a lot of such practices where you have to i mean not exactly teaches you but it's more like a convention in a competitive coding space so that mindset takes time to change right so you don't want to be writing that sort of syntax where everything is jumbled you're writing one letter variable names you're assigning them you're using shortcuts to write code real world code is massively different and needs to be massively different in order to be maintained and scaled properly by a lot of people together my fourth important learning which i have seen is that if you're building real world applications in a lot of cases if they are even moderately complex you're gonna see that there is a lot of relation between the data right and relational data is best suited for rdbms like mysql or postgres or basically these sql databases mongodb although we had damn also use mongodb but i have realized that usually in general sql databases would perform much better than nosql for managing and maintaining this data for a number of reasons one of them being that relational data which is the real world data is easily mapped into databases like mysql or postgres mongodb on the other hand follows the nosql ones follow they do have the ability to have relations but it's it's it seems like fake right because eventually you would have to perform a second query or you would have to do an aggregation to perform a lookup anyway so and plus these databases work and operate best if the data is not relational that means nosql would work best if the data is not relational so yeah i mean either if you're able to structure your data in the following way then that's great but i have seen that a lot of data in fact is a relational so you would have connections between different collections and different documents and so on and so forth and for those i would say like you know using an rdbms makes much more sense compared to a nosql database and my fifth point which kind of like overrules all the other four which i mentioned is that there is usually no one right way to do a certain thing take an example of oop object-oriented programming which is a very widely taught topic in universities schools and so on now oop is fine as a programming paradigm but to be honest it's not as popular as you would you know think it is especially if you're working with things like javascript and typescript and stuff like this on the back end sure it has a concept of classes javascript even languages like javascript has a concept of classes and so on but at least we what i have seen in code dam and the way we have structured it and what i have seen in other code bases i mean javascript is not even an object-oriented language it's a prototypal based inheritance language so there is no one right and wrong way to do things as long as you are able to follow some of the best practices again this could be another point that all best practices are not best practices and if you're following them all you're doing something wrong follow some of the best practices of the ecosystem but understand that it varies a lot from ecosystem to ecosystem in the place in the tech stack which you're choosing the technologies which you're building for so these were my top five general understandings which i could think of from the last few years what do you think about them do you have something you want to share as an experience with others let me know in the comments below make sure you like the video subscribe to the channel and hit the bell icon in order to keep receiving the updates that is all for this one i'm gonna see you in the next video really soon [Music] [Music] you
Info
Channel: Mehul - Codedamn
Views: 44,639
Rating: undefined out of 5
Keywords: codedamn, 5 Lessons I Learned in 7 Years as a Software Developer, programming, coding, Top 5 Benefits of Becoming a Software Developer in 2021, how to become a software engineer, software developer salary, software engineer salary, software engineer benefits, perks of a software engineer in 1 minute, biggest perks of a software engineer, software engineering, software engineer day in life, software engineering salary, software developer career, pros & cons of being a software engineer
Id: Vx76Tvdgi5k
Channel Id: undefined
Length: 8min 18sec (498 seconds)
Published: Fri Sep 03 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.