Writes and compiles code and constructs database objects based on documented design and analyzes information to determine architecture specifications, parameters for software compatibility, application security needs and other application architecture requirements