Application Developers or Systems Engineers are known to be a complex type of job. In this job, system engineers are the one who design and coordinate large and complex projects, known as information system. There are different form of information system, from it's scope and limitation in terms of implementation.
I am also a free-lance software developer in our local community. I learn how to make application software since college and now, I am handling clients outside of our institution. I learn how to handle big and large projects with my programming tools. It is a complex type of task because you need to master at least one programming language as your tool in system engineering.
Systems Engineering has a proper discipline which somehow you need to follow in system development. You need to practice project management skills because this is one of the basic things you need to consider in software development.