I would like to start learning how to customize apps and web pages.
Adrian's suggestion are good places to start, in particular the Javascript and HTML for web pages. Python would be more for geoprocessing scripts and tasks, which is a must (in my opinion) for GIS, but more advanced when talking about apps and web pages (i.e. may need ArcGIS Server for GP services).
ArcGIS Online http://www.arcgis.com/home/index.html gives you many options for "configuring" maps/apps/web pages without having a strong JS/HTML background. You can sign up for a free account (start http://www.arcgis.com/features/features.html ) if your organization doesn't have one already.
You also have an option to configure AND customize using the Web AppBuilder developer edition. The user comunity has quite a few custom apps that allow you to extend the out-of-the-box (OOTB) version with little or no progamming skills, and this is a great way to learn how others program. It is a great way to learn (i.e. learning to read code) and a good programmer learns to not reinvent the wheel but massage or improve on it. I have a series of blogs that will help with WAB developer edition, and the latest version WAB 2.5 was just released today (7/19/2017), so good timing on that.
/blogs/myAlaskaGIS/2016/03/09/web-appbuilder-developer-edition-customization-resource-list?sr=search... main list and has links to the other blogs,
/blogs/myAlaskaGIS/2017/03/04/web-appbuilder-the-custom-widgets-list-332017?sr=search&searchId=9944b... to see some of the customization others have done. With the 2.5 release, some of these custom widgets may now be part of the core....too early to know.
If you need a developer license, you can get a free account and Get Started with ArcGIS For Developers | ArcGIS for Developers is a good place to start. Ont he main page, you can find a link to the Javascript API (pulldown) with all the documentation and a bunch of samples and a "sandbox" where you can play and see your changes in realtime. This is also a great what to learn.
Watch the recorded tech session videos, do some of the free online classes, etc. I've been doing this development for years and I would definitely not call myself an expert and any of it...but learning where you can find the answers online, and using Geonet when you get stuck (hint...make sure to post in the correct location, include software and development environment and version,follow https://community.esri.com/people/curtvprice/blog/2014/09/25/posting-code-blocks-in-the-new-geonet?s... when asking questions, etc)