<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Duc Dao</title>
    <description>The latest articles on DEV Community by Duc Dao (@ducdmd152).</description>
    <link>https://dev.to/ducdmd152</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F791354%2F19503f0b-6900-48ec-b4eb-ccc71a3b6e9c.jpeg</url>
      <title>DEV Community: Duc Dao</title>
      <link>https://dev.to/ducdmd152</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ducdmd152"/>
    <language>en</language>
    <item>
      <title>How I approach Java Web Development to the first job</title>
      <dc:creator>Duc Dao</dc:creator>
      <pubDate>Mon, 14 Aug 2023 07:58:39 +0000</pubDate>
      <link>https://dev.to/ducdmd152/how-i-approach-java-web-development-to-the-first-job-585a</link>
      <guid>https://dev.to/ducdmd152/how-i-approach-java-web-development-to-the-first-job-585a</guid>
      <description>&lt;p&gt;After a period of study and self-training, today, I will summarize the basic roadmap from learning to before entry points to apply for a Java Backend Job.&lt;br&gt;
A few months ago, I tried to explore the proper map for learning to satisfy the fundamental and real job requirements also. The first challenge is that a lot of resources are mentioned in many guides, are a little bit confusing to start, and have some questions like &lt;strong&gt;what to go with&lt;/strong&gt; and &lt;strong&gt;which order&lt;/strong&gt;. Yeah, of course, I've played with Google for hours to find a roadmap that fits my needs and goals.&lt;br&gt;
Fortunately, I have consulted many different articles and built my own roadmap.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Overview of my roadmap:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Phase 1: Basic front-end (HTML, CSS, JS)&lt;/li&gt;
&lt;li&gt;Phase 2: Core pre-knowledge for Java Backend (JSE, OOP, Database, Networking)&lt;/li&gt;
&lt;li&gt;Phase 3: Fundamental of Java web development (J2EE)&lt;/li&gt;
&lt;li&gt;Phase 4: Frameworks for real work and a real job. (Spring)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Note*:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;The roadmap is for reference only and needs to be adjusted to suit each person's own goals and orientation.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;In addition to the main knowledge mentioned in the roadmap, there are a few other additional knowledge or skills you should consider including in your roadmap if necessary by yourself on your own.&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Phase 1: Basic front-end (HTML, CSS, JS)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Why?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The main reasons is that help you can approach:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How to simple website work basically.&lt;/li&gt;
&lt;li&gt;What front-end role do.&lt;/li&gt;
&lt;li&gt;Required knowledge to learn J2EE and Spring in an effective way.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Basically, it’s one effective way to understand basic concepts about the web app, know about tasks of front-end roles to collaborate better, and the importance it’s required to pre-enroll in Java web app development (at least HTML).&lt;/p&gt;


