Learning full stack development from scratch