I'd start by telling everyone, with some degree of detail, where you are and what your background and experience is.
Most people get their start by working for a CI firm and learning how to program on the job and via supplier product training.
My own experience with guys that want to be programmers is that they often just want to do a course or 2 and get hired to program which pretty much never happens.
I've been through this before with results as follows:
Give a young guy a job as an installer so he gets an understanding of how systems work and go together (on the basis of him becoming a programmer) and send him off to do courses on RTI, Crestron programming, Pronto (at the time)and C-Bus and give him ample opportunity during work hours to hone his programming skills up until he reaches a point where he is given his first project of any substance (but not a big or difficult one).
Up until this point he is super confident in his abilities and as soon as he is given this project he wants an office of his own to work in, which he got and started demanding more money befitting a Crestron programmer. He was told that before he gets a big pay rise that maybe he should deliver at least one completed programming project before he gets it. 3 weeks later and it's clear that he is in over his head. Bugs everywhere in the system and he is trying to roll the system back to becoming RTI controlled. Before the first project is completed he left to become a C-Bus programmer for an electrical company, taking his 100K education at our expense with him.
My point is that if you have no experience, you need to start with the basics and put time in there to learn the craft. You will never be a great programmer worth hiring if all you can focus on is getting to the full time programming bit. It's one thing to learn the software, it's another to create a nice UI that people like to use and is simple. Likewise you need to know how to trouble shoot why some things are not working and how to correct those things.
This ended up way longer than i intended.
I guarantee I'll tell you the truth and I guarantee I'll tell you what you need to know but I can't guarantee that I'll be telling you anything you want to hear.
I don't know where you are in terms of age, skills, or requirement for current income. A good plan for a young person would be to adopt a remote control system as a hobby and program a remote. then try to convince someone to adopt this as their remote. Ask what is good and bad about your scheme. Try this with as wide an audience as possible. If you enjoy the process and the result is accepted by a group of potential users, you have a career path.
You don't need much remote hardware to do this. Global Caché offers a range of hardware interfaces for IR control and a growing number of products can be controlled over the home network without using any hardware "boxes". You can find very inexpensive software platforms that can send IP commands to Global Caché and directly to Receivers, Blu-ray, etc. For less than $150 or so you can get started. The user interface is up to you to work out.
What kind of human and machine interactions do you want? How confident are you in your own abilities? Are you a generalist or a specialist? Can you solve a wide range of problems? Do you want to be a super specialist or a generalist? An example of a super specialist would be someone who exclusively programs one system, such as Crestron, URC, RTI, or whatever. Do you want to work for yourself or someone else?
I have encountered programmers who never go to a site. They work with furniture companies and similar that deliver and hook up boxes, then contract with the programmer to stitch things together using online tools. There are merits to this approach. These are essentially "cookie cutter" systems and the programming can be done in a few minutes by an experienced person. The goal is to crank out as many installations as possible. While this is a perfectly acceptable business model, it is not for me. I am a generalist and prefer to be thrown into an unfamiliar environment and "shoot my way out." There are advantages to both approaches. The super narrow specialist is much faster at programming, but more limited in terms of problem solving. I can drop into a site, very confident that I'll be able to solve the problem, whatever that might be. In some cases, solving the problem for the customer involves calling in an appropriate specialist, such as a licensed electrician, HVAC guy, or plumber.
The disadvantage of being a generalist is that there is always a specialist who can be more efficient at each little task. The disadvantage of being a super specialist is that when technology changes, that specialty may become worthless in the marketplace.
A good approach to break into any career is to "sweep floors" for a while and learn as much as possible. A warning: If you are a formal software engineering type, I think that you will find this branch of "programming" irksome because there is a strong tendency to shoot from the hip.
Find a local integrator and offer your services. You'll be sweeping floors for a while, but gaining valuable experience. Hang out with their programmers and take on small projects whenever possible. From time to time, RTI and URC offer free or inexpensive local training. Even if you need to take a day off, go to these classes.
When I watch someone else work or encounter the results of their programming, the takeaway for me is often "don't do it that way!". Initially, you'll probably need to follow the lead of your coworkers, but don't ever forget this valuable lesson. Eventually, you'll develop and be able to sell your own style to coworkers and customers.
I have developed a user interface style that I have found resonates well with customers. Part of my "style" is face to face interaction with the customer. I need this interaction because I want to discover what "easy" means to that customer. "Easy" means different things to different people. For some it is the absolute minimum number of buttons. Anything beyond "Watch TV" and a numeric keypad for the channel numbers is "complicated". Then there is the customer who loves buttons and wants buttons for this, that, and the other "scene" -- this drives his wife crazy. His custom remote probably includes more buttons than the combined total for the native remotes, but he loves it. If you work for someone else, initially you will probably not have the opportunity for much interaction with customers. For me this "quarantine" period was short to non existent, but your mileage will vary. (but back then universal remotes were still products in my imagination and I couldn't raise enough capital to bring out a product)
No two CI (custom installation) firms are the same. At one company a "remote programmer" could be very busy with a full time job of just programming remotes for single room systems. At another company all of the installers are expected to be "remote programmers" leaving more advanced programming for the full time programmer.
Most of the full-time-job programmers i know fit into 2 categories.
#1.They started as an installer. #2.They started as an IT professional.
The installers typically have an easier time learning the programming tools because they know how "signal flow" and how systems ought to be designed...while the IT pros typically do well because our systems rely so heavily on computers & networking.
If you are not already an IT pro or an Installer you have a longer road ahead of you. Follow the advice listed above about looking for work with a local integrator.
Please read the following: Unsolicited commercial advertisements are absolutely not permitted on this forum. Other private buy & sell messages should be posted to our Marketplace. For information on how to advertise your service or product click here. Remote Central reserves the right to remove or modify any post that is deemed inappropriate.