8 ms·
Very interesting article. Some of these are shocking: > Use Source Control: Do you not use source control? How do professional companies not use source contro
by Yoofie 6y ago
Very interesting article. Some of these are shocking:
> Use Source Control: Do you not use source control?
How do professional companies not use source control in the year 2021? The mind boggles.
> Smaller Commits, Better Commit Logging: Submitting a 2GB 2000-file change to Perforce with the description "did some work" is terrible
Also quite surprising. If you are going to log your progress, you might aswell properly document what actually changed.
> Don't Ignore Your Lead Engineer if You Have One: If your lead engineer says that you need to spend $2,000 on SSDs or buy X license for Y, and your answer is immediately no because you believe your engineer is just trying to waste your budget, you either need to learn how to trust your engineer or find a new engineer. I have seen a company waste 70 man-hours a week simply because they had their workers on slow hard drives. Giving everyone faster SSDs would have cost the company ~60 man-hours in budget.
This one really hits home and something that I personally had to deal with. I had to complain and fight for a long time to get the company to actually buy a SSD (or another job critical piece of time-saving hardware). Usually its not management saying no to such requests, its more of a strong general attitude of saving money and keeping expenses low. I have quickly learned that this level of penny pinching is a red flag and you should bail out as fast as you can because it rarely gets better and that attitude is rarely limited to one department.
Also related: Sometimes its about money but in a very indirect way. The amount of time I had to waste waiting for slow builds to complete because the corporate Anti-virus scans every new generated file is staggering. What should be a 10 minute build was over 1 hour, all due to the mandated new corporate anti-virus. Corporate IT could not adjust the security policy because they are understaffed because management laid off 80% of the IT team causing a huge backlog of work which then cascades to every other part of the business. Then they wonder why they get negative feedback during workplace reviews.
---
A thing I quite liked: the hierarchy ranking of engineers and distinction between senior and lead engineer.
---
Also, does anyone know of places where I can read similar war stories? These articles are always super interesting to read and learn from.
- Kiro 6y agoSource control for UE games is a different beast. Should still be done of course but a lot more tricky, so I understand why people don't.
- afrodc_ 6y agoWhat makes it complicated? I don't do games development so I've no idea how the project structure looks.
- JohnBooty 6y agoI'd be interested to hear the answer as well! I am neither an Unreal nor games developer, but in case nobody provides a better answer... From what I've heard, what makes source control tricky for game development is all of the non-text files. Git's distributed "everybody has a local copy of the entire repo" approach is not well suited for binary assets, especially large and frequently changing ones. Nearly any "modern" game development project will have gigabytes if not terabytes of these. Imagine you're a game coder and every `get fetch` grabs another 400GB of textures from the level designers. Last I heard many game dev shops still used Subversion instead of git for precisely this reason. There are also workarounds/extensions for git; not sure of their maturity/adoption.
- illvm 6y agoWhy not just split the assets and the code, have the code reference a version of the assets, which are on a separate server and only fetched when needed?
- thu2111 6y agoThat's the same thing as not using version control, given that the point of using UE4 is that you don't have to write much code. Note the repeated references to "blueprint spaghetti". Blueprint is a visual DSL for game designers. The assets end up encoding much of the game logic.
- pjc50 6y agoThat's basically what git-annex is, but I guarantee that companies with this problem will be doing something disastrously incoherent with file shares and document_final_2 names instead.
- pjc50 6y agoEngineers used to talk war stories on the internet all the time. I think the switch from pseudo anon to real name social media has put a dent in that, but there are people still doing it on Twitter e.g @foone or @swiftonsecurity .. among a lot of other output. The trick now is limiting yourself to those war stories you'd be happy to have all your future job interviewers read :/
- chihuahua 6y agoRegarding penny-pinching: at Amazon in 2013, the rule was that a sw dev could have one 24-inch monitor, but any second monitor had to be 19 inches or smaller. My manager gave me a second 24-inch monitor, and so I went to the hardware support guy to get an appropriate DVI cable. The support guy refused to give me a cable because I had an unapproved excessively large monitor. He could only give me the cable if he came to my desk to confirm that my second monitor did not exceed 19 inches. All this haggling and wasted time over a monitor that cost about $100 more. I just bought my own cable (from Amazon!) I guess they had a pile of ancient 19-inch monitors from years ago and were determined to "used them up" before spending more money buying new monitors. If that means that highly paid SW devs are less productive because they're squinting at late 1990s monitors, then so be it. In my experience this was typical of the penny-pinching Amazon mindset. As a result, I did not work there for very long.
- kevinmchugh 6y agoI bet ebay has some way of getting rid of old monitors. I'm surprised Amazon doesn't.
- chihuahua 6y agoI think they were determined to squeeze as much "value" as possible out of those obsolete tiny monitors, by having someone use them for a few more years. Getting rid of them was not the problem.
- LanceH 6y agoI was working as a contractor for AT&T years ago. The issued me the same laptop that everyone got. Of course, it doesn't have much RAM and I'm somehow lassoed into supporting the current implementation of Business Objects. It literally took long enough starting up BO that just 2 starts (let alone any actions) would have paid for upgrades in RAM. Over the course of two years, I was paid literally a couple thousand watching my computer load Business Objects. They could approve overtime on a contractor, but couldn't approve a couple hundred for a RAM upgrade, what with it being non standard and all.
- 6y ago
- ridethebike 6y ago>> Smaller Commits, Better Commit Logging In my current company (one of top us financial institutions) widely spread habit is to use jira title as commit message, be it small jira for a bugfix or something big for twenty commits and two months of work. Just because. >> If your lead engineer says that you need to spend $2,000 on SSDs Our physical more or less ok workstations (no ssd though) got replaced by thin clients connecting to virtual machines. Slow in terms of raw performance and video/mouse/keyboard i/o. At the same time big suits like to blah-blah about how important technology is, how "we are not bank we are tech company with bank department" is and how much they invest in tech. edits: grammar