|
The Web isn't going anywhere as society today heavily depends on it for all kinds of solutions. Just think how many things we do these days on the Web. So with that said, gaining the knowledge to build useful applications on the Web will lead to a career in Software Engineering. Because a Web Developer's knowledge spans across many different technologies, we typically use titles like Software Engineer, Front End Engineer, Full Stack Engineer, etc. For example, here is what a Front End Engineer might have knowledge in: - HTML (semantic markup) - CSS (layout, animations, responsive, mobile-first, media queries, SASS, etc.) - JavaScript (the language itself) - HTTP, AJAX, Promise API, RESTful APIs, async VS parallel - DOM APIs, DOM Performance - UX/UI methodologies - Accessibility, ARIA - Module bundlers, transpilers, build tools (webpack.js, rollup.js, etc.) - Various frameworks and libraries and knowing why and when to use them (e.g. Lodash, React, Ember, jQuery, etc.) - Programming design patterns, methodologies, and best practices - Object oriented programming - Functional programming (.map(), .reduce() and knowing about immutability) - Test driven development and various testing frameworks/libraries - Command Line (Bash, and/or other Unix/Linux shells) - Version control (GIT) - Data Structures and Algorithms (arrays, trees, DFS, BFS, and more) - High or deep level knowledge of how Browsers work (the event loop, reflow/relayout, etc.) - A server side language (NodeJS, Ruby, Python, PHP) - Databases (MySQL, NoSQL) - A server side web framework (ExpressJS, Ruby on Rails, Django, Laravel, etc.) - Security (authentication, authorization, XSS, SQL injections, cookies, and more) - Ability to deploy a product in a production environment (e.g. AWS) - Development workflows (GIT, code reviews, continuous integration, and more) |