[Development] Dev needs to be optimised
#1
Title of Suggestion: [Development] Dev needs to be optimised

Why?
Discussion argument

The current development team are underpaid and overworked. Paying them in game money, which by the way, has no value relating to actual money while donations are directly paid into Divey's PayPal account is inexcusable. The developers of the gamemode should be financially rewarded for developing the systems/mechanics that influence players into buying donator and money packs.

Keywords
Prod = The server you know and roleplay on.

Development overhauls requested:


  1. Developers of the gamemode and forums should receive a fair (monetary) wage for producing application code for the Fearless RP community, Garry's mod and the Forums included
  2. Development staff should have access to a CL/CD pipeline to test their code before it's deployed to the prod server. (Reduces bugs for the users). I believe this exists in some form due to the Beta server, however the pipeline from IDE to server could be improved. See 4.
  3. Developmental features should be fully tested before deploying to prod
  4. The server application panel(pterodactyl)/Docker containers/SFTP needs to be accessible to all developers. If a community member is trusted with the application code that runs FL, why are they not trusted with access to the servers? This creates arguments and disgruntlements. Someone hired to write application code for you should be able to understand the backend systems. Otherwise, this creates bugs.
  5. Developer payments should be made public to Administrator and Super administrator ranks. This proves authenticity. 

The current development system is disgusting and unethical, leading to bug reports such as the 2 I've reported in the past to FL staff which are currently private due to the contents of the reports.

This thread will develop as I produce points for the Devs, Divey and Edned, as of now (08/05/21), it's publishable.
The following 6 users Like User 7141's post:
  • Slaint, Kappatalist, ART, Rutobia, Hooter, Spartan_KCT
#2
1/5) A while back we did agree on proper development pay for big projects, however, since then, there has really been no projects done that fit in to this category. I’d argue bug fixes and such should be rewarded, even if small, just hard to track this easily. I agree with more transparency, at least in the team, regarding dev pay, etc.

2/3) There is a “pipeline”, but it benefits nothing really at the moment other than keeping Git tidy. There is protocol for testing, and for the most part, that is done, however, we’re working with a dead beast of a gamemode, hence it is borderline impossible to stop any issues from arising in the first place, even with testing.

4) Strongly agree with this point. Devs have access to the game panel, however, access to the dedicated server and VMs was recently restricted to 2 people, whom both happen to be inactive a lot of the time. This was especially frustrating to me, having been working on improving some of the backend infrastructure at the time this change was pushed. Without at least someone active having the knowledge and access, we have to deal with issues constantly that many people will have noticed recently, with the server being down for hours at a time. Again, other issues have arisen in the past because of inactive management of these systems, for example the backup system not working for a few months before it was noticed.
We need a collaborative effort in the team to ensure that the backend systems run as intended, however that is not the case currently, as it has been gatekept.

Personally I’ve not had much time to dedicate to development due to exams, as of late. I spent a large chunk of my time in the past few months fixing up some old, insecure, unstable backend code before access was taken, and I still believe this choice is not in the best interests of the community.
Regards,
Connnnnnnn

Consider giving me a rep point here.

The following 5 users Like Conn's post:
  • Kappatalist, User 7141, max., GeoxAreBad, Lewwings
#3
In my Eyes the Devs needs to be paid. no one gona work for free for u Divey
The following 1 user Likes ART's post:
  • Kappatalist
#4
(05-08-2021, 02:07 PM)ART Wrote: In my Eyes the Devs needs to be paid. no one gona work for free for u Divey
Well.. they worked for free til now and worked out quite well. They are volunteers right now.
I just feel like that there needs to be a new system of how the development team and staff team interact with eachother.
[Image: WbmV7IO.mp4]
The following 1 user Likes RoCKy's post:
  • ART
#5
(05-08-2021, 12:18 PM)Conn Wrote: 2/3) There is a “pipeline”, but it benefits nothing really at the moment other than keeping Git tidy. There is protocol for testing, and for the most part, that is done, however, we’re working with a dead beast of a gamemode, hence it is borderline impossible to stop any issues from arising in the first place, even with testing.

Thanks for your internal input, it clarifies a lot of information, as for the issue above, the main reason why I suggested this is due to that particular issue that I brought up regarding the Git in the private bug reports. I’m sure none of the dev team liked sitting there and checking if anything serious had happened with that issue and nor should it have even occurred
The following 1 user Likes User 7141's post:
  • Kappatalist
#6
(05-08-2021, 06:18 PM)h3x Wrote:
(05-08-2021, 12:18 PM)Conn Wrote: 2/3) There is a “pipeline”, but it benefits nothing really at the moment other than keeping Git tidy. There is protocol for testing, and for the most part, that is done, however, we’re working with a dead beast of a gamemode, hence it is borderline impossible to stop any issues from arising in the first place, even with testing.

Thanks for your internal input, it clarifies a lot of information, as for the issue above, the main reason why I suggested this is due to that particular issue that I brought up regarding the Git in the private bug reports. I’m sure none of the dev team liked sitting there and checking if anything serious had happened with that issue and nor should it have even occurred

Forums and gamemode are different, most of us don't touch forums and the entire process for forums is something else.
Pollux
Fearless Management
bork
__________________________________________________________________
#7
(05-08-2021, 04:37 AM)h3x Wrote: Development staff should have access to a CL/CD pipeline to test their code before it's deployed to the prod server. (Reduces bugs for the users). I believe this exists in some form due to the Beta server, however the pipeline from IDE to server could be improved. See 4.

I have worked on improving the development quality and workflow for a while now, and I generally gave up most of the ideas. Mostly due to limitations caused by the age of the gamemode and the directory setup of gmod and source.

We were able to speedup development by introducing local development and defer from remote development, but even this step caused issues with RDM protected addons and content. Docker was also impossible to use due to filesystem speed problems when working on windows or mac. Let alone the issues with syncing binaries and lua files outside of the gamemode directory when trying to offer a one-click setup. We've got it mostly working, but I bet it's the best we can get. And I say this as git certified DevOps developer.

We have finally setup a correct git flow for development, having a ticketing system (with forum semi-sync) for administration and multiple channels for staging. But even this puts strain on the development team as not everyone agrees with the importance for an old gamemode, and I can understand that. We have setup a review system to enhance the quality of the code that's ending up on the production server. But due to apparent inactivity of other developers, this system did not work as intended and was quickly discarded.

Having a CI/CD pipeline for the current gamemode is useless as of now. The gamemode has been written in many different coding standards making linters useless. Testcases are hard to write for a gamemode this old with tons of features. Let alone the fact that there are no OOB testing frameworks available for gmod with proper bot support to test on multiplayer functionality.

(05-08-2021, 04:37 AM)h3x Wrote: The server application panel(pterodactyl)/Docker containers/SFTP needs to be accessible to all developers. If a community member is trusted with the application code that runs FL, why are they not trusted with access to the servers? This creates arguments and disgruntlements. Someone hired to write application code for you should be able to understand the backend systems. Otherwise, this creates bugs.

I strongly disagree.

Server management is a totally different branch, and does not belong to development. It's a separate set of skills and knowledge not every developer possesses. In order to serve a server to the public, you need to know the ins and outs of Linux and its security hazards. Which requires a decent amount of experience working with it. A developer should only have to worry about the code, DevOps developers handles the server setup and access to the public. Which is how it should be managed, and how it is managed now.

(05-08-2021, 12:18 PM)Conn Wrote: whom both happen to be inactive a lot of the time.

S'cuse me, I am available 24 hours a day. And mostly respond within a 30min-2h timeframe.
The following 2 users Like De CodeerHeer's post:
  • Slaint, max.
#8
(05-12-2021, 09:14 PM)ScriptedBrain Wrote:
(05-08-2021, 04:37 AM)h3x Wrote: Development staff should have access to a CL/CD pipeline to test their code before it's deployed to the prod server. (Reduces bugs for the users). I believe this exists in some form due to the Beta server, however the pipeline from IDE to server could be improved. See 4.

And I say this as git certified DevOps developer.

Completely unrelated but which certs did you do? I'd kinda like to have git certified on my list, even just as a training thing, even though I hate git with every inch of my body
#9
(05-12-2021, 09:14 PM)ScriptedBrain Wrote:
h3x Wrote:The server application panel(pterodactyl)/Docker containers/SFTP needs to be accessible to all developers. If a community member is trusted with the application code that runs FL, why are they not trusted with access to the servers? This creates arguments and disgruntlements. Someone hired to write application code for you should be able to understand the backend systems. Otherwise, this creates bugs.

I strongly disagree.

Server management is a totally different branch, and does not belong to development. It's a separate set of skills and knowledge not every developer possesses. In order to serve a server to the public, you need to know the ins and outs of Linux and its security hazards. Which requires a decent amount of experience working with it. A developer should only have to worry about the code, DevOps developers handles the server setup and access to the public. Which is how it should be managed, and how it is managed now.

I strongly disagree with your strong disagreement.

I think everyone who has worked with the gamemode before knows how unstable it is and that it has a tendency to crash frequently. This alone requires devs to at least kill and restart servers, in case the so-called "DevOps developers" are unavailable, e.g. because it's 4 AM.

But that's not even the main reason I disagree. Developers (in case of them being active, so excluding you) spent lots of their freetime working for this community and receive basically no payment. So it's even more important to keep developers motivated. Restricting them in everything hurts this in my opinion. I remember the struggle of being unable to fix various bugs on the website because I simply had no access to it, and the developers having access were inactive.

I'm also not sure about your "ticketing system". Yes, it's important to properly test and get approvals for big updates, however, I think that is really unnecessary for minor updates or bug fixes and only hurts the development workflow and motivation of developers. Something I can see you benefit from, is having a GitHub action that checks the code for syntax errors and blocks PRs from being merged if they contain any. But that is not a thing to this day, afaik.

To be fair, I think root access to all docker containers/VMs is not necessary. But panel access, restricted shell access and SFTP access should be a thing. Actually SFTP is only needed if you cannot access server files via the panel, or if you are still managing addons via SFTP.

While in enterprise it is important to have clear roles, I don't know anything that could be further from enterprise than FL. I think the way you are doing actually slowly kills active development.





(05-12-2021, 09:14 PM)ScriptedBrain Wrote:
(05-08-2021, 12:18 PM)Conn Wrote: whom both happen to be inactive a lot of the time.

S'cuse me, I am available 24 hours a day. And mostly respond within a 30min-2h timeframe.

[Image: p4VJHkd.png]
Kind Regards,
TASSIA
Fearless Developer
The following 3 users Like TASSIA's post:
  • Conn, Suarez, Lewwings
#10
I don’t think shell access is really needed plus just because you can script Lua doesn’t mean you know your way around a shell, especially since it’s all managed via docker, could FTP servers be setup inside the docker containers instead for security? That way devs don’t get access to the dedi’s full filesystem, just the gmod server directory


Forum Jump:


Users browsing this thread: 1 Guest(s)