Web Development Skills to Get the Job
Complete Developer Podcast - En podcast af BJ Burns and Will Gant - Torsdage
Finishing the two part episode on skills web developers need to know the guys tackle the skills needed to land a job along with advanced skills to set yourself apart. The episode closes with a list of honorable mentions that do not directly apply to web development but are interpersonal skills useful to a career in development. You’ve got the basics down and this is what you need before you start submitting resumes. The intermediate skills listed in the episode is the base needed to begin a career as a web developer. The concepts build upon the previous listed basic and fundamental skills. These include methodologies of the web, programming paradigms, maintaining a project, and testing and debugging. Set yourself apart and above the crowd by learning and understanding the advanced skills. Knowledge of concepts such as data structure, algorithm development, modelling, and design shows more than a passing interest in the field and gives the basics to move up as a developer. Many of these skills are deep enough topics to warrant their own episodes. Will and BJ provide an overview for further discussion. Episode Breakdown * 10:56 Intermediate Knowledge To Get the Job * 11:11 Core Concepts and Methodologies of the Web Learn the basics of web methodologies such as model-view-controller (MVC) and model-view-viewmodel (MVVM). MVC is a pattern that divides software architecture into three parts: model, view and controller whereas the MVVM is a pattern that abstracts the view’s state and behavior. The model manages the logic and data whereas the view is the output. There can be multiple views for a set of data. The controller converts inputs into commands for the model and the view, it controls them. Object Oriented Programming (OOP) is the predominant paradigm in the web development world. Functional programming is however gaining notoriety and many of the functional patterns have been integrated into OOP languages. Take a moment to read the original papers that both waterfall and agile originated. You will see the intended use of each and how they are implemented differently in various companies. * 13:57 How to Maintain a Project Over Time “All code is legacy when it leaves the door.” As a web developer you will need to know what it takes to put software out where you are the maintainer. Your choices as a developer will effect the extensibility and portability of your code base. * 15:25 Unit Testing Know why unit testing is valuable but avoid making heavy assertions about how it’s absolutely necessary and any project that doesn’t have it is bad. You will rule out 95% of the industry. “Unit testing is code, it’s also part of the code base and has to be maintained.” Unit tests are written for code that is especially painful to fix in production. The issue many development teams run into is that unit tests are not maintained along with the rest of the code base. * 16:14 Task and Issue Management Take the time now to learn the basics of issue tracking be it with JIRA, GitHub Issues, or Issue Tracker in BitBucket. Learn time savers such as linking and closing issues with commit messages. Practice these skills on side-projects and use them even when it might be overkill. You will gain practical knowledge of how to use these that only comes from experience. Also, it will make your codebase easier to read and modify later when you haven’t been working on it in a few months. * 17:51 Debugging “The hardest problem to solve is the one where you don’t know where the problem is” Debugging tools allow you to step through your code line by line watching how the variables changes. If debugging tools are not available simple logging statements or alerts inserted in the code ...