Because you have to add the icon to an app built in 3 days.


Eloquently said.


Also because said hackathon didn’t include the normal bureaucracy that comes with getting actual work done


It's not only bureaucracy. In production, you want to have a rock solid and well polished product. In a hackathon, the purpose is to build a prototype, or a proof of concept rather than a full product. That is at most ~20% of the work involved, getting it from that concept stage to something you can use in production is the other 80% of the work. This seems to be true for any software project, getting some basic stuff up and running is relatively easy, but the more you advance with a project, the more grueling and slow it becomes.


Edge cases rule my life


Edge cases are why I'm employed!


I *am* the edge case.


Edge case? That's a weird way to pronounce "job security".


'Job security'? That's a weird way to pronounce 'critical bug'.




You’re sure being employed isn’t the edge case? 😅. It often was for me.


I fear no man But that thing *edge cases* It scares me


I think you mean edge cases rule *most* of your life.


I FIND edge cases, love them, they allow me to eat lol


I'm upvoting this, but my heart is downvoting it.




The details is where the devil lives.


I like the 'edge case' explanation even more because of the concept 'curse of dimensionality'. When one increases the number of dimensions in a random setting (N-Dimensional random variables) most points lay at the edge.


Edge cases everywhere around me, run it, tests green? Dollar dolla bill y'all.


The biggest difference is in planning. When you're building a real, long-lived, production product, you spend a \_lot\_ of time thinking about the consequences of your architectural choices. You go back and clean up / establish patterns that will be repeated a hundred times (making reusable components, api patterns, etc...). When you're building a hackathon project, you worry about none of this. Everything is a hack, and the code reuse strategy is copy-paste-and-tweak. No unit tests. Maybe even no type safety. Good luck, as the OC said, ever changing anything without breaking it.


Good old 20/80. Aaah, Paretto is life.


Truth. Also: most of the rush is in that first 20%. And the last 1% I guess. If you’re not too worn out to care by then. Making software foolproof is excruciating and laborious. I’ve learned that with limited experience.


And the last 20% is going to take 80% of the time for some reason


Are you familiar with the Pareto principle or are you just one the 10 people that rediscover that concept independently every single day?


I'm aware of the Paretto principle, and that's what I was thinking of, but I also spoke from personal experience.


It is something most people encounter in their professional lives sooner or later I guess.


I had a project at work and I got it working in about a week. It was 2 weeks later for when it was actually finished .


and a whole lot of preparation where they probably built 2-3 applications just as source material for that one during the hackathon


The app only has to run for 10 minutes and doesn't have to work in every environment nor does it need to worry about any legacy issues. And sure as hell doesn't have to look pretty!


now lets make the beaucrathon where the goal is to write one line of code in 2 years


Tests? What is a tests? I click run and it *mostly* works, isn't that good enough?


OMG, that is A PERFECT way to put that!!


We didn’t have time to learn the file/asset loading API so we encoded all of the resources as strings. We used a website to do the encoding and a companion .h file to decode the strings. No one remembers which website these came from so we can’t figure out how to encode any new assets.


Don't worry I'll just put a random svg string in there


it's fine, it's a magic *string* not a magic *number*


also the hackathon was held during a weekend, was mandatory, and the product created is rolling out to production in two weeks. You'll reap the rewards of your hard work though when they order a pizza for lunch that one day and you have to share it with the rest of the office.


Please, enough, I’ve had enough!


A pizza for lunch? You mean a mandatory "celebratory" meeting where you have to sit through half an hour of the manager patting themselves on the back for the work you did and there's a bag of chips and maybe a big bottle of Sprite to share among the 15 of you. If you're lucky to still have physical meetings any more, if not then it's your own chips and Sprite.


I mean, an app really should have at least 1 image to its entirety.


I think it's more like During hackathon: we can build what we want how we want, and implement what features we want After hackathon: this icon needs to be implemented in exactly these ways with these arbitrary restrictions because another department said so


You must also follow the 300 page pdf guide on company branding rules. You must then submit it to the marketing department, who will send it back to you saying you missed a rule; you where using the old guide from last week. You need to then have approved by the CEO's son.


> You need to then have approved by the CEO's son. And he's decided it needs to be flashier, with more pop and sizzle. So just follow those concise and direct instructions and you'll be fine.


