{"resource":{"author":{"id":"3eh0kijZwMrHum8TkMqX","name":"Devtools Tech","username":"devtoolstech"},"content":{"link":"","difficulty":4,"domain":1,"type":1,"isInternal":true,"body":"The entry barrier to becoming a software engineer is quite low these days. The web is full of resources, courses, bootcamps, and AI tools to jumpstart our programming careers. However, as we advance in the industry, it’s essential to build skills that set us apart from the crowd—skills that help us transition from junior to senior engineer. This is a regularly updated collection of resources to help us develop unique, rare, and immensely valuable skills for our career growth.\r\n\r\n## Best Practices for Pull Requests\r\n\r\nTo succeed in an organisation, we must master the art of a good PR review. This video will go over some important tips that will help you in your day to day job.\r\n\r\n<div style=\"position:relative; padding-bottom: 56.25%; height: 0; margin-bottom: 20px;\">\r\n<iframe\r\nstyle=\"position:absolute; top: 0; left: 0; width:100%; height: 100%; min-height: auto;\" src=\"https://www.youtube.com/embed/vtqdx4j4wsg\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\r\n</div>\r\n\r\n## Learn the code secrets used by Senior Engineers\r\n\r\n<div style=\"position:relative; padding-bottom: 56.25%; height: 0; margin-bottom: 20px;\">\r\n<iframe\r\nstyle=\"position:absolute; top: 0; left: 0; width:100%; height: 100%; min-height: auto;\" src=\"https://www.youtube.com/embed/9g1rYWJvvzY\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\r\n</div>\r\n\r\n## Learn how to think and code like a exceptional product engineer \r\n\r\n<div style=\"position:relative; padding-bottom: 56.25%; height: 0; margin-bottom: 20px;\">\r\n<iframe\r\nstyle=\"position:absolute; top: 0; left: 0; width:100%; height: 100%; min-height: auto;\" src=\"https://www.youtube.com/embed/ptFGm8PNakA\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\r\n</div>\r\n\r\n## Learn to find web optimization opportunities and implement what you learn\r\n\r\n<div style=\"position:relative; padding-bottom: 56.25%; height: 0; margin-bottom: 20px;\">\r\n<iframe\r\nstyle=\"position:absolute; top: 0; left: 0; width:100%; height: 100%; min-height: auto;\" src=\"https://www.youtube.com/embed/VPQo0LBrVwM\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\r\n</div>\r\n\r\n## Master the Art of Debugging:  Part 1\r\n\r\n<div style=\"position:relative; padding-bottom: 56.25%; height: 0; margin-bottom: 20px;\">\r\n<iframe\r\nstyle=\"position:absolute; top: 0; left: 0; width:100%; height: 100%; min-height: auto;\" src=\"https://www.youtube.com/embed/jgJrVoLhVL4\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\r\n</div>\r\n\r\n## Master the Art of Debugging:  Part 2\r\n\r\n<div style=\"position:relative; padding-bottom: 56.25%; height: 0; margin-bottom: 20px;\">\r\n<iframe\r\nstyle=\"position:absolute; top: 0; left: 0; width:100%; height: 100%; min-height: auto;\" src=\"https://www.youtube.com/embed/L4t9D7wrp2s\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\r\n</div>\r\n\r\n## Master the Art of Debugging:  Part 3\r\n\r\n<div style=\"position:relative; padding-bottom: 56.25%; height: 0; margin-bottom: 20px;\">\r\n<iframe\r\nstyle=\"position:absolute; top: 0; left: 0; width:100%; height: 100%; min-height: auto;\" src=\"https://www.youtube.com/embed/W1Ns64b1dGU\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\r\n</div>\r\n\r\n## Top Coding Practices That Every Engineer Must Follow | Coding Practices With Examples\r\n\r\n<div style=\"position:relative; padding-bottom: 56.25%; height: 0; margin-bottom: 20px;\">\r\n<iframe\r\nstyle=\"position:absolute; top: 0; left: 0; width:100%; height: 100%; min-height: auto;\" src=\"https://www.youtube.com/embed/qiC3hGeff5c\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\r\n</div>\r\n\r\n## How to improve your codebase?\r\n\r\n<div style=\"position:relative; padding-bottom: 56.25%; height: 0; margin-bottom: 20px;\">\r\n<iframe\r\nstyle=\"position:absolute; top: 0; left: 0; width:100%; height: 100%; min-height: auto;\" src=\"https://www.youtube.com/embed/_yo4dcylp3s\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\r\n</div>\r\n","languages":[],"editorConfig":"undefined"},"stats":{"views":5894,"used":0,"likes":0},"description":"","published":true,"isActive":true,"tags":["javascript","frontend","coding","ui","ux","developer tools","youtube videos"],"slug":"how-to-become-a-better-software-engineer---rid---4lmB97aZrn9z5q00FKZz","isPremium":false,"categories":[],"requires":[],"_id":"6731bf5cd34d7f4b8cccbdec","title":"How to become a better Software Engineer?","resourceId":"4lmB97aZrn9z5q00FKZz","createdAt":1731313500834,"modifiedAt":1731391309917},"currentUser":null,"isOwner":false,"recommendations":{"questions":[{"_id":"5e8ce4aab2cdcd5697fea7be","content":{"languages":["javascript","typescript"],"difficulty":1},"tags":["node.js","frontend","code","javascript","functions"],"title":"How to implement your own version of .bind method? | JavaScript Interview Question | Bind Polyfill","questionId":"SnJ52pKbaQKlhbFoW0PO","slug":"how-to-implement-your-own-version-of-bind-method-or-javascript-interview-question-or-bind-polyfill---qid---SnJ52pKbaQKlhbFoW0PO"},{"_id":"6470720ed12c1e2402033e8f","content":{"languages":["react","html"],"difficulty":1},"tags":["frontend","coding challenge","devtools tech","counter app","react.js","react counter app","frontend interview question","javascript interview question","tooling","codedamn","egghead","frontend masters","ui","html","css","js","beginner frontend question"],"slug":"build-a-counter-app-or-frontend-coding-challenge---qid---zodvupyT4q2SnVLeVFGk","title":"Build a Counter App | Frontend Coding Challenge","questionId":"zodvupyT4q2SnVLeVFGk"},{"_id":"5ea4445ddae82663ed99f7c0","content":{"difficulty":1,"languages":"css"},"tags":["css","html","frontend","box-model","interview","frontend fundamentals"],"title":"What will be the width of the element?","questionId":"yDDrp5hSfI3DqFsbbpCH","slug":"what-will-be-the-width-of-the-element---qid---yDDrp5hSfI3DqFsbbpCH"},{"_id":"62b1ca18d3473370ac368c1f","content":{"languages":["react","html"],"difficulty":4},"tags":["javascript","react","frontend coding challenge","ui","js","js fundamentals","codedamn","frontend masters","egghead","react tabs","tabs","pagination","card","card example","frontend interview question"],"slug":"how-to-build-a-ui-card-with-tabs-or-frontend-coding-challenge-or-javascript-interview-question-or-react---qid---7NrTygmpStPLFdWWNcts","title":"How to build a UI Card with Tabs? | Frontend Coding Challenge | JavaScript Interview Question | React","questionId":"7NrTygmpStPLFdWWNcts"},{"_id":"6422bac36577005718b75b17","content":{"languages":["javascript","typescript"],"difficulty":1},"tags":["javascript","frontend","lodash","cloneDeep","polyfill","js.fundamental frontend","javascript interview question","problem solving","devtools tech","codedamn","egghead","frontend masters","udemy","frontend problem solving course","ui course","lodash solutions"],"slug":"implement-clonedeep-from-lodash-or-frontend-problem-solving-or-javascript-interview-question---qid---WQuEgD3YsXzrxMi9amZq","title":"Implement cloneDeep from Lodash | Frontend Problem Solving | JavaScript Interview Question","questionId":"WQuEgD3YsXzrxMi9amZq"}],"resources":[{"_id":"5f1dd793cbec5f7ffc0c2fad","content":{"difficulty":2,"domain":1,"type":1,"isInternal":true},"tags":["node.js","javascript","frontend","frontend fundamentals","js fundamentals","interview questions","backend","backend fundamentals","webpack","inside webpack","advanced webpack"],"slug":"understanding-webpacks-require---rid---7VvMusDzMPVh17YyHdyL","title":"Understanding Webpack's Require","resourceId":"7VvMusDzMPVh17YyHdyL"},{"_id":"5f202cd7cbec5f7ffc0c2fbb","content":{"difficulty":1,"domain":2,"type":1},"tags":["Cookies"," LocalStorage"," SessionStorage"," JavaScript"," Web Development"],"slug":"cookies-vs-localstorage-vs-sessionstorage---rid---1Hhlnl4V1QExC6zXn0wT","title":"Cookies Vs LocalStorage Vs SessionStorage","resourceId":"1Hhlnl4V1QExC6zXn0wT"},{"_id":"620406cce12bce537863eaf0","content":{"difficulty":4,"domain":1,"type":1,"isInternal":true},"tags":["javascript","remix run","social login","login with google","express","session","encryption","js fundamentals"],"slug":"add-social-authentication-to-remix-run-project-or-express-server---rid---jVwo6agJvN2oX4IegYgz","title":"Add Social Authentication to Remix Run Project | Express Server","resourceId":"jVwo6agJvN2oX4IegYgz"},{"_id":"5f2856d6cbec5f7ffc0c2fc4","content":{"difficulty":1,"domain":2,"type":1},"tags":["closure","javascript","es6","nodejs","functions","frontend","js fundamentals"],"slug":"closure-and-this-how-are-variables-resolved-within-a-function---rid---UhIPcUg39ApeirvSiv4a","title":"Closure and this - How are variables resolved within a function?","resourceId":"UhIPcUg39ApeirvSiv4a"},{"_id":"63f077e9412456738aaee88c","content":{"difficulty":1,"domain":2,"type":1,"isInternal":true,"languages":["react"]},"tags":["javascript","frontend","code","programming","ui","ux","interactive examples","codedamn","nth-child selectors","pseudo selectors","css selectors","sass","scss","less","styling","html","css fundamentals","frontend fundamentals","examples","codesandbox"],"slug":"understanding-nth-child-selectors-in-css---rid---ZD7WRQQ8iSNv8SCSZdTG","title":"Understanding Nth-Child Selectors in CSS","resourceId":"ZD7WRQQ8iSNv8SCSZdTG"}]}}