>Do you do the flow chart first or go straight to the code?
This question assumes that the only alternative to diving into code is drawing a flow chart. I'm anal about careful design before writing code, but I rarely draw flowcharts unless some management type asks for it.
>I find it easier to do the code first for some reason, maybe this is bad?
You'll discover that past a certain level of complexity, this hacker mentality begins to break down quickly. This is the biggest problem I have with hiring rookies. They don't have sufficient experience to appreciate the critical role design has in a successful project.
Flow charts are basically an awful way to design a program and an awful way to represent the design of a program. If you asked me to name any "good" ways to _represent_ the design, I couldn't. But I think type systems are pretty good.
The very idea of just jumping in and coding is completely nonsensical. It's not like you just jump in and write code that (somehow) will lead you to the solution. You surely need think about what information you will be manipulating and how you will communicate information first. The phrase "what information you will be manipulating and how you will communicate information" is also called "the design".