And here's how it went, too: Developers during Hackathon: "We built this app!" Sales Person: "OMG this fills a need we have!" Next Day: "So we already have 5 customers lined up for this application and we promised it to them by the end of the week - it just needs these few changes, and since you built it in 3 days, you should be able to fix it all easy, right." Developers: "We didn't build it to be easily changeable since we were focused on getting it done in time." And then this meme gets posted.


Basically. If you don't see the connection between it the length of time devs are given to develop and app vs how difficult that app is to extend and maintain.....I don't know what to tell you.


“No I don’t know why changing the picture of an icon causes the entire application to crash, and no I’m not going to be able to figure out why by EOD Friday”


You oughta know your comment made my lazy ass acquire the free gift award just to give it to you.


If I had an award I would give it to you


With little/no sleep. Edit: god what spaghetti it must be.


Sounds like the reason a lot of programmers hate JavaScript.


yes, an "application" that's no more than just a tech demo to fulfill one use case and a "maybe don't press the Cancel button too fast or it might freeze the OS" kind of gotcha


We demo to the client as we go along, the demo person is WELL prepped on what letters not use, what buttons not push, and which screens to quickly pass by. She makes it look damn good though :D


What happens when the client starts asking questions about what buttons etc do and maybe asks to see it?


Simple, be honest. In this demo version those features are not yet ready but will be by release. If the client doesn't want honesty with them, then they shouldn't be a client, and if a client gets honesty and appreciates it, they'll be a client for life.


wrong answer. The correct answer is, "if you want that, you'll have to pay extra"




> Simple, be honest. In this demo version those features are not yet ready *but will be by release.* Uhuh... Definitely in the 1.1 release, right?


"It's on the roadmap"


In my company, we preface absolutely everything with a slide that says essentially "you're about hear us talk about the future. We'll make some promises but when it comes time to make decisions, those future promises are meaningless and the only thing that's concrete is what's publicly released today."


Realistically, this the the "agile" approach, so the clients are theoretically aware that not all wrinkles have been ironed out. We just want to not remind them of that.


I was once invited to attend a tradeshow in another country because I was the only person who knew enough about the terrible flaws in the beta product to make it through a demo without crashing it.


Yea, that's definitely a thing! Good for you!


In a college software engineering class one of out groups tried showing a prerecorded demo because their application couldn't run for more than a couple minutes, that went over really well with the professor.


That is a brilliant solution btw, they definitely should've got marks for creativity. And yes, real life TOTALLY works like that!


Reminds me an old flight test story where the pilot points out the window and says to the FAA observer, "I was thinking of buying some property over there" as the FMS spontaneously reboots.


The golden path.


I made a MOBA game in a 3 day hackathon and had a bug where if an enemy dies while you are attacking it the whole game crashed. I even tried to avoid it in my demo but still hit it a few times. My team still won the most polished prize even with my shit ass code.


I too can write trash in 3 days. But you don't maintain trash, you toss it in the garbage can.


this is gold


Well you obviously never worked at my last job


if you look to your left, you can see the Mont Brun, made out of >15 year old enterprise piles of shit monolith programs that are STILL BEING MAINTAINED


Pied Piper would like a word


Or you pass it on.


> But you don't maintain trash, you toss it in the garbage can. Citation needed


Ah, reposts. But I'll play along. ------- During hackathon: We don't need spec sheets, permission, or critical testing? Great! After hackathon: So, I added that icon, 5 minutes in and out. Corporate put a freeze on version changes though until next week and there's already a couple weeks backlog for QA of revisions. Who knows when it'll be added. \ Yeeeeuuup, sure miss that hackathon...


Also if you built an entire app in 3 days I'm sure there's going to be a lot of technical debt


I'm sure there will be as you unravel poor coding practices into cleaner code.




future hires are like a ponzi scheme for responsibilities. "won't be our problem if we can just hire a new junior before it starts to fall apart"


"Just copy and paste these functions in here it'll be fine" *hackathon demo is suddenly in production*


escalation through Dev, Pre-prod and then to Prod with change requests and off hours deployment. Brent forgot to configure the load balancer to not direct traffic to the server while it's being updated and now we have 300 P4 tickets open. also a core component is managed by a 3rd party vendor and their automated system is down so I'm on the phone with another guy named Brent and he's about as bright as our Brent.


