Recently I had to explain what I do (.net c# back end developer) to someone not technical at all and as anyone who works in a similar field will know this isn’t always an easy task.. mainly because in programming there isn’t exactly something you see e.g. no pretty design or something a non technical person will understand.
The way I explained it was liking the whole web development life cycle to a house.. this would include
- Front end
- Back end
This is how it goes..
What design is
Design in terms of a house would be simply the drawing of a house, were not talking about ux here.. simply put a pretty picture of your house. It will look like a house, but doesn’t exist in physical form yet.
What UX is
Ux (user experience) in terms of a house would be taking the above design and checking that all of the components of the house (the doors, windows, ceilings etc) make for a nice user experience, e.g. the door is big enough for someone to get through, the windows are able to open, the colour of the house is appealing to the eye and so on.. this is basically applying logic to a design to check that the design makes sense and isn’t just pretty for the sake of pretty.
What front end is
Front end in terms of a house would be taking the above design of the house and actually making the house pieces and putting it all together, e.g. making the foundations, the doors, the windows, the roof etc.. after this is all done you will have a physical house, however the key thing here is none of the house will actually be functional. You won’t be able to open the door, the windows won’t work, the electricity doesn’t work and so on.. the front end job is simply to make the house look like a physical house but without and logic to let the house do anything. This is where the back end comes in.
What back end is
Leading nicely onto the back end, you now have a shell of a house and what the back end will do is to make all the pieces of the house work. E.g. when you pull on the door handle the door knows to open, when you open the fridge it knows to turn the light on inside of it and to keep cool, when you press the “on” button on your tv remote the tv knows to switch on.. and so forth. Basically everything that happens behind the scene is the back end, this is why it is so hard to explain and show.
What the role of a database would be
One way of explaining a database in terms of a house would be e.g. a heater timer, e.g. you set your heaters to turn on from 8am to 8pm.. the house will use a database to store these times, without it there isn’t anywhere the house can store this data in.