You're preaching the virtues of submission. Don't let others make you feel this way.

- Making mistakes will kill you, when you sit at home working on your personal projects and a bug slips through, it's not so bad, you can fix them and the client (or yourself) is normally pretty cool with it. On the other hand, when it's someone elses fault, E.G. yourself, your boss will come down hard on you. That's his project, his clients and his shame, if you make mistakes in a commercial environment, it costs someone money - get in to the habit of being your own quality assurance.

Mistakes won't kill you. Pain must be felt. Risks must be taken. Take responsibility for your work but remember that being protected from the reaction to your work is bad.

- Your wage is shitty. Well, mine is, anyway. You have to learn to deal with this, I could go in to detail about finding housing and the lack of respect you face when you need housing benefits, etc, or can't eat for a few days, but there's no need. Get used to having no money and always put as much as you can aside for that rainy day you think you are immortal from at the moment.

Get confidence in your own abilities and then solve the money problem. Get confidence by being really good. And I don't mean wait for your boss to tell you that you're good, I mean look around Hacker News and find those that are good and then do as they do.

- Give your boss respect, he may be friendly but he isn't one of your friends, you can joke with him but at the end of the day don't forget that this (wo)man pays your wages and evaluates your work, if you're making a lot of jokes but you have a week where your work goes wrong, the evaluation will be that you're the class clown.

Don't give anybody respect just because they have authority to evaluate you. Give them respect because they are worthy of your respect. Do your best; if you're cracking jokes and things go wrong, it's significantly better than if you were being dead serious and things went wrong. A positive, fun atmosphere increases the chances of people working well together and getting shit done.

- Always be early, never be late. Your boss doesn't notice the fact that you come in early every day (by 15 minutes), what he does notice is the one day you're ten minutes late and unfortunately the hours aren't interchangeable. If you make a habit of being late, you are going to get fired, this isn't college where you could turn up to a lesson 15 minutes late and get a giggle from your peers for being that guy, this is the real world, where lateness isn't tolerated for very long.

- Arrogance is bad. You aren't arrogant, but you have an opinion and you come across as it, starting sentences with "actually, I think" or "No, that's wrong..." will land you in the shit, especially in front of a client. Your boss wants to appear to be an all singing, all dancing super coder and until you have a few more years under your belt, your opinion is largely invalid. However, if something is seriously wrong, drop your boss an email or a skype or a campfire (That's a thing, right?) and explain why in the least condescending way possible, if you do this tactically and only at the right times it will look very good on you.

Care about being right, constructive and doing lots of high quality work. I wouldn't give a fuck if somebody thought my opinions were 'largely invalid' because there are few opinions in technology: when you want to win you should call upon hard facts! If you want you can massage your bosses ego a little bit but all of this talk of turning up early and bowing to people even when they are wrong has little to do with good business and everything to do with egos and social decorum.

Have you thought about moving to London?