&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;How?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML is the most important factor in the phase; you should understand clearly about basic structure and syntax of HTML documentation.&lt;/li&gt;
&lt;li&gt;About CSS, it’s optional for you, but of course, it’s better if we have, one that helps you make a friendly &amp;amp; pretty UI for user experience.&lt;/li&gt;
&lt;li&gt;About JS, it’s optional too, if you can, let's find a crash course JS, understand basic HTML DOM, event &amp;amp; listener,…. fetch API if you want, but not really needed in this phase, you can explore it later.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;Resources?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I recommend an English resource list as I tried before, but let’s consider by yourself ^^:

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=WG5ikvJ2TKA"&gt;SuperSimpleDev | *&lt;strong&gt;&lt;em&gt;Frontend web development - a complete overview&lt;/em&gt;&lt;/strong&gt;*&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=G3e-cpL7ofc&amp;amp;t=15s"&gt;SuperSimpleDev | *&lt;strong&gt;&lt;em&gt;HTML &amp;amp; CSS Full Course - Beginner to Pro&lt;/em&gt;&lt;/strong&gt;*&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Bonus for Vietnamese readers, &lt;a href="https://fullstack.edu.vn/"&gt;&lt;/a&gt;&lt;a href="https://fullstack.edu.vn/"&gt;https://fullstack.edu.vn/&lt;/a&gt; is a website with many valuable free courses, yeah I tried, and thanks a lot to Mr. Son Dang &amp;amp; F8 team.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Phase 2:  Core pre-knowledge for Java Backend (JSE, OOP, Database, Networking)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;JSE: Java core, it’s totally pre-requirements for the Java Backend role right? Since you choose Java for going, so it’s totally required. you can find some courses or tutorials to start with. Personally, I recommend this course &lt;a href="https://www.youtube.com/watch?v=eIrMbAQSU34"&gt;Mosh | ****Java Tutorial for Beginners&lt;/a&gt;.**&lt;/li&gt;
&lt;li&gt;OOP: In basically, OOP is a style of programming that enhances clarity, reusability, and scalability. Luckily Java OOP is in my curriculum at university, so let's try to search and evaluate some courses by yourself. I haven't really experienced any free internet courses on Java OOP, but I did experience &lt;a href="https://codewithmosh.com/p/ultimate-java-part-2"&gt;Mosh | &lt;strong&gt;Object-oriented Programming&lt;/strong&gt;&lt;/a&gt;, that’s an experience worthy of my own, you can refer.&lt;/li&gt;
&lt;li&gt;Database: Uhmmm, that require the fundamental, you should search for some resource for that, since I learn about the topic at my university. Basically, you &lt;strong&gt;should&lt;/strong&gt; understand and do some basic concepts and tasks, like Database, Database System, DBMS, Database schema, SQL, DML, DDL, Primary key, Composite key, Referent/Foreign key,… hmmm, I don’t have any recommendations about it, try to play with google ^^.&lt;/li&gt;
&lt;li&gt;Networking: I already have a post &lt;a href="https://ducdmd152.hashnode.dev/how-i-completed-basic-concepts-of-computer-networking-as-a-developer"&gt;&lt;strong&gt;here&lt;/strong&gt;&lt;/a&gt;, you can explore it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Phase 3: Fundamental of Java web development (J2EE)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Yeah, if you are here right now, so gleeful ^^.&lt;/li&gt;
&lt;li&gt;In this phase, you need to learn the basis of Java Web Development with Servlet &amp;amp; JSP technology and MVC2 model.&lt;/li&gt;
&lt;li&gt;So hard to say what really it’s in a short quote, but simple it’s basic technology and basic knowledge also to learn about Java web. You have 2 reasons to take care of the phase carefully, the first is it’s basic and it helps you can understand the fundamentals; in my mind, fundamental is normally really important for some reason in some cases, and the second is when you learn J2EE with a good base knowledge, you can easy to go with Spring MVC or some aspects else in an effective way in quick going.&lt;/li&gt;
&lt;li&gt;I took advantage of the school curriculum with a Java Web course for this phase, so I only researched for specific problems, but haven't really experienced an entire course on it on the internet. However, here I have a recommendation for you to consider, it’s a course from Mr. Chad Darby, I have experience with him through his Spring course and I will cover it in the next section, but he also has a course about J2EE (&lt;a href="https://www.udemy.com/course/jsp-tutorial/"&gt;JSP, Servlets &amp;amp; JDBC for Beginners&lt;/a&gt;), I really haven't experienced it, I only recommend it to you because I have experienced learning with Mr. Chad Darby, so great with me, but you should consider it by yourself. Check information and reviews to choose the right one, no one will be responsible for your choice but you.&lt;/li&gt;
&lt;li&gt;Ok, try it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Phase 4: Frameworks for real work and a real job. (Spring)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Okay, you've been through challenging periods, and here's a challenge also ^^.&lt;/li&gt;
&lt;li&gt;But it will be lighter since you are already working with J2EE. However in this phase, there will still be challenges for you, you should understand the basics of Spring Core, Spring MVC, ORM, JPA, Hibernate, and something else; and can implement them in action basically.&lt;/li&gt;
&lt;li&gt;Okay, this is a course I recommend everyone to refer to learn about Spring: &lt;a href="https://www.udemy.com/course/spring-hibernate-tutorial/"&gt;Spring &amp;amp; Hibernate for Beginners (includes Spring Boot)&lt;/a&gt;. In my own experience, it's so great with a scientific and effective map, and teaching also, thanks a lot to Mr.Chad.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So, we just overview my roadmap from the entry point of learning to before the entry point of a job. One key I want to share is that let’s make a project in the last time of each phase to confirm and re-firm your knowledge and skills, which makes the learning more effective. ^^ &lt;/p&gt;

