3 ms·
We're doing applied mathematics, not bathroom remodeling. Try telling a mathematician to "story point" the conjectures they're working on.
by ResearchCode 4y ago
We're doing applied mathematics, not bathroom remodeling. Try telling a mathematician to "story point" the conjectures they're working on.
- drstewart 4y agoPlumbers are doing applied physics, not rendering a button on a webpage. Try telling a physicist to provide an "estimate" for the cost of proving the big bang theory. Why should you expect an estimate for fixing your leaky bathroom faucet? Half this site is crapping its pants over being replaced by AI being able to do their jobs with a prompt yet it thinks their work is sooo novel and unknowable.
- ResearchCode 4y agoIf a computer scientist is doing completely routine tasks, they should be automating them, not estimating them every two weeks.
- yibg 4y agoMost of software development is not computer science. Building a login page is a routine task.
- roflyear 4y agoLook man, even plumbing estimates are usually way off - but they know how long it takes to hook up two pipes that are 30' long for your new bathroom. They don't need to have meetings about it during the process. They don't need to talk to Home Depot about integrating with their broken API.
- reikonomusha 4y agoI work in an industrial physics and mathematics domain, and in that domain specifically, I must say it is very charitable to describe a majority of software engineers as doing "applied mathematics", if we are to interpret that as meaning "software engineers are participating in the practice of doing research mathematics." Except perhaps in some extremely reductionist view of what it means to "write a program" (e.g., programs are proofs, Curry-Howard, or some other idea), I don't think "applied mathematics" truly characterizes the work of, say, someone writing out a GitHub Action or adding a new RESTful endpoint to list a company's product catalog. There's a pattern amongst software engineers in these and other discussions. When it comes to discussing management and resource estimation, some people describe software as the most arcane, idiosyncratic craft to exist. In other situations (e.g., where actual research mathematics or computer science is proposed to be used to solve a problem), software engineering has to be "simple", "aligned with best practices", and almost anti-intellectual. The pattern of discussion (here and elsewhere), to me, indicates a survival instinct of sorts, if that makes sense. To this end, there's a sort of hypocrisy if it means being a software engineer is as unrestrained as possible: software is purported to be like applied mathematics in situations where it's advantageous to describe it as such (e.g., "we can't estimate because proving conjectures is intrinsically unpredictable") , then when the proposition is brought forth to engage with software as applied math (e.g., "team, we can bound the 99%ile perf by proving this recurrence on resource usage, and that'll give us evidence to modify our search algorithm with an adaptive radix tree."), software engineers push it away for something satisfactory to a CS101 student (e.g., "we can just implement auto-completion of our product catalog by searching a sorted array of item names, why complicate it?"). I understand the troubles of estimating resources for tasks and projects, and indeed the requests can sometimes be unrealistic and overbearing—I don't mean to suggest otherwise—but even the most technically sophisticated pieces of software are flush with "ordinary" kinds of programming tasks.
- ResearchCode 4y agoIn my experience just working by priority works better than endlessly estimating tiny chunks of a project, that doesn't actually give any real predictability. Workplaces that go heavy on estimation and "agile" methodology produce bad software and not very reliably.
- remkop22 4y agoWe're performing applied mathematics, but we're performing that task as engineers. The key is in 'applied'. Going from theory to practice takes planning and is not as unbounded as performing science in my opinion.
- ResearchCode 4y agoI think it's about balance, and a lot of software engineering projects would do better by steering more toward the academic research group model than the current fad of two week "sprint", plenty of non-technical pseudo-managers and endless micro-estimations.
- remkop22 4y agoWhat ever model works for a group of people producing software I'm fine with. But as someone else said in this thread: If the question is more about who provides the estimate and less about why is there an estimate (also plenty of opinions about that in this thread) then I would say that time estimation is a integral part of an engineers job. What makes someone an engineer is being able to provide a weighted solution towards the needs of a client or consumer. Not the best solution in the world, but the best solution for that client. If the requirements are that it should be delivered fast, you understand that the quality goes down. If the client wants high quality, it takes more time.
- justeleblanc 4y agoYou're not seriously comparing research mathematics with software development, are you? You think you're expanding the breadth of human knowledge with your CSS tweaks of the shopping cart implementation? Give me a break.
- peteradio 4y ago> applied mathematics
- justeleblanc 4y agoApplied mathematics is a branch of mathematics. It's research. Someone studying solutions of the Navier-Stokes equations is doing applied mathematics. An accountant uses mathematics, but their work isn't "applied mathematics" any more than a plumber is an "applied physicist", or a veterinarian is an "applied biologist".
- ResearchCode 4y agoIt's not less research mathematics than bathroom remodeling, that's for sure. I never tweaked any CSS, did you?