@emmeesse,
Just to let you know, I have no kids.
But I get angry, just like you do, and like everyone does.
A few ideas:
* Try reframing what's going on. You're annoyed with your son because of... what, exactly? Not putting away toys? Not communicating well? etc. Read up on standard developmental milestones at his age. He might not be communicating well because no kid that age does. Or he might not put away his toys to your satisfaction because it's inevitable that he will see something shiny. So, getting angry at him for these things is like getting angry because he can't perform brain surgery.
* Corollary to the first - manage your expectations. Endurance, speed, and understanding are all less than what you've got. Again, cut him some slack.
* Consider changing things up when you get angry. Try moving to another room, going outside, picking up a pencil, whatever it takes to shift your quite literal perspective. See if that doesn't necessarily calm you down but at least helps you to see his actions or inactions in a more charitable light.
* Parenting books FTW. Consider Dr. Spock's
Baby and Child Care, which is a bestseller for a very good reason (get a recent edition and not an older one). Or something similar. Look at reviews and talk to your parenting friends about what they've referred to. Nobody is born knowing how to do this stuff. A book is useful and not a sign of weakness or giving up.
* Talk with the child's mother (your wife? girlfriend? ex? someone else...?) and get on the same page with as much as possible. Make sure your children are getting consistent messages so you can eliminate confusion as an issue.
And give yourself a break. None of us is perfect.