{"id":1629,"date":"2020-08-02T18:35:22","date_gmt":"2020-08-02T18:35:22","guid":{"rendered":"https:\/\/sp2hari.com\/?p=1629"},"modified":"2020-08-02T18:46:50","modified_gmt":"2020-08-02T18:46:50","slug":"advice-for-a-junior-software-developer","status":"publish","type":"post","link":"https:\/\/sp2hari.com\/index.php\/2020\/08\/02\/advice-for-a-junior-software-developer\/","title":{"rendered":"Advice for a junior software developer"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Every year, I work with a smart bunch of college kids during their summer\/winter internship at HackerRank. While I&#8217;ve learned a lot of things from them, they usually ask for feedback\/advice at the end of the internship. The individual feedback varies from person to person, but there is a standard set of links\/books I share with them to read to become a better software developer. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here is the list I share with everyone (in no particular order)<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>System design primer<\/strong> &#8211; <a href=\"https:\/\/github.com\/donnemartin\/system-design-primer\">https:\/\/github.com\/donnemartin\/system-design-primer<\/a>. While many use this just for the system design interview during the job interviews, this is an amazing set of system design patterns to learn. I love the diagrams and the way everything is explained and organized. <br><\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/donnemartin\/system-design-primer\/master\/images\/jrUBAF7.png\" alt=\"jrUBAF7.png (1348\u00d71390)\" width=\"539\" height=\"556\"\/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>97 Things Every Programmer Should Know<\/strong> &#8211; Great book that helped me shape my development career at the early stage. I was lucky enough to read this book when I was getting into software development and some of the advices are still deeply ingrained in the way I work. The best part is that each chapter is just 2 pages long. Very easy to follow and remember.&nbsp;<br><\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/images-na.ssl-images-amazon.com\/images\/I\/71+p3YjTZ4L.jpg\" alt=\"97 Things Every Programmer Should Know: Amazon.in: Henney, Kevlin ...\" width=\"454\" height=\"680\"\/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>The Architecture of Open Source Applications (Volume I and II)<\/strong> &#8211;&nbsp;<a rel=\"noreferrer noopener\" href=\"http:\/\/aosabook.org\/en\/index.html\" target=\"_blank\">http:\/\/aosabook.org\/en\/index.html<\/a>&nbsp;(the two books at the bottom of the page). A super hard book to finish. I&#8217;ve been trying to finish this book for the last 2 years and still not successful. Each chapter is about an opensource application (like Eclipse, Git, GDB, nginx, Puppet, PyPy, and many more). You feel fully exhausted just after finishing one chapter.<br><\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"779\" height=\"500\" src=\"https:\/\/sp2hari.com\/wp-content\/uploads\/2020\/08\/cover1.jpg\" alt=\"Volume 1 cover\" class=\"wp-image-1635\" srcset=\"https:\/\/sp2hari.com\/wp-content\/uploads\/2020\/08\/cover1.jpg 779w, https:\/\/sp2hari.com\/wp-content\/uploads\/2020\/08\/cover1-300x193.jpg 300w, https:\/\/sp2hari.com\/wp-content\/uploads\/2020\/08\/cover1-768x493.jpg 768w, https:\/\/sp2hari.com\/wp-content\/uploads\/2020\/08\/cover1-467x300.jpg 467w\" sizes=\"auto, (max-width: 779px) 100vw, 779px\" \/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>UI Patterns<\/strong> &#8211; There is no fun in building websites with horrible UI\/UX. It isn&#8217;t so hard to learn as well. All we need is a little bit of browsing and common sense. These makes you get an idea of what to use where while building a web application. Increases your common sense and something I believe all developers should know at some point.&nbsp;A few website I would recommend are <a href=\"http:\/\/uipatterns.io\/\">http:\/\/uipatterns.io\/<\/a>, <a href=\"https:\/\/ui-patterns.com\/\">https:\/\/ui-patterns.com\/<\/a>, <a href=\"https:\/\/goodui.org\/\">https:\/\/goodui.org\/<\/a> and <a href=\"https:\/\/www.uxlibrary.org\/\">https:\/\/www.uxlibrary.org\/<\/a>.<br><\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/miro.medium.com\/max\/903\/0*oFK9SahBWz4gZCxu.png\" alt=\"Android UI Design Patterns \u2014 10 Best Mobile App UI Designs in ...\" width=\"677\" height=\"361\"\/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>High Performance&nbsp;MySQL<\/strong>&nbsp;&#8211; Gives a good understanding of how things work\/move under a database. I learned a lot of query optimizations, engines, and other aspects of a database after reading this book. I would love to read something similar about PostgreSQL. You feel like the &#8220;<a rel=\"noreferrer noopener\" href=\"https:\/\/vignette.wikia.nocookie.net\/matrix\/images\/d\/df\/Thematrixincode99.jpg\/revision\/latest?cb=20140425045724\" target=\"_blank\">Neo<\/a>&#8221; of the database after reading this book. Highly recommended.<br><\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/images-na.ssl-images-amazon.com\/images\/I\/71M2M8g2gLL.jpg\" alt=\"Buy High Performance MySQL 3e Book Online at Low Prices in India ...\" width=\"388\" height=\"510\"\/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>What Makes A Great Software Engineer?<\/strong> &#8211; Paper link &#8211;&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/faculty.washington.edu\/ajko\/papers\/Li2015GreatEngineers.pdf\" target=\"_blank\">https:\/\/faculty.washington.edu\/ajko\/papers\/Li2015GreatEngineers.pdf<\/a>&nbsp;and the presentation link &#8211;&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/pdfs.semanticscholar.org\/5a8a\/71865fa1b9987edd5b68af3a8899205a04c4.pdf\" target=\"_blank\">https:\/\/pdfs.semanticscholar.org\/5a8a\/71865fa1b9987edd5b68af3a8899205a04c4.pdf<\/a>. Growing as a software developer is not just about technical skills. It involves so many other things like personality, decision-making skills, teammate interactions, and finally, the coding skills.<br><\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/sp2hari.com\/wp-content\/uploads\/2020\/08\/image-1-1024x648.png\" alt=\"\" class=\"wp-image-1638\" width=\"768\" height=\"486\" srcset=\"https:\/\/sp2hari.com\/wp-content\/uploads\/2020\/08\/image-1-1024x648.png 1024w, https:\/\/sp2hari.com\/wp-content\/uploads\/2020\/08\/image-1-300x190.png 300w, https:\/\/sp2hari.com\/wp-content\/uploads\/2020\/08\/image-1-768x486.png 768w, https:\/\/sp2hari.com\/wp-content\/uploads\/2020\/08\/image-1-1536x972.png 1536w, https:\/\/sp2hari.com\/wp-content\/uploads\/2020\/08\/image-1-2048x1296.png 2048w, https:\/\/sp2hari.com\/wp-content\/uploads\/2020\/08\/image-1-474x300.png 474w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Bug Fixing<\/strong> &#8211; An interesting\/funny story &#8211;&nbsp;<a rel=\"noreferrer noopener\" href=\"http:\/\/web.mit.edu\/jemorris\/humor\/500-miles\" target=\"_blank\">http:\/\/web.mit.edu\/jemorris\/humor\/500-miles<\/a><br><\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.nasstar.com\/content\/images\/2016\/09\/Screen-Shot-2016-09-26-at-10.59.40-PM.png\" alt=\"The Case Of The 500 Mile Email | Nasstar\" width=\"819\" height=\"531\"\/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>HackerNews<\/strong> &#8211;&nbsp;This is an interesting thread in HackerNews discussing the same topic &#8211; <a rel=\"noreferrer noopener\" href=\"https:\/\/news.ycombinator.com\/item?id=18128477\" target=\"_blank\">https:\/\/news.ycombinator.com\/item?id=18128477<\/a>.&nbsp;Top comments I loved and try to follow are&nbsp;1)&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/news.ycombinator.com\/item?id=18130605\" target=\"_blank\">https:\/\/news.ycombinator.com\/item?id=18130605<\/a> 2)&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/news.ycombinator.com\/item?id=18129407\" target=\"_blank\">https:\/\/news.ycombinator.com\/item?id=18129407<\/a> 3)&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/news.ycombinator.com\/item?id=18130501\" target=\"_blank\">https:\/\/news.ycombinator.com\/item?id=18130501<\/a> and 4)&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/news.ycombinator.com\/item?id=18132374\" target=\"_blank\">https:\/\/news.ycombinator.com\/item?id=18132374<\/a><\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">When I shared the above list with <a href=\"https:\/\/www.alagu.net\/\" target=\"_blank\" rel=\"noreferrer noopener\">Alagu<\/a>, he shared two more links with me tailored for junior developers<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>20 Tips For Your First Job<\/strong> &#8211; Atul Chitnis did a tweetstorm for students joining their first job &#8211;&nbsp;<a rel=\"noreferrer noopener\" href=\"http:\/\/atulchitnis.net\/2011\/first-job\/\" target=\"_blank\">http:\/\/atulchitnis.net\/2011\/first-job\/<\/a>&nbsp;I could relate to a lot of it, wish I had known this when I joined fresh.<br><\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/sp2hari.com\/wp-content\/uploads\/2020\/08\/image-4.png\" alt=\"\" class=\"wp-image-1641\" width=\"632\" height=\"354\" srcset=\"https:\/\/sp2hari.com\/wp-content\/uploads\/2020\/08\/image-4.png 842w, https:\/\/sp2hari.com\/wp-content\/uploads\/2020\/08\/image-4-300x168.png 300w, https:\/\/sp2hari.com\/wp-content\/uploads\/2020\/08\/image-4-768x431.png 768w, https:\/\/sp2hari.com\/wp-content\/uploads\/2020\/08\/image-4-535x300.png 535w\" sizes=\"auto, (max-width: 632px) 100vw, 632px\" \/><\/figure><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Ruby Under a Microscope<\/strong> &#8211; If you are using ruby for work, this is a really good read &#8211;&nbsp;Ruby under a microscope. It gives a very &#8220;Compiler design&#8221; perspective of Ruby.&nbsp;<br><\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/images-na.ssl-images-amazon.com\/images\/I\/71s2O2yYhHL.jpg\" alt=\"Buy Ruby Under a Microscope \u2013 An Illustrated Guide to Ruby ...\" width=\"375\" height=\"495\"\/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Every year, I work with a smart bunch of college kids during their summer\/winter internship at HackerRank. While I&#8217;ve learned a lot of things from them, they usually ask for feedback\/advice at the end of the internship. The individual feedback varies from person to person, but there is a standard &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,13],"tags":[],"class_list":["post-1629","post","type-post","status-publish","format-standard","hentry","category-books","category-code"],"_links":{"self":[{"href":"https:\/\/sp2hari.com\/index.php\/wp-json\/wp\/v2\/posts\/1629","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sp2hari.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sp2hari.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sp2hari.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sp2hari.com\/index.php\/wp-json\/wp\/v2\/comments?post=1629"}],"version-history":[{"count":14,"href":"https:\/\/sp2hari.com\/index.php\/wp-json\/wp\/v2\/posts\/1629\/revisions"}],"predecessor-version":[{"id":1650,"href":"https:\/\/sp2hari.com\/index.php\/wp-json\/wp\/v2\/posts\/1629\/revisions\/1650"}],"wp:attachment":[{"href":"https:\/\/sp2hari.com\/index.php\/wp-json\/wp\/v2\/media?parent=1629"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sp2hari.com\/index.php\/wp-json\/wp\/v2\/categories?post=1629"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sp2hari.com\/index.php\/wp-json\/wp\/v2\/tags?post=1629"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}