Move Up a Level

I was looking at some website code today, as I do most days, trying to figure out why it didn't work the way I wanted it to. I tried a few things but none of them were working. Some would sort of work, some wouldn't work at all. I was writing out one language with another and the syntax was getting complicated.  I just couldn't get my wrapped around what exactly I had to do. There had to be a better way to do this than just bash my head against it and get frustrated in the process.I needed an outline.All through school we were told to write an outline or table of contents before writing anything. Whether it was a essay, a paragraph or an entire book, an outline or overview is invaluable when organizing the ideas your about to write. You can organize your ideas before putting any sort of details down. It's a good idea to re-arrange them here if you need to before getting into writing.The same idea applies to coding. It's really tough to start a program or website with coding. You may be able to bash your way through it but chances are you going to code yourself into a corner and have to change a lot to make it work. When you work with an outline you see the big picture. You can see further ahead. Liken it to a war on words or code. You won't be able to see very far when you're working in the trenches. Climb up to a tower or fly in a helicopter and you'll be able to see for miles.So to figure out my coding dilemma I wrote out some comments describing what I wanted to do. They provided a good outline of what I was trying to do in a language I could easily understand,  instead of a language within a language. I made a comment for each little thing that I wanted to do. All I had to do from there was translate the comment into code. Doing each step individually was what got me through.When you're trying to do everything all at once, it can become too much. Figuring out what I wanted to do, put those steps into words, write the code for those words in one language and then within another was too complicated for me to do all at once. Doing each step one at a time was much easier.Having the comments as an outline to start with made writing the code much easier. Writing this very post with a bit of an outline makes things easier as well. Removing yourself from the details and moving up a level gives you a broader view of the problem so you can concentrate on the overall solution, not the fine details.One final note. I find talking to others about your problem is a great way to force yourself to describe the big picture. They probably won't know everything you know about your problem so you'll have to fill them in. Filling in the information will make you think about the process and the big picture. Try it sometime.