use whatever programming language you need to use to solve the problem at hand. you may find that there are several which you use quite frequently as favorites.
Mine are: NSIS installer, SQL, PHP, C++, Perl, Java, Assembler, JavaScript, Auto-it, Tcl, BASIC, flex, & bison (or lex and yacc, they are for writing compilers). I used to use some others, but I left them off the list. I don't focus on Java anymore. it always requires that virtual machine, and not everybody is smart enough to install it, and the Oracle license conflicts with the GPL license I use, so I can't distribute it with my programs in my installer that I write.
- Delphi is a popular language for apps. but it's expensive. it's a pascal.
- Lisp is used in some places for circuit design and also in Autocad.
- you may choose INNOSETUP for your installer, it's much simpler, most everyone does.
just google the word tutorial and the language you are looking for.
- avoid cute programming tricks. try to make code that is readable/understandable by you and someone else.
- learn how to spell and use grammar. critical skill in
- learn what you can about communicating with people. you will need it on the job regularly.
- learn to think in logical steps. be able to do walkthroughs of someone's code in a group.
- learn SQL if you can eventually and how to work with databases. DBAs are usually in some sort of demand somewhere. so are people that can develop client/server apps. there are college classes for this.
- learn what tools you have. this may require digging into the compiler's header (.h) files to see what's there. once you know what tools you have, be inventive with the tools you've got. learn how to use the libraries that are there.
- learn how to create cross-platform code someday. this is usually done through #ifdef statements. cross-platform coding is desirable by large companies who have multiple types of systems, including legacy (old) systems.
- learn to read licenses and EULAs and know when there is a conflict and how to resolve it if there is a way. usually this is best left to legal departments. But if you are a freelancer and you don't have a legal department, get a lawyer to draw up a license for you so tyou can make money. then find a compiler which has a license agreement whose distribution and usage rights don't conflict with how you intend to distribute your code. I find that the microsoft compiler limits me too much.
- Always do your best. strive for Excellence.
Learn how to use the Win32 API or MacOS's API or POSIX to make utilities.
Today, games are very popular. there are game engines for making games, which are typically shoot-em-up's. I don't care for games, I like writing utilities myself. There are women gamers out there, maybe you can make a Women's game engine. Be inventive. What strikes your fancy? there are other things you can write. one company made a whole money-making niche market out of scrapbooking software, associated consulting, and related goods. the software could have been written better though. If your thing is Science, that's a whole industry in itself. Scientific applications abound in just about every sphere. maybe there's a niche nobody has touched. and there is the CUDA-based GPU supercomputing cards called the NVidia Tesla to work with.
If you do Embedded Systems Engineering (uses Software Engineering), you can make devices that have processors in them that do things. If you want to tinker with Embedded Systems, Radio Shack has the Arduino and BASIC STAMP kits. I think the arduino is programmable with a C cross-compiler like gcc.
you learn more if you teach yourself. Books help: O'Reilly usually makes the best books.
you have a good start. learn BASIC as well. VB especially and sometimes C# are used for database applications in corporate settings in addition to Microsoft Visual FoxPro.
college could be a very good idea if you are looking to land a job. I don't remember whether they are looking for Master's or Bachelor's now. If you can find a job and work while you go through college, this would be good too. College loans are not fun.
you can write apps for mac or PC or linux, your choice, but there are more jobs using a PC by far. PC also has better access to different compilers and platforms (except the mac platform). you can install windows on a mac, but it's touch and byebye windows.