Honestly, the only way to learn to program well without a background in another engineering discipline is going to be spending years learning. That said, you don't have to spend those years in school necessarily (though it will certainly improve your hireability).
If you are coming into programming with no background in technical fields, the sciences or engineering there are whole fields you will have to learn to be comfortable with. You will need to learn new types of math, because even taking calc I doesn't mean you know the types of math that are used in programming (think linear algebra, statistics and combinatorics, logic, different base number systems, formulas and computability).
You will also need to know a decent amount about engineering considerations like knowing when and where to optimize, how to manage maintainability vs. produce immediately, how to design things such that you aren't constantly redesigning every other piece of a complex system when specs change, etc).
Finally, you will need to gain a very good working knowledge of computer science and computer skills meaning not only the keywords to type into a text file to make python do a certain thing, but how to deal with large volumes of text (search, edit, archive), how to modify your operating system (add libraries, activate kernel level functions, version management, backups, network configuration, possibly database configuration, etc), and how to modify your programming environment (X only runs with library versions XX.X.X, but my other project requires version Y.YY, using debuggers, etc).
While you could dip a toe into each of these areas in an excellent coding bootcamp, the likelihood of you even finding one is low, and the value of that is still far less than what they typically charge. You would be much better off finding a local programming group and sitting around there once a week or month and talking about programming, while pouring over every resource you can find about both your chosen programming language and programming in general. Chiefly, write and read tons of code. When you're not doing that, read stuff writen by people who write and read tons of code. Don't read stuff written by some guy who is a web designer who writes a little javascript and python for his clients, read stuff by people who write C all day every day. Read stuff written by the developers of your chosen language.
Unfortunately programming is one of those things where there is no easy in-road, no shortcut that actually will get you to proficiency... But if you take the time to become a real programmer you will be able to walk in anywhere and get a job, because real programmers are quite rare.
Honestly, the only way to learn to program well without a background in another engineering discipline is going to be spending years learning. That said, you don't have to spend those years in school necessarily (though it will certainly improve your hireability).
If you are coming into programming with no background in technical fields, the sciences or engineering there are whole fields you will have to learn to be comfortable with. You will need to learn new types of math, because even taking calc I doesn't mean you know the types of math that are used in programming (think linear algebra, statistics and combinatorics, logic, different base number systems, formulas and computability).
You will also need to know a decent amount about engineering considerations like knowing when and where to optimize, how to manage maintainability vs. produce immediately, how to design things such that you aren't constantly redesigning every other piece of a complex system when specs change, etc).
Finally, you will need to gain a very good working knowledge of computer science and computer skills meaning not only the keywords to type into a text file to make python do a certain thing, but how to deal with large volumes of text (search, edit, archive), how to modify your operating system (add libraries, activate kernel level functions, version management, backups, network configuration, possibly database configuration, etc), and how to modify your programming environment (X only runs with library versions XX.X.X, but my other project requires version Y.YY, using debuggers, etc).
While you could dip a toe into each of these areas in an excellent coding bootcamp, the likelihood of you even finding one is low, and the value of that is still far less than what they typically charge. You would be much better off finding a local programming group and sitting around there once a week or month and talking about programming, while pouring over every resource you can find about both your chosen programming language and programming in general. Chiefly, write and read tons of code. When you're not doing that, read stuff writen by people who write and read tons of code. Don't read stuff written by some guy who is a web designer who writes a little javascript and python for his clients, read stuff by people who write C all day every day. Read stuff written by the developers of your chosen language.
Unfortunately programming is one of those things where there is no easy in-road, no shortcut that actually will get you to proficiency... But if you take the time to become a real programmer you will be able to walk in anywhere and get a job, because real programmers are quite rare.