Enterprise applications in big corporations pose a specific set of challenges that software developers do not encounter on smaller projects.
First, enterprise applications tend to be very complex. It is not an exception for an enterprise application to have dozens to hundreds interfaces, reports, processing rules, adapters etc. The sheer numbers of the system make it very difficult to grasp.
Second, the business logic in enterprise applications can be very complex. Such applications are usually huge back end systems that provide global services to all departments of the whole enterprise.
Third, enterprise applicationy are usually very long-living. As a result, they utilize outdated technologies and patterns. Heavy-weight, monolithic application servers with strictly defined layers of logic and hardwired dependencies are difficult to deploy and to adapt.
Fourth, the enterprise IT is often very business-centric. Your stakeholders, such as business colleagues, project managers and analysts have a deep knowledge about how their business works. As a developer, you often lack the specific knowledge and have to close this gap before you can successfully work in the given line of business.
Fifth, the development models in big organizations are often unflexible. Most enterprises still utilize the waterfall model which makes adaptations difficult.
And, finally, there are bureaucratic hurdles. You need a lot of access permissions, certificates, software licenses, tool installations and approvals before you can even start working. The setup of your working environment on a new project can literally take months.
All of this is disconcerting. But here is the good news: There is a way of mitigating all of the problems mentioned above. I will show you in this course how you can set up a working mode for yourself that enables high quality of your results and efficiency of your work, regardless of the complexity of the system and your familiarity with it.
The course is based on theoretical concepts, but I will not bore you with theory too much. Instead, we will have a practical tutorial. During the course, we will walk through a simulated scenario in a fictive enterprise corporation where we will receive a functional requirement and implement it. The scenario is kept close to the real-live work in an IT department of a complex enterprise. We will use Java as programming language and make our hands dirty by writing the code.
Let’s also agree on what this course is not about.
This course is not a beginner programming tutorial. You will not learn the basics of Java here. To gain the most from the course, you should be already familiar with basic programming knowledge, especially with object-oriented programming languages, such as Java. You don’t need industry experience, however, to understand the topics in this course. On the other hand, I am sure that you will profit from this course even if you are a seasoned software developer.
Thanks for your interest. Enjoy the course.