JavaRush/Courses/Kotlin SELF/IT Product Development

IT Product Development

Open

1. A bit of history

When the Internet Revolution was just beginning in the 1990s, nobody knew how to properly build internet services. All their features immediately became available to users, which made this approach very different from classic software development.

The biggest search engine of that era, Yahoo, decided to take a new path and adopt an approach from Hollywood— even their managers were called producers :) Not surprisingly, it didn’t work out for them 🤷‍♂️

Interesting. Yahoo is one of the biggest underperformers when it comes to acquiring other companies. Back in the day, they were offered the chance several times to buy both Google and Facebook. Eventually, as their career was winding down, Microsoft tried to acquire them for $40 billion, but they refused again. A few years later, they were bought for just $3 billion. In the 1990s, at the peak of their popularity, Yahoo was valued at $200 billion, and if they had bought Google, their value today could have reached several trillion. Don’t be like Yahoo. 🙈

Since the days of the Internet Revolution, dozens of different software development approaches have been tested, and now the situation has stabilized. There are standard roles with standard responsibilities, standard processes, and standard software.

As you study, you will learn everything you need to know to work at modern IT companies with modern development tools. 🎓

2. Product team

A typical development team consists of:

  • People who decide what functions and features the product should have
    • Product Owner
    • Business Analyst
  • People who decide what the product will look like
    • UI Designer
    • UX Designer
  • Developers who implement all of this
    • Software Architect
    • Backend Developer
    • Frontend Developer
    • Mobile Developer
  • People responsible for the product’s quality and reliable operation
    • QA Automation
    • DevOps

In software development, the Product Owner plays a key role by managing the product and ensuring that the development team focuses on delivering the most important tasks. They define the product vision and compile and prioritize the task list (backlog), which helps ensure that each development stage aligns as closely as possible with business goals and user requirements.

A UX Designer is responsible for creating a convenient and effective product interface, which includes researching user needs, building prototypes, and testing interfaces. This work is aimed at improving how users interact with the product, making it as clear and easy to use as possible.

DevOps specialists optimize software development processes and operations management to speed up and simplify releasing product updates. Their work includes automating testing, deployment, and system monitoring, as well as configuring infrastructure and ensuring continuous integration and delivery (CI/CD).

3. Development team

Development itself is done by programmers. They can be roughly divided into 5 categories:

  • Software Architect
  • Backend Developer
  • Frontend Developer
  • Mobile Developer
  • Database Administrator

Roles and their scope can vary depending on team size and the specifics of the product, but it’s roughly like this:

  • 🏗️ Software Architect: responsible for designing complex architectures of software systems. The architect develops the technical infrastructure, defines the structure and interaction methods of various components of the software product, and ensures their scalability, performance, and security.
  • ⚙️ Backend Developer: specializes in developing the server-side part of applications. Backend Developer tasks include implementing business logic, integrating databases and data management systems, processing user requests, and maintaining interaction with the frontend part.
  • 🖥️ Frontend Developer: develops the user interface of web applications. This role requires knowledge of HTML, CSS, and JavaScript, as well as frameworks and libraries for creating interactive and responsive interfaces that provide a good user experience with the product.
  • 📱 Mobile Developer: develops applications for mobile devices. A Mobile Developer builds apps for various operating systems (for example, iOS and Android), taking into account platform specifics, device performance, and user experience.
  • 🗄️ DBA (Database Administrator): responsible for database management, ensuring availability, security, and optimization. A DBA performs tasks related to configuring, monitoring, and maintaining databases, as well as developing strategies for backup and data recovery.
Комментарии
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны sign in
This page has no comments yet