&lt;p&gt;With the knowledge and skills through an experience like the above, you can take some additional skills and totally able to apply for a position in business like fresher or junior.&lt;/p&gt;

&lt;p&gt;Okay, now your turn, let’s make your own roadmap and keep on going ^^.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Appendix&lt;/strong&gt;: &lt;em&gt;In the process of creating my own Java web learning path, there was an article that helped me a lot, let’s feel free to check it &lt;a href="https://www.devoxify.com/posts/the-definitive-guide-to-java-backend-developer-career-path/"&gt;here&lt;/a&gt;, I also send my deep thanks to the author, so grateful.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>roadmap</category>
      <category>webdev</category>
      <category>java</category>
      <category>spring</category>
    </item>
    <item>
      <title>How I completed basic concepts of Computer Networking as a developer.</title>
      <dc:creator>Duc Dao</dc:creator>
      <pubDate>Sat, 16 Apr 2022 07:21:41 +0000</pubDate>
      <link>https://dev.to/ducdmd152/how-i-completed-basic-concepts-of-computer-networking-as-a-developer-1no5</link>
      <guid>https://dev.to/ducdmd152/how-i-completed-basic-concepts-of-computer-networking-as-a-developer-1no5</guid>
      <description>&lt;p&gt;&lt;strong&gt;&lt;em&gt;As a software developer, it is necessary to understand how computers communicate and "talk" to each other, and thankfully I have basically completed what I wanted to know about computer networks, so I recorded it in this post.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;This post is so that I can look back and be grateful if it's useful for someone. As a developer, I have chosen my own way of learning which focus on basic concepts and analyzing the big picture instead of going into deep of details, which helps my learning become more interesting and productive.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Of course&lt;/strong&gt;, this maybe makes me not touch enough knowledge about networking for my software building work, but no matter, because when we have the overview map in our hands, we can improve our skills along the time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Notice:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;The article describes the main timeline and resources in the my learning process, so it should only be referenced and applied in your own way to your schedule for maximum effectiveness.&lt;/li&gt;
