Office Building, Building, Watercraft, Water, Condo, Waterfront, Urban, City, Metropolis, High Rise

What are the languages you use? Is CI/CD implemented? Do you have a monolithic or microservices architecture?

  • From Live Chat
  • 15 replies
  • 91 views
  • Author: Vendee R.
  • Category: team info
  • Date asked:
  • Last update:
  • Jon L.
    Jon L. Principal Developer

    Interesting question. Yes and yes :D
    Because our company had been around for 25 years we have a variety of technology implemented across the product

  • VR
    Vendee R. Candidate

    Who is responsible for managing the pipeline? Do you have a dedicated systems engineer or is it the role of the developer?

  • Sean M.
    Sean M. Principal Developer

    Hi Vendee,

    In our team, we mostly use C# and Typescript (React) and we use the microservices architecture.

    We also have a monolith system that we are improving. There are occasions that we also need to touch this monolith system.

  • Jon L.
    Jon L. Principal Developer

    So what we call our monolith is a legacy product spanning from ASP Classic to WebForms to MVC, and newer parts of the product are SPAs with React Front-Ends and .NET Core backends.

    All of them are in the cloud though.We don't have dedicated system engineers, but we do have a Platform team that focuses on DevOps tooling for the teams that build out products

  • Gervin G.
    Gervin G. Software Developer

    1. For the languages, we primarily use C# and Typescript but we are not married to them. We adopt technologies when we see that they fit to our needs.
    2. Yup CI/CD is implemented. We do not have dedicated DevOps personnel. Instead, all developers have the power to utilize all our DevOps tools.
    3. We both have monolithic and microservices :D

  • VR
    Vendee R. Candidate

    Are all your developers fullstack? I am purely a back-end developer so I am not sure if I have a place in your company
    How about pair-programming and TDD, is it highly encouraged?

  • Gervin G.
    Gervin G. Software Developer

    Yup, we are full stack developers but we also acknowledge that most of us specializes in some specific areas (e.g. T-shaped or comb-shaped skillset).

    For context, I am a backend developer before joining PageUp but I now have the opportunity to try frontend here as well :D

  • Jon L.
    Jon L. Principal Developer

    Many of our developers are fullstack, but I would argue there's a place in the company for everyone. There are teams focused on front end products and there are teams focused on legacy tech.

  • Sean M.
    Sean M. Principal Developer

    I was hired as back-end developer too and don't have front-end experience. I'm in the process of learning React and contributing to the project. As long as you're open to learning, you are very welcome.

  • Jon L.
    Jon L. Principal Developer

    Pair programming one of our valued tools -- we encourage pair programming to quickly share contexts and knowledge about products, but devs would also often be executing user stories on their own. :)

  • JP
    Juan Martin P. Candidate

    If its ok with the original poster, i have a followup question. How is TDD factored in the development schedule, how is this estimated?

  • Jon L.
    Jon L. Principal Developer

    As for TDD: we encourage classicist TDD for the design phase of less understood products, but we will sometimes use Outside-In approach where TDD become focused on public consuming objects (e.g., controllers, services) instead of the implementation details.

    Automated tests are a first class citizen of our tech stack, whichever style you use, however.
    So PRs that are poorly tested would likely be rejected, or time allocated for automated tests. This is quite important to us.

  • VR
    Vendee R. Candidate

    Okay every interesting to know. I would like to join a company which adheres with clean code principles

  • Sean M.
    Sean M. Principal Developer

    One thing that is worth mentioning is that we also don't have QA engineers and ensuring quality is a shared responsibility. Automated tests are very important to us as it allows to capture issues fast.

  • VR
    Vendee R. Candidate

    Perfect! That is the ideal team set-up. No QAs, just automated unit,integration, component level tests and of course end to end tests :)