Arsitektur aplikasi atau sistem bisa dibagi menjadi dua bagian, bagian front end dan bagian back end. Bagian front end adalah bagian yang ditampilkan kepada pengguna. Sebagian besar tampilan aplikasi sekarang adalah dalam bentuk web atau website. Bagian back end adalah tempat perhitungan (process business) dilakukan. Pada bagian back end juga dilakukan interaksi dengan Database.Full stack developer adalah programmer yang menguasai semua bagian dari front end sampai back end.Programmer full stack banyak dibutuhkan sekarang ini karena mereka bisa bekerja dengan cepat dan efisien. Untuk menjadi programmer full stack kamu harus belajar web programming mulai dari Html, Css, JavaScript dan jQuery pada bagian front end. Kemudian kamu harus menguasai bahasa pemrograman Java. Pada bagian back end kamu juga harus menguasai framework back end seperti Hibernate, Sql dan Java Spring.