What is back-end programming?
Back-end and front-end are emerging separations of concerns in development, typically these days &quot;web development&quot;. In some shops you have two types of developers, often on separate teams. These different groups of developers often specialize (intentionally or not) and this specialization creates a pretty useful mental model,

Back-end developers are responsible for things not pertaining to the user-interface. This is usually half the work. Their development stops at some fairly arbitrary hand-off point.
Traditionally back-end developers were the only kind of developers because the user-interface was massively simpler and the pool of people that had a complete understanding (&quot;full stack&quot; in modern parlance) was the norm. As the user-interface became more complex and a litany of vocational schools and camps emerged training people for a specific tract of programming there was a need to place those from this pigeonholed and often spoon-fed pool of the workforce. The work load was removed from back-end developers, and the front-end developer was born. Back-end developers today are likely to be skilled with the database, SQL, Perl, Python, C, C++, and will have a thorough understanding of Networking Administration, and System Administration (and may have themselves migrated from when those forms of Administration were more or less employable on their own merits).

Front-end developers are responsible for everything at the hand-off-point forward. Today, professional front-end developers are largely of two camps: Angular and React, previously they were oriented to jQuery, and Backbone like technologies. Today the front-end entails massive libraries, especially Angular, and they take a substantial investment in time to learn, and to stay up to date with. Typical front-end developers are skilled with Angular or React and have extensive knowledge of REST-clients, JavaScript, HTML, CSS, Reactive design, Translation and i18n, Fluid design (mobile vs desktop) and UX concepts.


Some languages straddle both camps pretty well and you'll find a lot of cross over, like Java/Dalvik on Android which creates pretty well rounded programmers, and also Node.JS which permits JavaScript front-end programmers to transition to and from the backend.
As far Database Administrators are concerned, you're likely a Back-End developer if you're here. There are databases (often hosted solutions) that cater to front-end developers which lack a firm understanding of how a database works. One such example is Google Firebase, but shy of being employed at Google you're likely not a Database Administrator in any useful sense for merely using the hosted Firebase service.