{"id":713,"date":"2019-05-20T15:56:09","date_gmt":"2019-05-20T15:56:09","guid":{"rendered":"https:\/\/www.digitalposition.com\/resources\/learn\/?p=713"},"modified":"2023-03-01T19:40:40","modified_gmt":"2023-03-01T19:40:40","slug":"top-5-most-useful-tools-for-developers-in-2020","status":"publish","type":"post","link":"https:\/\/dev.digitalposition.com\/resources\/blog\/ppc\/top-5-most-useful-tools-for-developers-in-2020\/","title":{"rendered":"Top 5 Most Useful Tools for Developers in 2020"},"content":{"rendered":"<h3><strong>What Are the Most Useful Tools for Developers in 2020?<\/strong><\/h3>\n<p>Timelines for developing software and scripts can stretch on into infinity if you aren\u2019t equipped with the right tools and programs to help you get the job done. These days, there are a myriad of great tools made for programmers like you and I, designed to make our lives easier, but not all are equal.<\/p>\n<p>As newbie programmer, I had to learn the hard way what works to boost your productivity and what doesn\u2019t. Some tools have a very high learning curve, and some are just so broken, or the documentation is so incomplete, you end up wasting more time than you save, merely trying to debug the debugger, or troubleshoot your version control system, or parse through a poorly written documentation.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/images.pexels.com\/photos\/2255355\/pexels-photo-2255355.jpeg?auto=compress&amp;cs=tinysrgb&amp;h=750&amp;w=1260\" alt=\"Person Using Keyboard Beside Phone and Coffee Cup\" width=\"659\" height=\"435\"><\/p>\n<p>There\u2019s no reason that you must learn through trial and error what software will get you farther faster, and save you time instead of waste it. Here\u2019s a compiled list of my top 5 must-have programs and tools that software developers should be proficient in, in 2020.<\/p>\n<ul>\n<li>Git<\/li>\n<li>Text Editor (Atom.io)<\/li>\n<li>Google Chrome Dev Tools<\/li>\n<li>Stack Overflow<\/li>\n<li>Notepad.exe<\/li>\n<\/ul>\n<h3><strong>Git \u2013 The world\u2019s best version control system<\/strong><\/h3>\n<p>Git is a distributed version-control system for tracking changes in source code during the lifetime of a software development project. It makes collaborating with your team a breeze, but it can be <em>very <\/em>intimidating to beginners. Here are some tips for beginners, and some reminders for everyone else.<\/p>\n<p><em>Youtube is your friend.<\/em><\/p>\n<p>If you\u2019re a visual learner like me, you\u2019ll want to take advantage of all the great videos on Youtube\u2019s platform describing even the most complex operations in git. I recommend this <a title=\"learn how to use git youtube playlist\" href=\"https:\/\/www.youtube.com\/watch?v=DR7MLaAKcUk&amp;list=PLfdtiltiRHWFEbt9V04NrbmksLV4Pdf\" target=\"_blank\" rel=\"noopener noreferrer\">playlist<\/a>&nbsp;if you\u2019re really starting from zero, as it covers the basics thoroughly.<\/p>\n<p><em>Always develop in a separate branch \u2013 NEVER in master<\/em><\/p>\n<p>Every Github repository has at least 1 branch, called \u2018master.\u2019 This is for your most finalized code only. That means the code in master will be tested, refactored, and doublechecked. Collaborating with other programmers can be an absolute NIGHTMARE. Every seasoned developer has their own horror stories of pushing to master at the same time as another developer and causing a mess that will take hours to unravel, or 10 commits later realizing that your new code broke a feature you had previously completed.<\/p>\n<p>For this reason, you should follow the 1<sup>st<\/sup> commandment of git.<\/p>\n<p><em>Thou shalt not commit directly to master.<\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/images.pexels.com\/photos\/534204\/pexels-photo-534204.jpeg?auto=compress&amp;cs=tinysrgb&amp;h=750&amp;w=1260\" alt=\"Brown Wooden Gavel With White Background\" width=\"729\" height=\"405\"><\/p>\n<p>As an alternative, checkout a new branch for every feature you develop, or work with your team to find a solution that works well for you. It might be tempting to push a small database migration or \u2018quick css fix\u2019 directly to master, but is it really worth the risk?<\/p>\n<p><em>Write descriptive commit messages<\/em><\/p>\n<p>It can be <em>such <\/em>a pain to check the git log to remember exactly what those code snippets you wrote earlier in the week do, but your co-developers will thank you for it. This is probably the one I\u2019m most guilty of, just taking the lazy way out and writing \u201cstuff\u201d for my 400 lines of code commit, but you\u2019ll definitely kick yourself in the head later on if you practice this bad habit. Your teammates might not yell at you in Slack, but they should. You\u2019re an awful person.<\/p>\n<h3><strong>Text Editor &#8211; Atom<\/strong><\/h3>\n<p>There\u2019s no best and worst when it comes to where you write your code, there\u2019s definitely some wiggle room for personal preference, but I\u2019ll make my argument for Atom (atom.io). As the self-proclaimed \u201chackable text editor\u201d, the sky is the limit as far as customization with this free tool.<\/p>\n<p>The way Atom separates itself from the competition in my opinion is with its Packages. Since the text editor itself is completely <a title=\"atom github repository\" href=\"https:\/\/github.com\/atom\/atom\" target=\"_blank\" rel=\"noopener noreferrer\">open-source<\/a>, it\u2019s possible to manipulate it in some unique ways that you might not expect. <a title=\"remote ftp atom package\" href=\"https:\/\/atom.io\/packages\/remote-ftp\" target=\"_blank\" rel=\"noopener noreferrer\">Remote FTP<\/a>&nbsp;is one of my favorite add ons, as it allows me to edit code directly on the server and upload it simply by saving the file. A big time saver compared with using a bulky ftp client like Filezilla or WinSCP.<\/p>\n<p>There are some other outstanding features such as a <em>very <\/em>robust search panel when you hit Ctrl+F which supports regex among other things, as well as the ability to use multiple cursors by holding down control and left clicking.<\/p>\n<p>Some honorable mentions are Visual Studio Code and Sublime. Don\u2019t hate me if I didn\u2019t mention your favorite, just get on the Atom train and choo choo to development victory.<\/p>\n<h3><strong>Google Chrome Dev Tools<\/strong><\/h3>\n<p>In the world of web development, nobody wants to edit their CSS, save the file, reload the browser, notice your code didn\u2019t do what you thought it would do, and then repeat this process a million times until it works.<\/p>\n<p>Dev Tools in Google Chrome (which can be toggled by pressing Ctrl+Shift+I) will allow you to make changes to the CSS and HTML directly from the browser and see the updates reflected in real time. Edit the visuals until they\u2019re exactly how you want them, and then save your final code. Easy.<\/p>\n<p>Microsoft Edge and Firefox have dev tools too of course, but Chrome is the most user friendly in my view. In addition to the ability to quickly visualize frontend changes, you can also capture everything your website is doing in terms of network activity which is very useful if you\u2019re wondering why your assets aren\u2019t loading, measure page loading time for speed optimization, view the cookies in your session and so much more.<\/p>\n<p>Checking Dev Tools in Google Chrome is <em>always <\/em>my first step when something breaks.<\/p>\n<h3><strong>Stack Overflow \u2013 <a title=\"stack overflow\" href=\"https:\/\/stackoverflow.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">stackoverflow.com<\/a><\/strong><\/h3>\n<p>What should you do when you followed the documentation exactly, double checked your code, and still get errors? Bash your keyboard against the wall? Yell at your cat? I may or may not have done these things, but that was the old me. The new me knows how to use stack overflow, and my cat is probably really glad about that.<\/p>\n<p>The thing about Stack Overflow is that so many developers use it, they\u2019ve probably run into the same issues as you before, and articulated it in a question much better than you ever could.<\/p>\n<p>If you search your error code on google, 9 times out of 10 the first result in the SERPs will be from Stack Overflow. You\u2019ll get all kinds of advice (both good and bad), but the answer rating system (similar to reddit) usually filters out the junk and helps you find your answers quicker.<\/p>\n<p>But suppose you\u2019re working with a newer API, or treading in new ground and run into some unexpected issues?<\/p>\n<p>I had an experience where I was working with the Bing Ads API, trying to pull performance data for some of our clients that we work for at Digital Position, and I followed the documentation to the letter. I could have <em>sworn <\/em>there was something missing, but how often is the documentation wrong?<\/p>\n<p>Well it turns out it was.<\/p>\n<p>The Senior Programmer Writer at Microsoft who authors all of the Bing Ads API related documentation and code samples happens to be an active user of stack overflow and we had this pleasant interaction:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-714\" src=\"https:\/\/www.digitalposition.com\/resources\/learn\/wp-content\/uploads\/2019\/05\/stack-overflow.png\" alt=\"interaction with the Senior Programmer Writer at Microsoft \" width=\"975\" height=\"207\" srcset=\"https:\/\/dev.digitalposition.com\/resources\/blog\/wp-content\/uploads\/2019\/05\/stack-overflow.png 670w, https:\/\/dev.digitalposition.com\/resources\/blog\/wp-content\/uploads\/2019\/05\/stack-overflow-300x64.png 300w\" sizes=\"(max-width: 975px) 100vw, 975px\" \/><\/p>\n<p>As a programmer in 2020, you <em>need <\/em>to be proficient in using Stack Overflow. At the very least, learn your way around, make an account and figure out how to find answers to your questions.<\/p>\n<p>Once you\u2019ve exhausted all other options and you\u2019re still stumped, ask a question, but be sure to show your research and what you\u2019ve already tried, or the other users won\u2019t be very eager to help you.<\/p>\n<h3><strong>Notepad.exe<\/strong><\/h3>\n<p>Last but not least, my personal favorite tool that I use in 2020 is Notepad.exe. I\u2019m sorry to everyone else who isn\u2019t using Windows, and I\u2019m not a Microsoft fan by any stretch of the imagination, but if you find yourself on a Windows machine, make sure you utilize this little gem.<\/p>\n<p>Task management software is one of those modern fads that can really over complicate your workflow. If you\u2019re collaborating with a team, using Monday.com or Trello can be a great way to visualize who\u2019s doing what, priority levels and deadlines, but for your solo work, meeting notes, reminders, etc. <em>simple <\/em>is best.<\/p>\n<p>I always have one little txt on my desktop, and it\u2019s become the dumping ground for my all my stray thoughts, things I want to remember and little reminders to myself.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-716 size-full\" src=\"https:\/\/www.digitalposition.com\/resources\/learn\/wp-content\/uploads\/2019\/05\/notepad.png\" alt=\"screenshot of notepad\" width=\"233\" height=\"150\"><\/p>\n<h3><strong>Conclusion<\/strong><\/h3>\n<p>This is by no means an exhaustive list, just a few essential programs and websites in my toolkit that I use every day and couldn\u2019t live without. Find out which software development tools and programming software works best for you and your team, but don\u2019t get too set in your ways. What\u2019s here today will be gone tomorrow, except for Notepad.exe. That\u2019s here to stay forever.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What Are the Most Useful Tools for Developers in 2020? Timelines for developing software and scripts can stretch on into infinity if you aren\u2019t equipped with the right tools and programs to help you get the job done. These days, there are a myriad of great tools made for programmers like you and I, designed&#8230;<\/p>\n","protected":false},"author":6,"featured_media":1375,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"thumbnail_src":"https:\/\/dev.digitalposition.com\/resources\/blog\/wp-content\/uploads\/2019\/05\/DPBlogPost-BestDevTools1-2-300x168.jpg","thumbnail_medium_src":"https:\/\/dev.digitalposition.com\/resources\/blog\/wp-content\/uploads\/2019\/05\/DPBlogPost-BestDevTools1-2.jpg","featured_image_src":"https:\/\/dev.digitalposition.com\/resources\/blog\/wp-content\/uploads\/2019\/05\/DPBlogPost-BestDevTools1-2.jpg","author_avatar_src":"https:\/\/dev.digitalposition.com\/resources\/blog\/wp-content\/uploads\/2024\/09\/jordan1.webp","author_name":"Jordan Lagan","category_labels":["PPC"],"tag_labels":[],"_links":{"self":[{"href":"https:\/\/dev.digitalposition.com\/resources\/blog\/wp-json\/wp\/v2\/posts\/713"}],"collection":[{"href":"https:\/\/dev.digitalposition.com\/resources\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dev.digitalposition.com\/resources\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dev.digitalposition.com\/resources\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/dev.digitalposition.com\/resources\/blog\/wp-json\/wp\/v2\/comments?post=713"}],"version-history":[{"count":7,"href":"https:\/\/dev.digitalposition.com\/resources\/blog\/wp-json\/wp\/v2\/posts\/713\/revisions"}],"predecessor-version":[{"id":1135,"href":"https:\/\/dev.digitalposition.com\/resources\/blog\/wp-json\/wp\/v2\/posts\/713\/revisions\/1135"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dev.digitalposition.com\/resources\/blog\/wp-json\/wp\/v2\/media\/1375"}],"wp:attachment":[{"href":"https:\/\/dev.digitalposition.com\/resources\/blog\/wp-json\/wp\/v2\/media?parent=713"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dev.digitalposition.com\/resources\/blog\/wp-json\/wp\/v2\/categories?post=713"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dev.digitalposition.com\/resources\/blog\/wp-json\/wp\/v2\/tags?post=713"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}