Fucking Brent.


Brent here, its just my process!


Ah yes, my favourite, the third party vendors who vanish around holidays. And it's always separate holidays, what's up with that?


The last lien made me chuckle


I'm glad this isn't only relatable to me


It pisses me off that people assume devs are lazy. Yes, I can quickly make that button give you a handjob. If you want to make sure it doesn't rip your dick off in the process, it's going to take 2 weeks to code and QA. You need it sooner? Well, I can feature flag it and get you a beta build to demo, but dick ripping chance is high and performance may be sub par. Your choice buddy.


So we were able to reduce the cock ripping to around 20% but be ready for a couple shots to the rocks.


The problem is that there's too much bureaucracy involved in the development process in most companies. I agree to a develop->submit->test->publish model, but only when the "->submit->test" part doesn't take days to weeks to confirm. I removed a space from a line of text that the boss wanted removed, and he's going to yell at me again tomorrow if he sees it there still. Just... Just push the change already...


Plus there’s no pm breathing down your neck during a hackathon. “Hey, here’s this really small change. Just include it with your current work” Small change takes a few days


[There are no small changes](https://www.google.com/amp/s/www.intercom.com/blog/there-are-no-small-changes/%3famp)


Oh wow... except for the SMS part, this is EXACTLY the discussion I had with our requirements engineer a couple weeks ago when she was like „can you limit this field“. I started listing all the (possible) implications like the author does and the RE got mad...




Thank you.


My favourite was my boss complaining about how "it can't be that difficult to make a webpage show some files" after one week while he's basically asking for an OS in a webpage (full copy/paste/move of files between folders on a remote server with thumbnails for videos and a permission system).


Reminds me of a dashboard I own. It’s an existing dashboard but the pm wants things to be customizable for every user. So they can drag and drop “widgets” and rearrange them if they wish, and every time they login they’d see those widgets as they arranged them. Easy, right?!?


*Super* easy, should be done by quitting time right? \


This guy enterprises


Yeah Mark left out that it's still 5 minutes to add the icon but 20 days worth of process and other bullshit.


My architect girlfriend can draw a pretty house in a couple of days. No way in hell these are "construction-ready plans".


You're here just to flex you have gf. Admit it


And rightly so


LOL. I could have a gf if I wanted...


-He lie to himself


Same, just dont tell my wife.


[Relevant xkcd](https://xkcd.com/684/), as tradition dictates.


I will neither confirm nor deny.


​ Which is a bit ridiculous. If we are talking about a regular house, \~2-3 stories, standard roof, concrete foundation, regular soil, regular wall width, then it can be built without any extra thinking using bricks, concrete, and steel beams to hold floors, and it'll be good for a hundred (and more) years. And it can up to code too. How? Because most of the houses are very-very-very-very much the same. (They should be made of prefab blocks, but that's a different problem.) ​ Compared to houses software is somehow always a lot more "special", custom, bespoke. Interfaces are different. Sure, JSON, SQL, GraphQL and whatnot are great, but business logic always complicates things. :S ​


I literally had this conversation with a business leader recently "the guys building that building will be on time and on budget, why can't you be" [points to neighboring tower thats a year over plan and millions over budget]... my response was "are they putting in teleporters instead of elevators? Because that's basically what we're trying to do..."


Ah yes, and be sure to ask for the same level of detail in software specification as is needed to make the first ceremonial axe dig. ​ /\* We started a project a few years ago, greenfield, insurance company, they were very adamant on writing specs, they spent close to a year sitting down and writing business processes, they involved a graphics designer, actuarial folks, product guys and gals, a social media/communications lady, experts from all the relevant fields! They wrote hundreds of pages of detailed well thought out plans! Naturally it did not survive first contact with programmers. Since then it's a bit easier to persuade them to speak to us before spending too much time dreaming. \*/


Here's how I explain this. "You're supposed to unload a truck of sand. How long?" "4 hours" "... With your bare hands" "A day" "It's an 18-wheeler". "4 days?" "underwater." "10 days? Where are you going with this?" "the water is frozen" "ok quit it why can't you just give me an accurate estimate?!"


"Your boss probably makes significantly more money than you, why aren't you earning that much?" "Because he's been doing this longer, the circumstances are completely different and that's not a fair comparison." "Yep."


We've been building houses for a lot longer than we've been building software.


And the people building the house know how things are generally supposed to be. The computer running the code will just blindly accept whatever stupidity you throw at it.


It might seem like I watched/listened to too much Daniel Dennett, but buildings seems inherently simpler, in the sense that due to the zero-cost nature of copying software we basically don't solve the same problem twice. (Or if we do, we call that IT operations, and not software engineering, though as systems become larger the line blurs as size itself becomes a complicating factor on its own fast. But that's also true of buildings.)


