13 ms·
This is amazing. I can so well imagine a bright young hire joining that team, helpfully offering to "setup this thing called git" only to be laughed out of the
by fouronnes3 2y ago
This is amazing. I can so well imagine a bright young hire joining that team, helpfully offering to "setup this thing called git" only to be laughed out of the meeting by all the "senior" staff.
- mleo 2y agoAnecdote seems long before git creation, so Visual SourceSafe maybe. Which did not work well over a WAN. Needed other tools to replicate and synchronize VSS.
- masklinn 2y agoYou can remove the "over a WAN" part: VSS had been designed as a local VCS, so until the addition of a proper server in the mid aught using it over a network share was the only way to actually use it. And it really wasn't good. I don't know if that made it better, I assume not much, VSS was really trash.
- breput 2y agoI was working at a game development company in the mid 90s that used Visual Source Safe and to avoid file corruption due to concurrent commits, we had a shiny silver baseball cap which you had to find and physically possess to commit. After we had off-site devs, the physical cap wouldn't work. So the project had a "silvercap.txt" file and you had to exclusively check out . And of course people forgot to release that and work ground to a halt.
- kolanos 2y agoI'm sure I'm not alone in actually having lived such an experience. I joined a dynamic DNS provider once that had been around since 1999. Their tech, sadly, had not progressed much beyond that point. Showing the higher ups version control was like showing cavemen fire. Of course once the higher ups arranged to have training sessions led by the new hire for the entire dev team the VP of Engineering couldn't handle it and had me fired. Fun times.
- The_Colonel 2y agoAt this level of dysfunction, installing git won't do anything. You need a holistic change in thinking which starts with convincing people there's a problem.
- parpfish 2y agoYeah, this level of dysfunction takes years to cultivate. You need the “Dead Sea effect” to be in effect long enough that not only have the good people left, but for them to have been gone long enough that people rising into management have never even worked with somebody competent so they don’t know there’s a better way
- HdS84 2y agoI am occasionally on firefighting projects for customers. It's super hard to get out of this mess. The code base has gone to shit, customers are often passed enough that they want functioning code NOW, the reaming developers are bottom of the barrel, management is either cause of the problems or has now clue. Getting out of that is difficult especially if management doesn't understand it has to change first.
- mlhpdx 2y agoYears, and a special kind of myopia in leadership to not see the seeds sprouting. It doesn’t happen quickly, but once established is very, very expensive to fix.
- lutoma 2y agoOh man that description immediately made me think of a government IT job a friend used to work in
- lloydatkinson 2y agoI’ve yet to see people actually change their mind at this level. Firing is often the only way.
- djbusby 2y agoI was one of those once. Tried to get CVS in a project. Then some other dev committed 9MB of tabs 0x09 at the end of a file. Then the site was "slow" (cause the homepage was 10MB). And the blame went to...CVS somehow. I left.
- qup 2y agoThen they probably fired the guy who deleted 2MM lines of tabs for not meeting LoC metrics.
- djbusby 2y agoMany years later there was a scene in Silicon Valley where their VC set a tequila bottle on the delete key and caused havoc. That's when I figured out what happened in 1998.
- dtech 2y agoAnd what's the less opaque reference to 1998?
- djbusby 2y agoMe, up thread, I was the junior in 1998, trying to introduce CVS.
- collinmanderson 2y agoI have had a website taken down by (pretty sure) a person setting something on their F5 key.
- qup 2y agoLet's hear it!
- collinmanderson 2y ago
- hleszek 2y agoI started in 2008. This is what I did eventually. Over the years I introduced the small company to Linux, git, defensive programming, linting, continuous integration, Scrum..., but only for the new projects and stayed 13 years there. That old project though was never fixed though, probably still running that way now.
- refactor_master 2y agoSame story here. Introduced static Python to our team’s entire codebase. Best place I’ve ever worked.
- FpUser 2y agoI think of Scrum as a crime against humanity
- llmblockchain 2y agoI've been that person a few times. 1. The only developer on the team with Github and put forward the idea of the company not hosting their own source code with TFS. 2. The only developer using branches with git when the co-founder asked (demanded) everyone to only use master. The list goes on!
- malux85 2y agoHere’s a few of my horror stories where I was a consultant at various companies: 1. Previous consultants left no documentation or anything, and a running Hadoop cluster handling (live!) 300 credit card transactions a second. Management hired 8 junior sysadmins - who were all windows sysadmins, had never used Linux before, and were expected to take over running this Linux cluster immediately. They all looked at me white as ghosts when I brought up SSH prompt, that’s the point where I learned they were all windows sysadmins. 2. Another company: all Java and MySQL developers who were trying to use Spark on Hadoop, refusing to learn anything new they ended up coding a Java app that sat on a single node, with a mysql database on the same node, that “shelled out” to a single trivial hello-world type function running in spark, then did the rest of the computation in Java on the single node, management celebrated a huge success of their team now using “modern cluster computing” even though the 20 node cluster did basically nothing and was 99.99% idle. (And burning huge $ a month) 3. Another company: setup a cluster then was so desperate to use the cluster for everything installed monitoring on the cluster, so when the cluster went down, monitoring and all observability went down too 4. A Cassandra cluster run by junior sys-admins and queried by junior data scientists had this funny arms race where the data scientists did what was effectively “select * from *” for every query and the sysadmins noticing the cluster was slow, kept adding more nodes, rather than talk to each other things just oscillated back and forwards with costs spiralling out of control as more and more nodes were deployed Any many more! This might sound like I’m ragging on juniors a bit but that’s definitely not the case - most of these problems were caused by bad management being cheap and throwing these poor kids into the deep end with no guidance. I did my best to upskill them rapidly and I’m still friends with many of them today, even though it’s nearly 10 years later now, Good times!
- llmblockchain 2y ago
- sergiotapia 2y agoI did this at my first, learned quick oldheads would get flustered and feel challenged if not eased into things a certain way. Ultimately by the time I left I tried to introduce redbeanphp (orm), git for source control, and CakePHP for some structure. Nothing stuck. When I left it was still raw sql string queries, .zip files when they remembered for backups, and 400,000 line php files with everything caked on there.
- kolanos 2y agoYes, there is a good lesson here. If you walk onto a dev team still using stone tools, there is likely a culture that distrusts of new technology, so tread lightly or you may be perceived as a heretic.
- fragmede 2y agoI'm assuming this story predates git and the Internet, but I'm not OP. Things were different back in those days.
- donall 2y agoI had a visceral reaction to this comment! I once joined a company doing ETL with Apache camel and a half dozen underpowered pet machines. Ingesting their entire dataset and running a suite of NLP models took 3-6 months (estimated; it was so slow nobody ever reprocessed the data to fix bugs or release improvements). I drew up a simple architecture using Kafka, hbase, and MapReduce to implement a lambda architecture. The CTO very patronizingly told me that just because something is shiny and new it doesn't mean we need to implement it. This was 2017 :laugh-cry:.
- bjconlan 2y agoIt's a shame the CTO was patronizing. I've generally found this to be the attitude of many IT workers in similar positions. I would recommend trying to allocate (work) time to prototype and get important back of the envelope metrics that they think are valuable along with those that you think are valuable. At least that's what I would ask of anyone who was trying to improve a system (And not just the developers circumstance which I think is perhaps what they CTO is cautious of)
- yyyfb 2y agoBut maybe this isn't really what they felt that they needed at the time? I don't mean to defend bad practices, but your comment makes it sound like nobody had tasked you with re-architecting the business, and you took it upon yourself to show them how it should be done (in your opinion), without having earned the necessary trust. This might have also come across as patronizing, or at least antagonistic, and in any case unbeneficial. Not saying that's the case as I obviously wasn't there, just something to think about.
- donall 2y agoFair comment. And I'm usually suspicious of young engineers wanting to implement the new hotness and I'm also a fan of "if it ain't broken don't fix it". In this case, though, the system was in very rough shape. Our customers were complaining about data problems which we had no way to fix (short of manually editing the prod db, which was the SOP). I definitely took it upon myself to do something that nobody had asked for, but it was because the people in charge were entirely asleep at the wheel! They did not last long in their positions.
- blacklight 2y agoBeen there. There was this old fashioned developer in one of the companies I worked for a decade ago who never understood nor embraced version control (we were talking of SVN at the time, not even git). Luckily that wasn't the case for all the others developers in the company. But when it came to the projects he owned, I witnessed several scenes along the lines of "hey, customer X has an issue with your component Y, what version do they have?" He had a spreadsheet where he kept track of the versions used by every customer. Once identified the version, he would open (no joke) a drawer in his desk and pick the right USB stick with that version on it. I've always wondered whether this overhead was a worth price to pay for not wanting to learn a couple of SVN commands.
- icedchai 2y agoMy first job out of college, way back in the 90's, I had to "train" an entire department on how to use CVS. This wasn't a startup. This was a billion dollar, established company with 1000's of employees.
- Aloha 2y agoHe was in essence doing manual version and release control - just.. like you would in 1990 with floppy disks.
- cyanydeez 2y agoPerhaps he was more concerned with job control, and saw centralized code as a detriment to his job security
- throwaway03254 2y agoI have a confession to make. I was working in a company where the main development center was located in a different country. The main development center wanted to centralize all code on a single SVN server and move the build process to Jenkins I said we already had source control (CVS) and a a working build process (a script on a server that pulled from CVS, built a jar file and deployed it to X servers). We were too "busy" at the moment but would look into it in the future. This never happened. The real reason was that I was concerned that the central development center would take over the project, as they had tried to do so in the past. Looking back, I should probably have let them take over as there was more than enough work for everyone.
- kwhitefoot 2y agoSome of these stories sound a bit far fetched, especially those that involve Unix systems. RCS was released in 1982 and CVS in 1990 so Unix systems have had version control available for over forty years.
- bdbdhxhdh 2y agoThere is a lag between availability and mindshare to apply a technology. I myself introduced SVN as versioning solution to a company in 2007, years after git was available I and I was aware of it git simply didn't have the mind share jet, thus I went with what I knew
- Iwan-Zotow 2y agoHear, hear Git was too weird for a team, but svn with its linear timeline was a hit. They are still with svn, and for a small shop it's ok
- zimpenfish 2y ago> I myself introduced SVN as versioning solution to a company in 2007 In 2013, I was tasked with writing wrapper scripts around SVN to make it look like SCCS to avoid confusing the development people who only knew how to use SCCS whilst the company migrated to SVN. Fun but traumatising.
- cruffle_duffle 2y agoI can assure you they are true. Version control was still “controversial” in a lot of shops for quite some time. Plenty of places had the classic “v1, v2.3, v2_next_debug_cruffle_duffle” way of managing versions for a very, very long time. Well into the subversion era…
- CRConrad 2y agoI know places that still do it that way. Not necessarily tiny places either.
- teractiveodular 2y ago
- ics 2y agoI was in this position before but would point out that there is a tactical approach when you know that others will not follow. I set up a cron job (on Windows, not really cron) to check scan the network location for updated source files. The git repo was on my drive and on the corporate GitHub account, safe from those who should have been using it. Whenever files changed it would just auto commit on the main branch with the username included in the message. I could do whatever I wanted on my own branches, keep track of what others were doing, and essentially wield git. You don’t have to try to be a hero inflicting proper source control upon your teams (their perspective) to still occasionally appear like a wizard to save them from inevitable, oft-occurring peril.
- gumby 2y agoAstonishingly, It took a long time for revision control to become widespread. Around 1991 when Cygnus had 6-7 employees and was based in the apartment complex where I lived, none of the GNU codebase was hosted in any sort of revision control. Everything was FTPed around as obscurely named tarballs. We had gathered something like 27 different forks of gdb floating around the net, for example. This was back when forking was generally considered a tragedy, something I managed to change five or six years later). Rich Pixley came and said “all of our code should be in revision control, and I want to use this newfangled thing called CVS.” Michael was OK with it but John and I were steadfastly opposed. We agreed to an experiment, grudgingly, subject to a whole whiteboard of absurd conditions (“must be transparently integrated into emacs so we don’t have to know it’s there). Pixley agreed to all of that and then ignored all of it completely. It was immediately such a win that everybody adopted it without complaint, including us two obstreperous a-holes. A few years later a preventable crisis was how revision control first became client-server.
- asveikau 2y agoLinux was managed with tarballs and patch emails until a little over 20 years ago when they started using bitkeeper, then Linus wrote git.
- NetOpWibby 2y agoWhat a legend
- fijiaarone 2y agoIn the story above, Linux Torvalds is Gitfolye.
- jimbokun 2y ago> Pixley agreed to all of that and then ignored all of it completely. Hahaha that's brilliant, and an important lesson for junior developers. Sometimes this is the best way forward. High risk of course. But the reward can be great.
- ragebol 2y agoHave been that person before. As an intern, and they even listened! In the days of SVN, just before git, so I ran a server in my laptop and my manager somehow decided we needed a big Red hat server or something, IIRC. In a 20 ppl company.
- MBCook 2y agoI never had to deal with “we don’t use source control”, luckily. One company I joined was cleaning up the last vestiges of “customize it for every customer by letting people edit their copy on server,” which predictably turned into a mess. They were all very small customizations to styles or images but enough to make upgrades a total mess. I did work at a company where despite having full source control they didn’t actually know of they could ever deploy the server component again. Edits got made to the live server but then made again in source control, or vice versa. There was one more senior person who couldn’t be talked out of their old workflow. In theory everything matched.Eventually they even checked and got it all under control where they were positive it was the same and kept it that way. But it had only ever been deployed from scratch… once. And for like 15 years it lived there and kept getting upgraded. It would all be moved when new hardware was brought in. But it wasn’t installed from scratch. We truly did not know if we were capable of doing that. It is possible if that server was destroyed and we couldn’t restore from a back up it would take us an unknown amount of time. Even though in theory deploying should be as simple copying the files and starting the web server. Were there odd configurations that had been made eight years ago that kept it running? Some strange permission changed somewhere? I wasn’t on that team. But it always made me nervous. That was absolutely a core application of the business. I really like small shops sometimes. You get a lot of freedom and get to have your hands in a lot of disciplines. You learn a lot of things, including things that’s should never be duplicated.
- yyyfb 2y agoThat's not an exception, I think? Most online service businesses that I've worked with wouldn't be able to run their operations from a "cold start". That takes a lot of effort to engineer and in practice it doesn't happen enough, so that's a risk that most are willing to run with.
- MBCook 2y agoReally? Everywhere else I’ve worked has been able to. I’m not saying all the data in the database. Pretend your DB is fine or you have a full up to date backup. I know losing that KILLS businesses. But in my example just the web server immolated and the backup tapes sitting next to it melted. Can you set up a new web server? As a Java developer it’s usually install OS, add Apache + Tomcat, set a few basic config parameters, copy WARs. PHP or Python is even easier. They didn’t know they could successfully do that.
- camilla4151 2y ago[dead]
- deleted 2y ago[deleted]
- freetanga 2y agoSoftware Configuration Management has existed as a discipline and with proper tooling for at least 50 years. Mainframe and VAX machines had tooling in the early 80s. For VB Sourcesafe was the go to tool if memory serves. This is not a case of new vs old, rather incompetence vs competence.
- yyyfb 2y agoIt's maybe better than to take the pain to set up git only to see people use it in the same way, setting up a gazillion branches called V1, v2_customer_fix, v3_final, etc...
- fencepost 2y agoI think you misspelled "Visual SourceSafe" - and depending on when this VB was written it might actually predate VSS as a Microsoft product. Source code management back in the days of VB (long before VB.Net) was not the same as what you see today.
- BobbyTables2 2y agoWait until you work in an industry where customers are extremely reluctant to upgrade and each one lands on a different release. Then you have to start tracking the limitations and issues in 2-3 year old releases and the solution to issues is never “upgrade to the latest”. At that point, source control starts feeling worthless.
- samspot 2y agoSetting up git is the easy part. We all used it. Except the owner of the company who would fix bugs in prod and not tell anyone. Then next release we'd unintentionally un-fix those bugs because the fixes never made it back to source control.