I meet with the clients, I write down their needs, I turn that into a design document that all developers can understand. From the design document, I write code for each one of those requirements. Once finished, and the testing has been done, I now have a final application.
At this point the client is very happy, I just made his life easier and can now focus more on his own business.
How I got my job:
In my last 2 years in university, I was working on campus as computer technician. My job had nothing to do with programming, but the team use to do a lot of manual processes and I offered to automate most of them and they agreed, the year after that I became their main developer and added that to my resume. In my free time I used to write personal applications, and each time I would pick a new technology and a new programming language.
On the day of my interview, I was very prepared, I had printed out sample code of all of my personal projects along with my 4th year projects. Having those printouts made me feel more comfortable and less stressed but also allowed the interviewers to go through my code, ask more precise questions and feel secure about their hire (me!).
My first job:
I use to help my father in our family business starting at the age of 12. Our business had nothing to do with computers, but had it's own challenges. It involved a lot of mathematical calculations, predictions, quick reflexes and paying a lot of attention to small details.
Best advice I ever got:
"A clever man solves a problem; a wise man avoids it." Try to be like the wise man.