I, too, do have an architect girlfriend. Do you think they are the same person?


PM after Hackaton: Looks good, lets put it into production! Dev team: Hard no.


During a hackathon I once put SQL statements unmasked directly in the POST of a URL. Did it work, yes. Would it cause wide scale destruction if it actually went to PROD within like 2 seconds, absolutely yes.


> I once put SQL statements unmasked directly in the POST of a URL You're a braver man than I will ever be.


Listen it makes debugging your calling function really easy when you can just put the SQL you want to check right in the URL and get a response.


>SQL statements unmasked directly in the POST of a URL i'll bet you also watch porn with the door unlocked and headphones on you daredevil


Ship IT!!


Lol this happened to me. Built a prototype app... 2 days later PMs inform me we have deployed this now


As a former developer and now PM, I hope to shield my teams from this kind of stuff. Prior to being a PM I supported an application that went to Prod after being a cool demo twenty years ago. The business logic was embedded in stored procedures and every day I wanted to cry.


Without knowing anything about your application, I’ll say that the problem wasn’t that you had business logic in stored procedures, the problem was a total lack of documentation and automatic testing


I literally wrote an email to my upstream this morning telling them to put in a ticket for code I already have. It won’t get prioritized till January. Feels great :/


Don't you love the end of year freezes because some people take the end of November off (the people vital to actually reviewing your work), and the important people take most/all of December off (the people who actually approve your work)?


...and then your boss gets all uptight that everyone on the team is taking those weeks off because 'someone has to work those weeks'.


Pat him/her on the back and tell them they are free to take up the mantle if they can interview, reverse a linked list, and onboard in just a few days


