Re: to work with vs for vs at
All of them can mean the same thing: ie that you have been hired by Company X, and are "working for" them.
"Working with" Company X can also mean that you are not necessarily employed by the firm, but are co-operating with the firm on a project.
"Working at" Company X can also mean that you are employed by someone else, but are doing your job at Company X's premises - as a Consultant, for example.
I'm not a teacher of English, but I have spoken it for (almost) all of my life....