Depends on what kind of pack you want to make what you'll need. Here's a recommended software list. Generally, you'll want one from each category that you intend to use.
Text Editor: No matter what, you'll need a good program capable of editing .json, .txt, .properties, and .mcmeta files. These plain text files often have formatting rules that a notice user doesn't understand, so it's best to have an editor capable of preserving or easily setting these properties.
Notepad++ - Wonderfully friendly for even the newbiest of beginners and powerful for advanced users. Highly recommended. (Freeware for Windows or Linux via WINE)
Visual Studio Code - More geared towards basic programming, it still works for the simple stuff as well. Make sure to download the plugin for .json files when working with those. (Freeware for Windows, Linux, and MacOS)
jsonlint - BOOKMARK THIS!!! It's not an "editor" really, but a powerful tool for checking your .json markup. If ever something isn't working with a .json file, this is your first resort. Please use this before asking about it on the forum. You'll save everyone (including yourself) a lot of time. (Freeware for anything running a web browser)
Archive Manager: When working on a pack, you can work from a folder within the /resourcepacks/ main folder. You don't need to zip your pack while its in progress. But once you publish it, you'll want one of these. Make sure to set the output to .zip as its the only format that Minecraft recognizes!
WinRAR - Super easy to use for all skill levels and comes with some great tools. (Nagware/Trialware that never expires for Windows, Linux, FreeBSD, and MacOS)
7-Zip - Excellent archive manager with arguably the best native format available... which isn't useful for resource packs just a nice thing to have available. Takes some getting used to. (Freeware for Windows)
(Note: The file manager that comes with your operating system can probably be used for this as well as most work with .zip archive files. However they're often difficult to use unless you know exactly what you're doing and may add extra files that cause problems. The MacOS file manager is notorious for this. However if you're on an Ubuntu-derived version of Linux both Nemo and Nautilus work just fine, and I suspect most other native Linux file managers do as well.)
Graphics Editing Software: If you're planning to make your own textures, then you're going to need some software for that. Microsoft Paint does NOT support transparency, and so is absolutely NOT a viable tool for making textures. I suggest the following:
paint.net - Simple enough for beginners but powerful enough for advanced users. Not the best for advanced photo editing, but more than enough for making Minecraft textures. (Freeware for Windows)
GIMP - A powerful tool with a steel learning curve. More geared towards photo editing, but makers of high-res packs will likely appreciate some of its features. (Freeware for Windows, Linux, and MacOS)
Krita - Geared more towards digital painting, trying to use this for pixel art might require some setup. (Freeware for Windows, Linux, and MacOS)
Aseprite - Quite possibly the best dedicated pixel art editor available right now. (Purchase from that website or on Steam for Windows, MacOS, or Ubuntu Linux. Alternately, the source code is available and can be complied for free if you know how or are willing to look it up.)
PixlrIf you absolutely CANNOT install software for whatever reason (like being locked to a school computer), then this is an online image editor that works through your browser. It's not great, but it does work when all else fails. Just make sure to save your work locally. (Freeware for anything that runs a modern web browser)
Model Editor: Not ever pack needs to edit models, and this is a pretty advanced feature. But if its something you want to do, using a dedicated editor is a whole lot easier than trying to decode the arcane .json files that the game uses natively.
Blockbench - Built from the ground up to make models specifically for Minecraft resource packs. (Freeware for Windows, Linux, MacOS, or anything that runs a modern web browser via the WebApp version.)
Audio Editor: If you really want to work with audio I suggest obtaining and working with professional software. But for simple things, here's a short list to get you started:
Audacity - Basic audio editing software. You won't be composing music on this, but it's good for reformatting audio files to Minecraft's native .ogg format and doing simple recording and manipulating. (Freeware for Windows, Linux, and MacOS)
As for advice...
Making a resource pack can be a really large, really daunting project. You're not going to finish it in a day unless you're doing something ridiculously simple. It'll take weeks, months, and possibly years to get something really amazing. Do your best to tailor the scope of your project to the time that you realistically have to work on it and be very, VERY patient with yourself.
Its also important to realize that Minecraft is not the most flexible of beasts. At some point you will come up with an amazing idea for a pack, ask how to accomplish it, only to be met with a hard "you can't" because Minecraft just simply wasn't built to allow you to do whatever brilliant thing you just thought of. I don't mean to disillusion you, but I want to be up front with this. Resource Packs are ultimately pretty limited so while you should absolutely keep thinking of awesome ideas and researching them, do be prepared to be told "no" from time to time.
Finally, and this is important, get feedback on your work. I know, being told your work is bad isn't fun. But it is important to listen to more experienced artists who will tell you not only when you're doing something wrong but also hopefully how to improve it. Look up reference material, tutorials, whatever it takes to improve yourself as an artist. As with making the pack itself, this isn't going to happen quickly. It'll be a slow and often frustrating grind. That's OK! This isn't school and you're not expected to get things right the first time! Take your time, get it right, and try your best to enjoy the journey.
What programs are currently used to create resource packs? What advice would you give to a newbie and middle?
Depends on what kind of pack you want to make what you'll need. Here's a recommended software list. Generally, you'll want one from each category that you intend to use.
Text Editor: No matter what, you'll need a good program capable of editing .json, .txt, .properties, and .mcmeta files. These plain text files often have formatting rules that a notice user doesn't understand, so it's best to have an editor capable of preserving or easily setting these properties.
Notepad++ - Wonderfully friendly for even the newbiest of beginners and powerful for advanced users. Highly recommended. (Freeware for Windows or Linux via WINE)
Visual Studio Code - More geared towards basic programming, it still works for the simple stuff as well. Make sure to download the plugin for .json files when working with those. (Freeware for Windows, Linux, and MacOS)
jsonlint - BOOKMARK THIS!!! It's not an "editor" really, but a powerful tool for checking your .json markup. If ever something isn't working with a .json file, this is your first resort. Please use this before asking about it on the forum. You'll save everyone (including yourself) a lot of time. (Freeware for anything running a web browser)
Archive Manager: When working on a pack, you can work from a folder within the /resourcepacks/ main folder. You don't need to zip your pack while its in progress. But once you publish it, you'll want one of these. Make sure to set the output to .zip as its the only format that Minecraft recognizes!
WinRAR - Super easy to use for all skill levels and comes with some great tools. (Nagware/Trialware that never expires for Windows, Linux, FreeBSD, and MacOS)
7-Zip - Excellent archive manager with arguably the best native format available... which isn't useful for resource packs just a nice thing to have available. Takes some getting used to. (Freeware for Windows)
(Note: The file manager that comes with your operating system can probably be used for this as well as most work with .zip archive files. However they're often difficult to use unless you know exactly what you're doing and may add extra files that cause problems. The MacOS file manager is notorious for this. However if you're on an Ubuntu-derived version of Linux both Nemo and Nautilus work just fine, and I suspect most other native Linux file managers do as well.)
Graphics Editing Software: If you're planning to make your own textures, then you're going to need some software for that. Microsoft Paint does NOT support transparency, and so is absolutely NOT a viable tool for making textures. I suggest the following:
paint.net - Simple enough for beginners but powerful enough for advanced users. Not the best for advanced photo editing, but more than enough for making Minecraft textures. (Freeware for Windows)
GIMP - A powerful tool with a steel learning curve. More geared towards photo editing, but makers of high-res packs will likely appreciate some of its features. (Freeware for Windows, Linux, and MacOS)
Krita - Geared more towards digital painting, trying to use this for pixel art might require some setup. (Freeware for Windows, Linux, and MacOS)
Aseprite - Quite possibly the best dedicated pixel art editor available right now. (Purchase from that website or on Steam for Windows, MacOS, or Ubuntu Linux. Alternately, the source code is available and can be complied for free if you know how or are willing to look it up.)
PixlrIf you absolutely CANNOT install software for whatever reason (like being locked to a school computer), then this is an online image editor that works through your browser. It's not great, but it does work when all else fails. Just make sure to save your work locally. (Freeware for anything that runs a modern web browser)
Model Editor: Not ever pack needs to edit models, and this is a pretty advanced feature. But if its something you want to do, using a dedicated editor is a whole lot easier than trying to decode the arcane .json files that the game uses natively.
Blockbench - Built from the ground up to make models specifically for Minecraft resource packs. (Freeware for Windows, Linux, MacOS, or anything that runs a modern web browser via the WebApp version.)
Audio Editor: If you really want to work with audio I suggest obtaining and working with professional software. But for simple things, here's a short list to get you started:
Audacity - Basic audio editing software. You won't be composing music on this, but it's good for reformatting audio files to Minecraft's native .ogg format and doing simple recording and manipulating. (Freeware for Windows, Linux, and MacOS)
As for advice...
Making a resource pack can be a really large, really daunting project. You're not going to finish it in a day unless you're doing something ridiculously simple. It'll take weeks, months, and possibly years to get something really amazing. Do your best to tailor the scope of your project to the time that you realistically have to work on it and be very, VERY patient with yourself.
Its also important to realize that Minecraft is not the most flexible of beasts. At some point you will come up with an amazing idea for a pack, ask how to accomplish it, only to be met with a hard "you can't" because Minecraft just simply wasn't built to allow you to do whatever brilliant thing you just thought of. I don't mean to disillusion you, but I want to be up front with this. Resource Packs are ultimately pretty limited so while you should absolutely keep thinking of awesome ideas and researching them, do be prepared to be told "no" from time to time.
Finally, and this is important, get feedback on your work. I know, being told your work is bad isn't fun. But it is important to listen to more experienced artists who will tell you not only when you're doing something wrong but also hopefully how to improve it. Look up reference material, tutorials, whatever it takes to improve yourself as an artist. As with making the pack itself, this isn't going to happen quickly. It'll be a slow and often frustrating grind. That's OK! This isn't school and you're not expected to get things right the first time! Take your time, get it right, and try your best to enjoy the journey.
I hope that all helps you.