4 ms·
You could say the same thing about software development... how is it reasonable for engineers to have opinions about specific business/subject-matter requiremen
by GeneralMayhem 4y ago
You could say the same thing about software development... how is it reasonable for engineers to have opinions about specific business/subject-matter requirements, when all we've studied in detail is CS? Want to write quantitative trading software? Get a degree in economics and take a couple coding courses. Want to write an ad platform? Get a degree in marketing, with a minor in auction theory.
Everything in industry - and, increasingly, academia - is interdisciplinary. Given finite time to study, you're going to have to learn one "side" of the job on the job.
- trashtester 4y ago> Given finite time to study, you're going to have to learn one "side" of the job on the job. Way too many programmers focus only on the coding part. I ABSOLUTELY think programmers in general should try to learn the subject-matters they work with much better than they do. Someone who has above-average competency in programming AND for a business domain, may end up more useful than someone who is within the 20% best programmers, but who relies on having all requirements provided in perfect detail. Getting to this point from a MSc in CS or a similar field does require some effort. Maybe you can learn some of that on the job or maybe you can attend some courses or other training, or maybe you learn from reading some books in your spare time. Some things are hard to go back to after you leave college, though, and I think in particular Math is something it pays to pick up early. And with some more math/stats early on, it often becomes easier to pick up the more technical parts of many applied fields (such as data science, marketing, economics, engineering, etc).
- hardware2win 4y agoYes, companies would want domain experts with good coding skills Basically somebody who "solves company's various problems while using computers to do so"
- trashtester 4y agoExactly. Even jobs that could be done in earlier times with just pen and paper, tend to require something similar to software to do effiently now. A domain expert that has even BASIC coding skills can actually by much more useful than one who has none at all, if there exist programming-like environments that enable them to make use of such skills. Let's say you have two experts in some business domain, and they need to provide input to some data pipeline process. If one of them can express their input in a format that can actually do the computation needed, let's say in Jupyter or in an ETL tool like Pentaho, you can find ways to operationalize that with low latency using only 1-2 developers even for a large number of such experts. If the other will only produce requirements in Confluence or Office, and the developers need to decode these requirements and turn them into working code, there are a lot more ways things can go wrong. Often, this requires multiple iterations to iron misunderstandings. This workflow can easily add a need for one extra developer PER domain expert to do the same job, and also take longer to get into production. In other words, the value generated by the first expert may easily be the same as that of from second expert PLUS the value from one developer, or even more when taking into account that more employees need more managers, more meetings, etc. Now, what sometimes happens in organizations, is that the first domain expert is not recognized as a super-valuable domain expert, but is instead treated as a below average developer. They may even have such a title, even if in many cases (at least in my experience) their education may be something like economics or marketing, or they may be self-taught. But when that person leaves, the organization first fills up the role with a new dev, but quickly hits the wall because there are nobody left that understands the business side. And as the new junior employee spends all of their energy to understand the modern tech stack that most of the Cool Devs are using, managment discovers that the second domain expert suddenly is a bottleneck, while the productivity of the organization has gone down by half or more.
- prmph 4y agoYes, you could say that about every field, but for some reason people like to apply it to some fields that are viewed as sterile without some other domain knowledge. I think this situation speaks to the relative power of various professions. Shouldn't accountants for tech companies understand deeply the nature of software development, in order to avoid being bean counters and support innovation properly? Shouldn't doctors know about the professions of their patients, in order to recommend effective lifestyle changes to improve their health? And so on. And yet, no one claims that doctors or accountants are deficient without domain knowledge of other fields. So I think it's weird to think that software engineers or writers are somehow incomplete unless they also have training in other so called "real" domains. You pick up the domain knowledge naturally as you work on specific projects if you have the needed curiosity to do your work well. Software engineers are masters of their own domain: how abstract information is manipulated, and can apply this skill to any domain when necessary.
- hardware2win 4y agoSE can always ask domain/subject experts
- WalterBright 4y agoWhat's funny about economics is everybody decides they're an expert at age 15. But people don't do this for, say, physics.
- burrows 4y agoMaybe. Once a month or so someone will tell me about a tunneling or multi world QM in a way that I assume is completely wrong.