Hi, I am a primarily self taught developer and beside some of the old school reference books that were the mainstay of learning software development and server management I would say W3 Schools has a very could basic tutorial. If you are wanting to take people who have some basic understanding and advance them in their skills then some SQL specific classes on udemy or skill share is a good starting point. For even more advanced learning you really need to get into platform specific training such as from Oracle, Microsoft, or your platform of choice. I would be happy to discuss more options and understand your desired outcome over a call.
Hello, as someone usually on the other end my advice would be to first start with credible sources. These can be some of the gig platforms like Guru and Upwork. However, you may want someone more local in which case search for a local developer meetup. Contact the group and ether go to a meetup and meet some of the companies and independent developers or ask them to announce/post an ad for you in their group. Doing this will get you known local developers with a good reputation. It is always best when possible to have someone you can meet with face to face and see the same thing on the same screen. With that I would recommend that some of your requirements for taking on a team or developer is that they use a source control system like git, offer frequent updates (weekly or bi-weekly) on the status of the project and who have examples of previous work along the lines of what you need done.
As someone who has bid and applied for positions like yours I would be happy to help you evaluate teams and developers for making your choice and even help you locate some in your area.
There are several considerations for such a decision. First, I am assuming you are a startup so cost is a definite concern and with that if we were speaking in realtime I would ask you what your expected initial traffic or user load would be. If in the 1,000's then a vps solution from someone like digital ocean may actually be the better solution for you. The main difference of a vps versus AWS or GCP beside cost is the services are all contained on one or more virtual servers verses as a service. Anything you can do on AWS or GCP you can do with some setup on a VPS. A client I worked with in the past jumped to soon to a cloud provider and the costs killed them before they had enough users to cover the costs.
If you are expecting millions of users or traffic requests then the answer of which provider comes down to what stack specifically you are wanting to implement. Both providers offer a SQL DB and even different forms of non-relation DB solutions. Both do handle Python in various ways and both also have solutions for MQTT. So to give a better recommendation would require more specifics from you. I have built an IOT solution and web platform for a client before and would be happy to help you over a call if you need more help.