- Key Takeaways
- Savvy Developers Use These Headaches to Their Advantage
- Experience is Great, Vaccination is Priceless
- Headache #1: Fixing Someone Else’s Broken Code
- Headache #2: Fixed One Bug, Created Ten
- Headache #3: This Thing I Need, It Is the Problem
- Headache #4: My Co-workers Are Incompetent
- Headache #5: I Have to Do the Impossible (By Tomorrow)
- Sometimes, Worse is Actually Worse
- Making Things Worse Can Actually Be Better
- Frequently Asked Questions (FAQs) about Web Development
Key Takeaways
- Savvy developers use the common headaches of web development as opportunities to improve their skills and increase their value. They tackle these challenges head-on, rather than avoiding them.
- Problems such as fixing someone else’s broken code, creating new bugs while fixing old ones, dealing with incompetent co-workers, and meeting impossible deadlines can be turned into opportunities for growth and learning.
- The key to mastering these challenges is to embrace them, understand them thoroughly, and then find efficient solutions. This approach makes the developer indispensable to the team.
- Dealing with the worst parts of web development can actually make things better in the long run. It can lead to job security, peace of mind, and abundant opportunities.
- The philosophy of making the worst parts of web development even worse is about challenging oneself, identifying weaknesses, and using them as opportunities for growth and learning.
Savvy Developers Use These Headaches to Their Advantage
They turn these everyday disasters into opportunities they can use. Average developers complain about these headaches, hoping to avoid the inevitable. All-stars use these everyday disasters to make themselves and others better. What’s their secret? It’s a simple secret most aren’t willing to accept. It sounds obvious to most people when they hear it, when in reality, it’s anything but. Here’s the secret. Do what others won’t. That’s it. Do this, and your value as a developer skyrockets. Master it, and you become irreplaceable.Experience is Great, Vaccination is Priceless
For many developers, these headaches are crippling. Most developers hate dealing with these problems. At a certain point they begin to feel trapped. They’ve got a full blown case of learned helplessness. On an emotional level, they’re afraid they’ll be blamed if something goes wrong. And to a certain extent they’re right. But avoiding the problem isn’t the answer. Facing the problem gives you freedom and control. When you face the problem the despair, anger and fear loses its sting. As great as experience is, it can’t hold a candle to vaccination. Dominate these problems and you vaccinate yourself, emotionally and psychologically, against them. Which problems are we talking about?Headache #1: Fixing Someone Else’s Broken Code
You’ve just been hired at a new job. Your first to-do item? Fixing a poorly made application the previous developer left behind. Which either has no documentation (he didn’t believe in that) or too much documentation. But the complications don’t end there. Developers, like writers, are unique. They all have their own style, their own way of doing things. The code you happen to be working with is long, complicated and filled with bugs. Tossing the whole thing out and starting over would be best. Only you can’t. Because this code is live and in use. Make it worse: So you put a stop gap in place. You make the temporary fix you need to keep things going. But you don’t stop there. You take the time to map things out. What does the undocumented code do? Which libraries are being used where? Where are the conflicts? What are the dependencies? Learn absolutely everything you can about the poorly made system you’re fixing. It’s tedious and miserable, at first. But it’s something the vast majority of developers do their best to avoid. Here’s why you should do it. Thorough understanding gives you the ability to create change that sticks. You’ll know the system better than anyone else on your team. That makes you indispensable. Do this well and you’re able to survive mass layoffs, company politics, and disasters. They can’t afford to lose you, you’re one of the few developers that knows things inside and out.Headache #2: Fixed One Bug, Created Ten
After three hours of searching, you’ve finally found it. The fix is easy enough, so you push the update out. Only now, instead of that one original bug, there are ten. Maybe the library you’re using has lots of bugs. Maybe your update created a conflict with something else. Or maybe the bugs are unknown — as in you’ll never find the problem. If you’re lucky these bugs will magically go away on their own. Make it worse: First things first: get up and walk away. There may be a lot of pressure to find a solution, but your conscious mind needs a break. So you do the smart thing and you walk away. Doing this moves the problem to your subconscious mind where you’ll continue to work on it. Had a solution pop into your head while you were in the shower? Come up with a brilliant idea while you’re falling asleep? That’s your subconscious at work. But there’s another reason you should walk away. Fear, stress and anxiety affects your mind negatively. A research study by the NIMH showed that cognition, memory, decision making, even spatial navigation were impaired by negative emotion. Deal with your negative emotions first, then come back. Start asking questions, focusing your attention on isolating the problems. Revert to a previous revision.- Are the bugs still there?
- Are they the same bugs or slightly different ones?
- Were any of the bugs resolved when I reverted to a previous version?
- When are these bugs present?
- Are these bugs superficial, non-critical, critical or showstoppers?
Headache #3: This Thing I Need, It Is the Problem
You’ve been assigned to a new project — integrating a client’s website with a new provider’s API. They provide you with the keys and credentials you need. Seems like everything’s good. Until you run some tests. Everything looks right but you can’t get things to work. You reach out to your point of contact and you ask for some help. They can’t make heads or tails of it either. Your API calls aren’t working. You’re already behind schedule. At this rate, you won’t hit the deadline if things aren’t resolved in the next day or so. But no one seems to know what the problem is. Make it worse: Here’s a habit we used in our agency. We made it a habit to find an alternative provider, solution or option. If a client wanted A, we gave them A but we had B ready to go, just in case.- If clients want Netsuite, you’d have Tracmor and TradeGecko on the backburner, ready if something went wrong.
- If they’re using a particular library, we’d find (or in some cases, create) a new library. This is tricky to do and depends on your ability to spot serious red flags ahead of time.
- If they wanted things developed in Java, we’d have a secondary language with code samples, libraries, API documentation, etc. ready, just in case.
Headache #4: My Co-workers Are Incompetent
You’re in a kick-off meeting with the client and they ask for something impossible, stupid or harmful. Your co-workers are doing their best to appease the client. This leads you to believe they’re either accidentally incompetent or willfully incompetent. Kind of like this. Make it worse: You’ll have to spend more time talking with your co-workers. You’ll need to figure out whether their problem is…- Accidental incompetence, also known as the Dunning-Kruger effect. It’s a cognitive bias where the incompetent believe they’re more skilled (and others are less skilled) than they actually are.
- Willful incompetence becomes a problem when co-workers know just enough to be informed but choose to ignore what they know in favor of what they want.
Headache #5: I Have to Do the Impossible (By Tomorrow)
Your boss comes to you with an emergency. He needs four new features within 24 hours, and he’s demanding that you get it done. If they’re not, you’ll miss an important deadline. The problem? Each of these features will take a few weeks to finish. What’s worse, your boss already promised the client these updates would be done on time. His careless planning and loose lips have created a huge potential headache for you. Make it worse: Say yes to the absurd demand… … but state your list of conditions clearly and accurately. Instead of fighting with your boss over his impossible demands, rope him in on it like this…- I can get it done if I have X, Y and Z. Would you help me get those?
- I’m supposed to be doing X; did you want me to completely ignore that and focus on Y?
- X will prevent this from happening, would you take care of that for me so I can get this done for you?
- “Would you provide us with a transparent pen? One that draws invisible lines?”
- “Do you have a previous example of 7 lines that are all perpendicular to each other?
Sometimes, Worse is Actually Worse
Sometimes you can’t do what you want to do — you’re forced to do what you have to do. I get it. Learn from these situations, deconstruct them. There’s an opportunity lurking in every headache or obstacle. It sounds cliché but it’s true. Use these opportunities and you’ll find that your influence grows. Suddenly you’re able to command more money, handle more responsibility and help more people. You’ll become known as the person who makes things better, all because you made things a little bit worse.Making Things Worse Can Actually Be Better
Doing what others won’t means you’ll face these headaches and win. You’ll win the battle and the war, creating a solid plan for the future. Instead of avoiding the problems, you have what you need to face them head on. It’s tedious at first, but this mentality becomes the gift that keeps on giving. It cements your position as invaluable. It insulates you against disasters — layoffs, job cuts, and internal politics. Being a developer doesn’t have to be a nightmare. Your days don’t have to be filled with fear, stress and anxiety. Peace of mind, job security, abundant opportunities, they’re yours — if you do what others won’t.Frequently Asked Questions (FAQs) about Web Development
Why should I make the worst parts of web development even worse?
The idea behind making the worst parts of web development even worse is to challenge yourself and improve your skills. By focusing on the most difficult aspects of web development, you can identify your weaknesses and work on them. This approach can help you become a more versatile and competent web developer. It’s about embracing the challenges and using them as opportunities for growth and learning.
What are the most challenging aspects of web development?
The challenges in web development can vary depending on your skills and experience. However, some common challenging aspects include keeping up with the latest technologies, understanding complex algorithms, dealing with browser compatibility issues, and ensuring website security. These challenges can be daunting, but they also provide opportunities for learning and growth.
How can I improve my web development skills?
There are several ways to improve your web development skills. First, practice is key. The more you code, the better you’ll get. Second, always be open to learning. Web development is a field that’s constantly evolving, so it’s important to stay updated with the latest technologies and trends. Third, don’t be afraid to ask for help or seek feedback. Other developers can provide valuable insights and advice.
Is web development a good career choice?
Yes, web development can be a rewarding career choice. It offers a wide range of opportunities in various industries. As businesses continue to recognize the importance of having a strong online presence, the demand for skilled web developers is expected to grow. Additionally, web development offers a good salary potential and the possibility to work remotely.
What’s the difference between ‘worse’ and ‘worst’ in the context of web development?
In the context of web development, ‘worse’ and ‘worst’ are used to describe the level of difficulty or complexity of a task or problem. ‘Worse’ is a comparative adjective used to compare two things, while ‘worst’ is a superlative adjective used to describe the highest degree of difficulty or complexity.
How can I deal with the frustration of web development?
Dealing with frustration in web development involves adopting a positive mindset, taking regular breaks, and seeking help when needed. It’s important to remember that challenges and setbacks are part of the learning process. Don’t be too hard on yourself and remember to celebrate your progress and achievements.
What are some alternatives to web development?
If you find that web development isn’t for you, there are many other fields in technology you can explore. These include software development, data science, cybersecurity, and IT management. Each of these fields offers unique challenges and opportunities.
How important is grammar in web development?
While grammar might not seem directly related to web development, it’s important in terms of writing clear and understandable code comments, documentation, and communication with team members. Good grammar helps ensure that your ideas and instructions are conveyed accurately and effectively.
What are some signs that I should consider a career in web development?
If you enjoy problem-solving, have a keen attention to detail, and have a passion for technology and design, a career in web development could be a good fit for you. Other signs include enjoying learning new things, being comfortable with spending a lot of time on a computer, and having a good understanding of how websites work.
How can I stay motivated while learning web development?
Staying motivated while learning web development can be achieved by setting clear goals, celebrating small victories, and maintaining a healthy work-life balance. It’s also helpful to join a community of learners or developers where you can share your experiences and learn from others.
Andrew McDermott is the co-founder of HooktoWin and the co-author of Hook: Why Websites Fail to Make Money. He shows developers and designers how to attract and win new customers.