&lt;li&gt;This is a personal sharing and there are many flaws and mistakes, you should consider as reference or entertainment purposes only ^^&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ok, let get started!&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;First of all&lt;/strong&gt;, when learning about the problem we need to know &lt;strong&gt;what it is&lt;/strong&gt; and &lt;strong&gt;why is it necessary&lt;/strong&gt; for us. To complete that, we can play with google, research. Ok, after I run through many websites, blogs,... I found a complete article that was exactly what I needed: &lt;a href="https://betterprogramming.pub/developers-need-to-learn-basic-network-engineering-c67767969cd5"&gt;&lt;strong&gt;&lt;em&gt;Developers Need to Learn Basic Network Engineering&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;Note:&lt;/em&gt;&lt;/strong&gt; Neverless, in my experience, you should add one more concepts in the list to learn, it’s HTTP and HTTPS which is one in **&lt;strong&gt;&lt;em&gt;&lt;a href="https://love2dev.com/blog/progressive-web-app-features/"&gt;Three Features of Every PWA.&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;**&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Okay, we already know what it is and why we need to understand it, &lt;strong&gt;next&lt;/strong&gt;, we must &lt;strong&gt;determine what we need to learn&lt;/strong&gt; for concise and not wander and fall into tutorial hell, thankfully, the above article covered that also for developers.&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;After knowing what I need to learn, this is &lt;strong&gt;the journey I went&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Introduce to Computer Networking:&lt;/em&gt;&lt;/strong&gt; I approached the first content on different site sources, but in the end I chose &lt;a href="https://www.tutorialspoint.com/"&gt;tutorialspoint&lt;/a&gt; to grasp the open invitations with networking. It's &lt;strong&gt;&lt;a href="https://www.tutorialspoint.com/data_communication_computer_network/index.htm"&gt;&lt;em&gt;here&lt;/em&gt;&lt;/a&gt;,&lt;/strong&gt; let free to click!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; However, I recommend you guys feel free to check this slides that I found in the my revison process. Maybe it help your approach more clearly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://drive.google.com/file/d/1RkGYldnyZZpHpib8_Kbv0hAkJgR042NS/view"&gt;&lt;strong&gt;&lt;em&gt;FUNDAMENTALS OF NETWORK COMMUNICATION&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Clarify and simplify knowledge:&lt;/em&gt;&lt;/strong&gt; Yeah, we have holded clues about networking, so &lt;strong&gt;let go to clarify what we want to know&lt;/strong&gt;. Thankfully, belong this timeline, I found two extremely easy-to-digest lecture series that can facilitate for our process.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;First&lt;/strong&gt;, is the video series &lt;a href="https://www.youtube.com/playlist?list=PLF1hDMPPRqGxpYdo0ctaa7MxfOi9vjs1u"&gt;&lt;strong&gt;“&lt;em&gt;Cisco CCNA 200-301&lt;/em&gt;”&lt;/strong&gt;&lt;/a&gt; by CertBros, if you don't know what CCNA is, try to googling!&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Next&lt;/strong&gt;, is the &lt;a href="https://www.youtube.com/playlist?list=PLDQaRcbiSnqF5U8ffMgZzS7fq1rHUI3Q8"&gt;&lt;strong&gt;"&lt;em&gt;Network Fundamentals&lt;/em&gt;"&lt;/strong&gt;&lt;/a&gt; series of Network Direction channel.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both of these video series are simple and easy to understand, but each instructor will have &lt;strong&gt;a few own extra points&lt;/strong&gt; that are very useful and maybe we should watch both if possible to grasp the problem better. &lt;strong&gt;A little updated&lt;/strong&gt;, I also came across a couple of videos about networking of &lt;a href="https://www.youtube.com/playlist?list=PL7zRJGi6nMRzg0LdsR7F3olyLGoBcIvvg"&gt;&lt;strong&gt;&lt;em&gt;PowerCert Animated Videos&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; which are as awesome as the cources above follow by my point of view. &lt;strong&gt;However&lt;/strong&gt;, since the series is quite long, if you have time problems or prioritize other more important factors, &lt;strong&gt;focus on the core points&lt;/strong&gt;, topics that you set your goals in the first place. When it's done, let's feel free to learn more topics/concepts that you favorite or curious.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ok, it’s your turn, let’s make it be done!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;...&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;


&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Alright, look back, check check check&lt;/strong&gt;! OSI model, TCP/IP, UDP, DNS, HTTP/HTTPS... done.**
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;So let's come to &lt;strong&gt;The Scenario Quiz&lt;/strong&gt; and check out, or maybe need a review. You can also find a similar overall picture &lt;a href="https://academind.com/tutorials/how-the-web-works"&gt;&lt;strong&gt;&lt;em&gt;here&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;, as a view of a developer. But, &lt;strong&gt;&lt;em&gt;let’s challenge ourself to explain more specificlly with what we learn&lt;/em&gt;&lt;/strong&gt;. Below is what I drew to facilitate me in the process of describing with my own words about the scenario where computer communication works, so crazy but free ^^.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0EVU-zOH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1650091235286/RGJEs1_l7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0EVU-zOH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1650091235286/RGJEs1_l7.png" alt="ansNWC.png" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And &lt;strong&gt;the last step&lt;/strong&gt; is to enjoy the moment, &lt;strong&gt;be willing and confident&lt;/strong&gt; for any relevant knowledge at any time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Keep on learning.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Thanks.&lt;/p&gt;

</description>
      <category>networking</category>
      <category>learning</category>
      <category>developer</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
