PhpRiot
News Archive
PhpRiot Newsletter
Your Email Address:

More information

Landing on Your Feet

Note: This article was originally published at Planet PHP on 12 December 2012.
Planet PHP

I recently served as an instructor for an online course teaching the fundamentals of the Web. Before class started, we polled the students in order to learn, among other things, what kinds of skills they hoped to learn by the end of class. More than one student responded with aoconfidence.a I found this to be incredibly charming, but it gave me pause: teaching tech skills I could do, but confidence? It's not easy to convince someone to have faith in their abilities when they are just beginning.


The definition of confidence.

But as I thought about it more, I realized how important confidence is for new and veteran developers, alike. The following are the values and practices that I use to keep up my confidence. I hope that they can be encouraging to anyone just starting out, or considering starting a journey into the Web, as well as good reminders for those up to their elbows in code.

You will never know everything about everything

The world of the Web is huge, and it's changing all the time. If you start out wanting to learn it all right away, you will feel overwhelmed pretty quickly.

I wrote my first aoHello, world!a in early 2009. When I was first learning the fundamentals and came across something new, I immediately wanted to know everything there was to know about it, and would get frustrated that I didn't. Allowing myself access to this kind of impatience and frustration hindered my ability to think clearly and logically, and made it hard to let things sink in.

Even though it's been almost four years since the beginning, I still consider myself relatively new to development. I've learned a lot of things along the way, and it's fun to look back even just a year or two and realize what I didn't know. Yet, I still experience many of the frustrations that come along with being a new developer.

One of the things I've learned is that there is a huge difference between learning how to write code and learning how to implement code. When it comes to implementing code, there is so much to learn, from security to debugging to caching and optimization, and they all involve understanding how to architect your code and applications. They go way past the fundamentals, and even now I feel like I'm only just beginning to really feel confident in these areas.

Secondly, I'm still getting the hang of how to pace myself as I learn. It's easy to fall into my old way of thinking and to expect myself to know everything right away. The best approach is not to take on too many challenging things at once, but also not to shy away from things that are just out of reach. It takes a lot of dedication, time and practice to become fluent in all of the different areas of the Web. Don't expect to gain all this knowledge in the first few years.

Stay out of your comfort zone, and learn to love the pain

Don't overwhelm yourself, but it's critical to also stay out of your comfort zone. It's really easy to keep doing what you know, because it makes you feel great about your ability. While I agree that this is a good confidence-building approach, it prevents you from learning new things. aoStay out of your comfort zonea implies being in a state of discomfort, and sometimes it's true! This pain is a path toward gaining new knowledge and confidence.

Practice, practice, practice

The best way to get better at writing code is to write ita-alots of it! Find examples online, ask your colleagues if they need help with their projects, even try to recreate your favorite web sites. Take a look at some of your old code, because you'll most likely see errors and will be able to refactor it based on new knowledge. Practice is progress, and every bit of progress counts.

Some days are good, and some days are bad

Every developer has a story about an embarrassingly awful and impactful error they've made.

Mine was a few years ago, when I was rushing to implement a new feature, and I forgot a really important bit of code to check whether or not a save was successful, which essentially broke validation. Oopsies.


Me, after I realized what I had done.

Luckily, my teammates and I noticed right away, and it only created 80 botched records. But it could have been much, much worse. The it-was-me pill was a hard one to swallowa-aI had to admit to 80 users, never mind my managers, that I had made a mistake. The only thing I could do was own up to it, fix it, and move on. As a developer at any sk

Truncated by Planet PHP, read more at the original (another 3138 bytes)