CodeGym /Courses /C# SELF /IT Product Development

IT Product Development

C# SELF
Level 6, Lesson 6
Available

1. A Little History

Back in the 90s, when the Internet Revolution was just getting started, nobody knew the right way to develop internet services. All their features immediately became available to users, which was a big difference from traditional software development.

The biggest search engine of that time, Yahoo, decided to try a new approach and borrow ideas from Hollywood – even their managers were called producers :) No wonder it didn’t work out 🤷‍♂️

Interesting fact. Yahoo was the biggest failure when it came to acquiring other companies. They were offered to buy Google and Facebook several times. Eventually, at the end of their career, 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 90s, during their peak, Yahoo was valued at $200 billion, and if they had bought Google, their value today could be in the trillions. Don’t be like Yahoo. 🙈

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

During your learning you will learn everything you need to work in modern IT companies with modern development tools. 🎓

2. Product Team

A typical development team consists of:

  • People who decide what features and functionalities 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 quality of the product
    • QA Automation
    • DevOps

IT team

Product Owner plays a key role in software development, managing the product and making sure the development team focuses on the most important tasks. They define the product vision, create and prioritize the backlog, which helps ensure each development stage aligns with business goals and user needs.

UX Designer is responsible for creating a user-friendly and effective interface for the product, which includes researching user needs, developing prototypes, and testing interfaces. Their work aims to improve user interaction with the product, making it as understandable and convenient as possible.

DevOps specialists focus on optimizing software development and operational processes to speed up and simplify product releases. Their work includes automating testing, deployment, and system monitoring, as well as setting up infrastructure and ensuring continuous integration and delivery (CI/CD).

3. Development Team

The actual development is carried out by programmers. They can be roughly divided into 5 categories:

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

Roles and responsibilities may vary depending on the team size and product specifics, but generally, it looks like this:

  • 🏗️ Software Architect: responsible for designing complex software architecture. The Architect develops the technical infrastructure, defines the structure and interaction methods of different components of the software product, ensuring scalability, performance, and security.
  • ⚙️ Backend Developer: specializes in developing the server-side of applications. Tasks include implementing logic, integrating databases and data management systems, handling user requests, and maintaining interaction with the frontend.
  • 🖥️ 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.
  • 📱 Mobile Developer: develops applications for mobile devices. They create apps for different platforms (like iOS and Android), considering platform specifics, device performance, and user experience.
  • 🗄️ DBA (Database Administrator): manages databases, ensuring their availability, security, and optimization. They perform tasks related to database setup, monitoring, maintenance, and developing backup and recovery strategies.
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION