@squid_daddy Please take the liberty to update the docs to get them more up to date, fill in any missing details, and generally make them more useful for someone getting started
@lafayette the Dunning–Kruger effect lol so true I often underestimate my skills in various areas
@jtkenny Understood, thanks for the update. TripleA is deceptively hard to work on, and it's been a tough journey to make that easier. I hear you on the lack of time = D [cue: maniacal laughter]
FWIW, I've previously taken time off from full time employment on a few occasions in order to be able to better contribute to TripleA. I've also sometimes been in the habit of allowing some months to go by between jobs (generally when I was contracting) and those were ideal time slots for working on TripleA. I totally understand it can be hard to carve out time, and I've been struggling with that for most of this last year. I think overall it is a bit of a lesson in the value of trying to finish what you've started and not leaving things half done. It's also the case that software efforts almost always take far more effort than anyone would want or can predict.
Also FWIW, open source work is really valuable experience, it's arguably better than industry experience in a lot of ways (and can be a really good resume builder too!) When I took a full 6 months off from work once and spent 3 months full time on Triplea, I learned more in that 3 months than I had in 2 years while in industry. Industry can be great for learning, but typically once you spend 2 months learning something in industry, you keep at that same thing for many months (if not years) afterwards. In open source, once you got something down, you can choose to move onto a different topic, and generally just get a lot of breadth. Specifically, you can choose your open source efforts to help guide your personal growth - that is really valuable.
CS educations are really valuable in general too, but they do lack practical skills education. I think generally most CS programs assume you'll learn those skills as needed. Nonetheless, it's good to have a test bed for learning how to manage branches, setting up a github account, and just the overall nitty gritty experience working in existing code bases. 99.9% of software engineering is dealing with existing code bases. Further, there is little that replaces raw experience. The learning progress is often:learn a principle apply the principle always learn why the principle is good learn when the principle is not good and when not to apply the principle.
That kinda goes for things like DRY & TDD. If you do enough TDD, eventually you learn what test-able code looks like. This allows for some testing to be done after-the-fact. That is really valuable when experimenting around, and you learn which modules you will want to test first and which you want to test later. Similar for DRY, at first any duplication is moved into an abstraction. Eventually you learn when abstractions are worse than duplication. Nonetheless, many aspects of software engineering are a progression and the steps are not easily skipped. Worse yet, journeyman fallacy (AKA Dunning-Kruger effect) can easily come into play. Open source is maybe one of the best ways to defeat the Dunning-Kruger effect in software engineering and to keep leveling your skills.
Just some personal thoughts for your group. We would love to see more active contributors and this can be a really good hobby project, particularly if any of you are considering a career in Java back-end engineering. Regardless, it was really cool to see your group choose TripleA, cheers!
@lafayette Sorry for my absence, I have been in Europe for the last three weeks. over our winter break. Our semester is over, so most likely no one else from my team will continue working. I may continue working on the issue I have been working on, but I have no idea how much time I can commit because my semester will be really busy. Nevertheless, thank you all so much for your help and assistance in working with us. We have all learned a lot about open source contributions over the semester.
Was updating documentation, found this: https://github.com/triplea-game/triplea/blob/d3ad17b446fdd319d45424f6a62dfc47d346b4f4/docs/development/initiatives-and-tech-debt/anti-patterns-and-tech-debt.md
I think we can probably delete the doc file in favor of what we have here.
Adding in from that list:logic code mixed in with UI code