Key Certifications vs. Practical Skills for Web Developers
The Importance of Practical Skills Over Certifications for Web Developers
When it comes to entering the field of web development, there are countless certifications available, each promising to enhance your employability. These include certifications like Java, .NET, Web Design, and many others. However, the most crucial thing you can do is not necessarily about obtaining these certificates, but instead, building a solid portfolio of web applications that showcase your skills, and understanding SOLID design principles.
Portfolio Building: A Better Way to Shine
In my experience, what truly matters more than a certificate from a recognized certification exam is the ability to demonstrate your skills through practical projects. A portfolio on GitHub can serve as a testament to your expertise, and it allows potential employers to evaluate your coding abilities and coding decisions directly. This is far more valuable than passing an exam with predefined questions. I have over 20 certificates, but it's my coding skills and my ability to explain my decisions that have consistently got me the jobs I have.
Understanding SOLID Principles: A Must for Web Developers
If you're looking to enhance your skills further, Tim Corey's free courses on YouTube on SOLID design principles are a great starting point. SOLID stands for Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion, and understanding these principles can significantly improve your ability to code.
Web Development: A Wide Spectrum
Web development is a diverse field that covers nearly every aspect of software development. On the client side, you'll be working with HTML, CSS, and JavaScript, possibly alongside frontend frameworks like Angular 2 and React. On the server side, you have a wide array of choices, including C#, Java, Python, and PHP. Each of these languages has its own strengths and is suited for certain types of applications. It's worth exploring multiple options to find what best fits your interests and career goals.
Concentration and Decision-Making: A Metaphor from Poker
To further hone your skills, consider approaching web development with a mindset similar to that of playing No Limit Texas Hold Em. This card game involves making decisions based on incomplete information, assessing risks, and navigating a series of choices. Just like web development, not all the information you need to make a decision is readily available, and you must often make the best choice with the partial information at your disposal.
Recommended Reading and Viewing
To gain a deeper understanding of the field and its history, I highly recommend the following books and resources:
The Victorian Internet - by Tom Standage, exploring the history of the telegraph and the internet The Soul of a New Machine - by Tracy Kidder, chronicling the development of a new computer The Mythical Man-Month - by Frederick P. Brooks, Jr., discussing software project management Longitude - by Dava Sobel, exploring the history of navigation and the quest for accurate timekeeping Blink - by Malcolm Gladwell, exploring decision making in a split second The Short History of Nearly Everything - by Bill Bryson, a sweeping overview of scienceFor a more immersive learning experience, consider these movies and TV episodes:
The Imitation Game - based on the life and work of Alan Turing Apollo 13 - recounting the space mission and its challenges Hidden Figures - highlighting the contributions of African American women to NASA Nightline - The Shopping Cart episode (YouTube) - a challenge to a company called Ideo to redesign the shopping cartAdditionally, you might find these articles insightful:
“They Write the Right Stuff” - a 1990’s piece on the Space Shuttle’s software (source: NASA) “Code as Design” - three essays by Jack ReevesStudying the Minds of Pioneers
Finally, to gain a historical perspective and insights from some of the luminaries in the field, consider studying the following individuals and their works:
Ada Lovelace - a pioneer in computer programming Alan Turing - a founder of computer science and artificial intelligence Grace Hopper - a computer science pioneer and computer language researcher Margaret Hamilton - a key figure in the development of the software for the Apollo missions The source code for the Lunar Lander’s Guidance System - freely available on the Internet as a joint NASA and Google project