For those of us who work in the online world, it is common to require the services of Web Developers, who are professionals who are dedicated to technical work in the creation of sites or portals on the Internet. That is why if you are going to hire a person to carry out this type of work, or if you are precisely that person because you dedicate yourself to web development, it is important that you know the 9 skills that a Web Developer must have to consider it as a complete professional in this field.
If you are a web developer, I invite you to do the following exercise as you read this article, for each skill mentioned below, give yourself a score from 0 to 10, where 0 is the total lack of the skill and 10 is the knowledge applied total of the same (not only theoretical). At the end of the article you will know why I have asked you to do this. Ok, now let’s get started.
These 9 skills are listed below and briefly described:
- Syntax Management: When we talk about syntax in the development area, we refer to the knowledge that one has for the correct writing of programming lines in the corresponding languages. In the case of the web, various programming languages are handled such as PHP, Ruby (On Rails), JSP, ASP, Node.JS, JavaScript, among others. Well, the idea is for the Web Developer to be able to write the source code of their programs in the correct way, without leaving flaws along the way, and optimizing the code so that as many functions as possible are done with the least amount. programming lines. This is achieved by knowing very well the programming language and the syntax rules that are used in it. In this sense, it is common for a programmer with little experience to have multiple syntax errors forgetting some delimiting signs in the code, such as the use of single or double quotes (“” or ”), use of the semicolon sign (;), and so on. In turn, the web developer must know in great detail all the functions or programming commands of said language, in such a way that he uses the correct commands for the programs he creates, also seeking to optimize the code.
- Layout Capacity: Unlike the systems for local use in companies, web developments generally involve designing on-screen interfaces that are shown through the Internet to the general public, or that, although they are for internal use, require the design of an interface graphic suitable to be displayed through a browser (e.g. Chrome, Firefox, etc.). This is what is known by the name of Front-End, and the design of these “layouts” (sorry for the Anglicism) on the screen, is what is known as “Layout”. A web developer must know the technical tools that allow him to handle the layout very well, among which is the use of the standards of CSS, HTML, JavaScript Frameworks (e.g. jQuery, Angular, etc.) in their most recent versions. Recent (ex. CSS3, HTML5, etc.).
- Integration Capacity: Many recently graduated professionals in the area of programming think that their job will always be to create source code from scratch for totally new applications with the latest technologies, and it turns out that in most cases what they will have to do is work with existing applications developed by third parties, for which modifications or adaptations to new functions are required. This is known as Integration. When a developer is faced with this reality, if he is not well prepared to understand the programs made by other people, he gets stuck in the matter and there are those who “throw in the towel” and quit. In fact, the use of “legacy” code is normal for companies that have a large number of their own software developments under which they have evolved and that is not so easy to discard. An excellent web developer must be able to read the code created by third parties (no matter how much spaghetti has been made), and be able to generate the changes that are required and / or create new developments that “connect” or “integrate” with it.
- Backend programming: When program developments are created that perform calculations or functions that are not handled directly on the screen, but are executed at the server level, it is said that such development is “Backend”. When we speak of having an excellent ability to develop backend applications, we refer to the fact that the person handles the design and implementation of algorithms and programming logic very well for the optimal creation of associated programs. A web developer who masters the backend knows how to handle recurring processes, decision trees, cycles, among other typical functions of pure programming. When a web developer knows well how to program the backend and cannot sleep, instead of counting sheep, he creates an algorithm that counts them alone ;-).
- Database design: In current developments, knowing how to create programming code without knowing how to design and structure a database correctly is like having a vehicle but it has no wheels or gasoline. You do nothing with creating the best algorithm solved with the most optimal programming code, if your database is a disaster at the design and indexing level. When we say that a web developer must have an excellent ability to handle databases, we are not only referring to the basic functions of the language (e.g. SQL) but also to its more advanced functions such as the handling of joins, recurring calls and triggers, creation of Store Procedures,
- Failure Analysis: When you are a web developer you have to create your own code or integrate with third-party code and if there is something in common in both cases, it is that there will be failures. The ability to properly Analyze Failures is known as Debugging. In turn, the ability to emulate field situations is known as Testing (Testing / Simulation). When things start to misbehave and do not produce the desired results, you must know how to debug the code both at the Back-End level and at the Front-End level, and in both cases different tools are used. Inexperienced web developers suffer greatly to get flaws. This is because they do not have good practices for debugging and / or testing. In order for you to be a good web developer, you must study the various methods for debugging the code, from handling “echo” functions to displaying the value of a variable or a flag that indicates that the program went through a certain branch, to the configuration of the error handling variables of the web server itself, also going through the use of testing management frameworks and the handling of the console in the browser that allows you to also debug the html, CSS code, etc. Knowing how to program well begins with knowing how to debug what you program well. Otherwise you will be a very inefficient programmer. to the configuration of the error handling variables of the web server itself, also going through the use of testing management frameworks and the handling of the console in the browser that allows you to also debug the html, CSS code, etc. Knowing how to program well begins with knowing how to debug what you program well. Otherwise you will be a very inefficient programmer. to the configuration of the error handling variables of the web server itself, also going through the use of testing management frameworks and the handling of the console in the browser that allows you to also debug the html, CSS code, etc. Knowing how to program well begins with knowing how to debug what you program well. Otherwise you will be a very inefficient programmer.
- Management of Servers: Creating a great web application and then installing it on an improperly configured and maintained server is like buying a new car and throwing it down a cliff. Most novice web developers have no idea how a server is managed on the internet. This is why many programmers create web applications that are not properly designed to scale to the hardware platforms where they will operate. When we talk about internet applications, we must know the differences that exist in aspects such as Scalability, Performance, Availability, Efficiency and Optimization. The “weirdos” that “smoke lumpias” (Chinese food in the form of thick tobacco), to configure and manage servers are called “SysAdmins”. Web Development in Islamabad is a great market for web developers. As well, A web developer who wants to be an excellent professional must learn how to manage a server both in development environments and in production environments with handling of high loads, attacks, and everything else that involves having one or more servers in the cloud. This is what has been termed as a “Devop” (Developer with Operations Capability). It is time that you stop seeing the SysAdmins as the bugs that know from the guts of the servers and become one of them.
- Platform Management: If wheels are already invented, why are you going to invent them yourself? Well, with this we refer to the fact that on the Internet there are already a large number of web applications created under the concept of Open Source Code with Free Distribution and Use, call it Open Source with GNU / GPL licenses or their equivalents. A good web developer should have the ability to analyze existing Open Source platforms and verify which ones could help you manage your project in the best possible way in the shortest possible time. Today there are Open Source platforms for “almost anything”. Some better and some worse, but they will always help you get out of the quagmire (or “get your legs out of the mud” for the connoisseurs) in your projects on the Internet. Clearly, if the developer does not acquire the other skills, such as Integration and Failure Analysis, surely this can cost you a lot of work. In turn, there are companies that provide online services based on APIs or Web Services that can also be used to give “power” to our developments and that should also be considered.
- Knowledge of IT Infrastructure: Imagine a web developer who is very good at the skills cited so far but has no idea how to solve a problem when the Internet “” goes down “or when the machine” hangs “. There is a saying that says that “the llanero is the size of the commitment that is presented to him”, and another that says, “a male who respects himself does not let that happen to him.” Well, if you are a developer and you do not know how to assemble and disassemble your computer (computer for our friends from Mother Earth, Spain), with your eyes covered and your hands behind you, you are “pointing out of the pot”, or you are misplaced at least. A good self-respecting web developer knows how to “punch” an RJ-45 connector to create a network cable, how to set up Wi-Fi, how to configure a router, how to analyze a connectivity failure, how to format a disk,
Okay. If you have read all of the above and listened to me by placing a score from 0 to 10 to your skills, now I invite you to make a Polygonal Graph that has as its axes the skills that I have mentioned and in which you place your personal values. You could then create something like what you see in the following image: