Tiếng Việt

The story of a beginner taking their first steps in their profession.

z3610422851801_d32fc658de56208174deb9d661482778.jpg

Author

Nguyễn Thị Thanh Tuyền

03/04/2023

Share

Frame 123941.png

Welcome back to the "Learn as you share" series, and I'm Tuyen. Today, I will share the challenges that beginners face when entering the programming industry, specifically in coding and design. This is my personal story. Below are my lessons and experiences when facing these challenges. Therefore, if there are any omissions or inaccuracies, I apologize in advance.

1. For a beginner who has just stepped into the programming industry, lacks experience and knowledge, it is very easy to make unnecessary mistakes, such as syntax errors, for example:

  • As a former coder, I often encountered bugs in my code. Specifically, syntax errors occur when the code structure does not match the language syntax. For example, when coding an HTML code like this:
<html>
<head>
    <title>Trang web của tôi</title>
</head>
<body>
    <h1>Xin chào các bạn
  </body>
</html>

Error: missing closing tag </h1> 
Fix: <h1>Hello everyone </h1>

  • Logic error is when the code is written but does not function as intended. For example, when you write a Javascript code to add two natural numbers (1+1=2) but the result is 11, this is an unexpected result demonstrated by the following code snippet:
let a = "1";
let b = "1”
let c = a+b;
console.log("The result is:", c);
→ Result: c = 11

Error: The expected result is c = a + b (c = 1 + 1) and the result should be 2, but the actual result is c = 11. The reason is that when declaring variables, you declared a and b as strings, so when running the code, it interpreted the result as string concatenation. 
Fix: Declare variables for their intended purpose. If you want to add two natural numbers, declare the variables as follows:

let a = 1;
let b = 1;
let c = a+b;
console.log("The result is:", c);
→ Result: c = 2, this is our expected result.
  • Slow performance occurs when you have redundant code that is not necessary, making the code run complex and slow. Therefore, limit unnecessary code and make sure your code is clean and sufficient for a smoother and faster build speed.
  • Security vulnerability: when a client sends a request, coders usually hide the token (known as Cross-site request forgery (CSRF)). If the token is not hidden, the user's information can be exposed and easily stolen.
  • Incompatibility: software version, operating system version, etc. may not be compatible, and the source code will not work. For example, if you code source code in Node.js (version 16) but download it to run in Node.js (version 14), it will cause errors. Therefore, pay attention to the operating system version, software version, etc.
  • Missing error checking and testing: for a beginner, this is a common mistake. When encountering a difficult problem while coding, the initial feeling is often one of excitement, and in that moment, the desire to complete the target quickly can lead to hastily submitting a pull request without checking the code, formatting it, or testing it thoroughly for various scenarios. This can result in being scolded by the team leader. 

So, to avoid unnecessary mistakes, we should constantly improve our knowledge and skills. Beginners may lack experience and make mistakes, but with time, they can learn and gain experience. It's important to learn from our mistakes and not repeat them, because as the saying goes, you can't step into the same river twice.
2. As a beginner in coding, I am also a beginner in design. Being new to the field, I cannot avoid making mistakes, specifically:

  • Incorrect design proportions.
  • Misunderstanding customer requirements and not focusing on end-users.
  • Creating an unfriendly user interface.
  • Failing to ensure consistency in design.
  • Not providing multiple versions for different platforms (desktop, tablet, mobile).

So to have a beautiful design that is user-friendly, a designer needs to have a broad overview of the website, some knowledge of code, and a thorough understanding of the field and requirements proposed by the client. They should also have knowledge in design principles. In my personal opinion, the focus should be on simplicity, user-friendliness, and aesthetics.
3. When a design is completed, the next task is for the coders to turn it into a dynamic website according to the customer's requirements. However, it is also difficult for a coder to code accurately and produce a perfect product. Because when coding according to design, it is difficult to meet the following criteria:

  • Not understanding the requirements or not consulting with the requester when necessary can result in the inability to meet customer demands.
  • Lack of understanding of design and creativity: incorrect design analysis can lead to incorrect coding. Without creativity, they may not be able to find optimal solutions, resulting in repetitive and inefficient code that is difficult to maintain. 
  • Failure to thoroughly check between the code and design can result in a website that does not match the intended design

So before coding, coders should have thorough discussions with the design team about customer requirements and the purpose of the website. Then, the development team will meet to analyze the design and find ways to code efficiently and cleanly.

Above are the things I encountered as a beginner stepping into the profession. Surely, everyone will stumble at some point, so I hope that those who read my article can learn from my experiences and lessons for themselves. As for myself, after going through the learning and working journey at ABC Software Company Solution, I have learned a lot: experiences from my predecessors, improving my weaknesses such as careless coding, not checking code or formatting it before sending a pull request, not verifying the code with the design, etc. In summary, what I learned from working is attention to detail, self-motivation to learn and explore technology (as IT is constantly updating), and personal responsibility for every product I create. I hope that you won't make as many mistakes as I did when becoming a coder or designer like myself.

Thank you for reading up to this point. 
I'll see you in the next blog, and my name is Tuyen. 
This article was created by ChatGPT and has been edited.

Share

Contact Us