Why is onboarding so hard :”( I feel like I’m having a net negative impact and it takes me weeks to do a 3-4 day task


I was made fun of by a manager who told me I took too long to do basic tasks, and by the end of the internship I was doing two production Prs a week. It's all slow growth, exponential reward. You are entirely validated to take as long as you need to grow. And NEVER let anyone talk down to you for taking your time.




I work in FinTech, and we have a legit freeze from mid-November to mid-January, so that we don't muck up a system vital to EOY reporting. Now, imagine one of those vital systems breaks. It takes longer to get the waiver to fix the system than the fix itself does, and god help you if you put the fix, which is stopping production, into place *before* the waiver is completed. By the one guy in the org. who handles them. Who is out for the week for Christmas. Yes, this has happened before. It required getting sign-offs from the freaking CEO.


Getting the CEO's approval isn't enough, I've found. I got permission to push a change on Canada Day (or rather, was told, "just get it done, take some initiative, get it done before Thursday") and was summarily reemed when the software I pushed didn't work as it did in testing. I spent a full day on a holiday fixing it solo with no thanks and lots of complaints.


Yes I do because humans deserve vacation time.


“We need the icon to be user customizable with a drupal plugin designed to work without an internet connection and it should then sync with all the users in the peer group but only if they’re not on an exemption list or overridden by another sibling peer, but not aunts/uncles. Also it needs to work on IE6 and PalmOS for the one client who’s 85yo VP still uses a Palm Trio. Can you add some auto-pop&pizazz AI and a Facebook/Instagram/Twitter/MySpace feed notification integration for when a user changes the icon too? Let’s see what progress you make by tomorrow.”


I'll circle back and interrupt you every hour until the workday is over too. Thanks champ, you're a lifesaver.


Argh, make it stop, too real!




Yes absolutely. And all the stuff that comes with making something according to requirements, the whole I want this, that and the other and can you add this thing, remove that thing but keep part of that thing which is dependent on the thing, but we don't really know what we need, but I'm sure you can figure it out... oh wait! 3 weeks later, I know what I want now can you make it like this instead?... 3 day app is fine if you're making something you have total control over and is not meeting various business requirements and constraints


My company used to try and free free labor from us Devs with "Hackathons"


How many project managers were in the hackathon?




Hey! No sprint no new icon.


This!! ☝


It's simple, the hackathon version is a prototype that will break if you push it or even look at it funny.


*Image Transcription: Twitter Post* --- **Mark Dalgleish**, @markdalgleish Developers during hackathon: We built an entire application in just 3 days. Developers after hackathon: Adding that icon is going to take 3 weeks. --- ^^I'm a human volunteer content transcriber for Reddit and you could be too! [If you'd like more information on what we do and why we do it, click here!](https://www.reddit.com/r/TranscribersOfReddit/wiki/index)


Built an entire "app" in 3 days ? More like a super simplified untested draft of some loose requirements


I abosulate hate hackathon, crunch modes, and these competitions to do code fast. They set a very bad example and expectations for the management. If you can, please refuse to do this and find a new job, chances are, it will be better. No respectable company should expect crunch/hackathons from their employees. We have things to do after the work hours you know? Most of us dont code/program out of enjoyment, we do it for the paycheck.


I code out of enjoyment, but I have a lot of other things I enjoy to do as well. And another thing about hating hackathons, is that people don't spend time to actually make good code, it's just a mess


So, I was looking to visit a hackerthon. To see what it's about. But this seems to be very on point. And I've seen this in the real world as well as on the web. Hackerthons glorify slave shop operations to make poorly worked out solutions. It's about bragging, not quality. If someone has a positive experience, please post. From what i see, the "Demoscene" is better than hackerthons.


Bad hackathons are the "crunch mode" get things done fast mentality w/ the expectation that any resulting apps are complete, production-ready apps. Good hackathons are teaming people with an idea for some new improvement and having them prototype it out over a few days. The end result is well understood to not be a complete, production-ready application. Also, people should be getting paid during this time. Labor isn't free.


It depends on the intent, we had a 'for fun' hackathon where we got to pick from a list of things and implement one. It was over the course of a day, had a good time, and got paid for it.


> We have things to do after the work hours you know? Most of us dont code/program out of enjoyment, we do it for the paycheck. This right here. I don't work in the field yet, but when I finally do I don't expect to ever look at a text editor outside of work. Any company that would expect me to will need a new dev


A company should not expect it or have it be a requirement. And I don't work on normal work things out side of work hours. But I love programming and have many side projects on the go in my free time. I think it is perfectly fine for a company to prefer to employ developers who have a passion for their work and not just see it as a means to an end. For the same reason I would not judge a car shop for not wanting to employ a mechanic who does not work on his own car because he does not like working on cars. Or a marketing company not wanting to higher an artist who does not design outside work because they don't like it. Passion is an asset in every industry.


I can understand that sentiment, I enjoy coding to an extent but it’s not enough that I would actually want to do it my off time. It’s just something that I found out that I’m pretty good at So I can afford a better life for me and my sweetheart, but there’s better use of my free time in my opinion. I mean it’s not like companies are going to know what I do in my free time anyways


You can't really compare someone not doing it on their free time with them not liking doing it at all. Doing something, even if you love it, for 40h every week is enough to a lot of people. That has nothing to do with lack of passion, at most it means they also have different passions. Companies should absolutely hire someone who likes what they do, but they shouldn't assume that if they don't do it all the time they don't like it.


I'm alright with a couple day code sprint worked in shifts if it's a very rare sort of "special" event where we're plied with free energy drinks and good food and few specific expectations. It's usually pretty clear what kind of hackathon it is. If you're getting emails asking for updates constantly, and everyone is stressed it's the bad kind.


Hackathons are good for what they... fun "competitions" to try out news stuff and throw it away. Looking at that for a key of work or competency though isn't a good measure of skill, especially considering a big piece of hackathons tend to be Bullshit aptitude.


Hackathons should never be a development plan for production code. They are for exploring design and technology while building team work.


In a previous life, I helped organize company wide hackathons a handful of times a year. Time varied (1-2 days of work with a demo day at the end). It was well received because: 1. You get paid and are encouraged to participate by management. It's during work hours, and you could work late if you wanted. 2. Teams were self formed with no project restrictions This led to highly motivated people building something they believed in. It could be tangible work benefit (e.g. I built a lot of tooling to help my daily work that I could never get prioritized otherwise), but could just be self guided learning.


All depends what expectations are set around them. My company hosts hackathons, both internal and community oriented ones. For the internal ones there is normally a big list of generalized complains/problems/shortcomings of our current systems from the previous year and anyone who wants to make a team to present a POC solution for some problem is more than welcome to. Everyone knows these "solutions" are just concepts slapped together in two days. Architects and platform owners are looking for new ideas or approaches to continue investigating for future implementations. That is what a hackathon is supposed to do. If anyone is expecting functioning applications from this, then you have serious problems. But a company doing it to transition ideas into core projects has their shit together.


That's because all of the assets were implemented in a single global static char array and we didn't use any defines for the size of that array, so we'll need to go in and change the hard coded max size in all the places that need access to that.


To be fair we're not artists, this needs to go to the graphic design team


If you make the sprint three weeks long, it's going to take three weeks.


sCRuM iS hErE tO mAKe yOUr lIFe eAsIeR


Only thing it changed is more stress, massive overhead and most of all 12 hours of meetings every two weeks for review and planning


There are multiple people on my team that take PTO on review and retrospective days.


And that app has completely unreadable code, no tests, has a deployment process that involves building a jar on your local computer, and so unoptimized that it ends up being the most expensive app in the org to run.


Please let me know when you deploy that hackathon code and have a million users.


"Boss, there might be a slight 'issue' with the app." "Why, what's wrong?" "Well, it shows almost 1.5 million users." "Wow, so fast, when did we release it?" "Tomorrow..."


I'm in a point in my life where paper work is a major part of my work time and my clients do not understand that things cannot go quick and with the same level of quality.


Never said it was a good application


A hackathon app is supposed to work with a given set of conditions for a short while. Fire and forget. You're not expected to deploy it to actual production, let alone maintain it or add features.


Yeah its literally called a hack, its hacked together software, floor model don't take it on a road trip :)


In three days we threw together something that looks suspiciously similar to a production-ready application. Do not be fooled. Any deviation from the limited feature set we showed off in the demo will cause the app to burst into flames. See that button? You think we skipped it because the demo was running long? That button doesn't work. It never has.


that app is just a happy path, try releasing it to the wild


The demoscene/hackatlon effect. You work fast because you want to show something and know that the result will not cling to you in the next years.


Developers During Hackathon: Team of 5 Developers after Hackathon: Team of 5 developers but you have to run it by management for approval and also it needs to be tested. Also can we borrow James for a week he's really needed to work on this new project. Also we really need to meet with ui to iron out exactly what this will look like. Does 3 work? Hmm maybe Monday at 8 before standup? Oh sorry I forgot I had a meeting with marketing at that time. Did you still meet with ui? Oh that design is not going to work. Do it this way! What do you mean it isn't tested yet? Oh we merged the changes at 5pm the night before the new sprint started so we have to split this task to the next sprint? You said it would be done this sprint though. You guys really need to pick up the pace. Also I added 10 must have bugs to your back log and we are also going to need David to work with James on the new project.


You didn't make an application. You made technical debt.


Just reminds me how much faster people work when they don't have to follow bloated corporate processes. Double edged sword though, because no automated tests on that app probably.


Guess which one they are paid for.


"we're waiting on design".


Apps during hackaton: "let me explode if you click those two buttons in the wrong order".


20 percent of your activities will account for 80 percent of your results - Pareto Principle


The difference is the hackathon isn't going to be delivered to a really nitpicky customer


And we now have 3 months of tech debt!


imagine developing a language in three days




Hey man, You're scaring the kids. Can you keep it down? You alright


Interesting work vs .. well ...the opposite


Rule of 90 percent put eloquently.


It's important to have a dance break please 🤡


Entire application: Glorified database manipulator with a half-decent UI that only works for full screen.


Lol that's what happens when you take out all the extra meetings.


Accidently types { in box. *Database wipes itself.*