"Professional" is one of those words that gets thrown around a lot.
Technically speaking, the definition of a profession comes with a variety of legal ramifications. For example the profession will be officially recognized by the government and this enables legal protection of title. A certifying college will establish competence in the field and supervise the maintenance of that competence. It will also provide recourse for complaints and investigations in the form of a disciplinary committee.
By this definition, an IT consultant or programmer would not generally be considered a professional. No one has the legal authority to prevent someone else from using the designation "programmer" (at least not that I'm aware of).
That said, they term professional is often less formally used as a reference to a white collar worker, usually someone who makes a good living by providing services with a strong intellectual component. In that sense an IT consultant or programmer may be lumped in with the term "professional."