Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Software Development Tools No-Code Development
Business
Entrepreneurship Communication Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certifications Network & Security Hardware Operating Systems & Servers Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Paid Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement & Gardening Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition & Diet Yoga Mental Health Martial Arts & Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Learning Teacher Training Test Prep Other Teaching & Academics
Web Development JavaScript React Angular CSS Node.Js Typescript HTML5 PHP
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Amazon AWS Cisco CCNA CompTIA Security+ Microsoft AZ-900
Microsoft Power BI SQL Tableau Data Modeling Business Analysis Data Analysis Data Warehouse Blockchain Business Intelligence
Unity Unreal Engine Game Development Fundamentals C# 3D Game Development C++ Unreal Engine Blueprints 2D Game Development Mobile Game Development
Google Flutter iOS Development Android Development Swift React Native Dart (programming language) Kotlin SwiftUI Mobile App Development
Graphic Design Photoshop Adobe Illustrator Drawing Canva Digital Painting InDesign Design Theory Procreate Digital Illustration App
Life Coach Training Neuro-Linguistic Programming Personal Development Personal Transformation Life Purpose Mindfulness Sound Therapy Emotional Intelligence Coaching
Business Fundamentals Entrepreneurship Fundamentals Freelancing Business Strategy Online Business Startup Business Plan Blogging Amazon Kindle Direct Publishing (KDP)
Digital Marketing Social Media Marketing Marketing Strategy Internet Marketing Copywriting Google Analytics Email Marketing Startup Advertising Strategy

DevelopmentSoftware EngineeringSoftware Design

Successful Software Development in Big Corporations

Become Successful Software Developer on Enterprise Projects
Rating: 5.0 out of 55.0 (3 ratings)
10 students
Created by Anton Afanasjew
Last updated 2/2022
English
English [Auto]

What you'll learn

  • Successfully Develop Software in Difficult and Complex Environments
  • Efficiently Implement Functional Requirements on Big Projects
  • Maintain Clean Code Regardless of Organizational and Technical Constraints
  • Improve Your Efficiency When Developing Software
  • Walk through Realistic Examples and Learn Concrete Development Patterns

Requirements

  • You should have an understanding of object-oriented programming languages (such as Java) and basic software design principles

Description

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.

Who this course is for:

  • Junior developers who want to grow. Senior developers who want to refine their skills. Development leads who want to optimize the development process.
  • The skills you learn in this course can be applied to any software development project, but they will be especially useful for big projects in complex environments

Instructor

Anton Afanasjew
Software Architect
Anton Afanasjew
  • 5.0 Instructor Rating
  • 3 Reviews
  • 10 Students
  • 1 Course

Anton has fifteen years experience in software architecture, design and development, mainly in areas Banking and Automotive, with Java enterprise technologies and agile methods.

He worked as team lead and IT-architect on techical solutions for various products and systems. He is the developer of enterprise solutions in areas web development, system integration, DevOps, performance and memory analysis, load balancing, data validation and application monitoring.

He is master of computer science, Oracle certified professional Java 8 developer, SAFe certified DevOps practitioner and Scrum org certified Scrum Master.

Top companies choose Udemy Business to build in-demand career skills.
NasdaqVolkswagenBoxNetAppEventbrite
  • Udemy Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Investors
  • Terms
  • Privacy policy
  • Sitemap
  • Accessibility statement
Udemy
© 2022 Udemy, Inc.