6 ms·
In most companies, writing code is the last thing developers (should) do. You're there to achieve business objectives, and you were hired because someone though
by lijok 2y ago
In most companies, writing code is the last thing developers (should) do. You're there to achieve business objectives, and you were hired because someone thought your experience and skillset will be necessary to achieve those business objectives. Sometimes those objectives are met with an excel sheet, sometimes they're met by losely integrating various 3rd parties, sometimes they're met by integrating various libraries, and sometimes it requires treading new ground and writing some real code.
The best web dev isn't the one that knows .Net, React, Svelte, GraphQL, micro-frontends, etc. The best web dev is the one that can convince their manager that their business objectives can be achieved by using WordPress.
- sharkweek 2y agoOh wow… the WordPress example… Worked at a SaaS company that had a fantastic product and a great tech team that had built it. We also did a lot of data-based research and published it as white papers for lead gen. We wanted to start publishing more content on our site to expand reach, so the team decided a CMS would be a solution for the researchers and content marketers to publish without any tech involvement. Well it turns out our CTO, for a few justifiable reasons if we’re painting with a broad brush, absolutely loathed WordPress. So despite our arguments an integration would be easier/cheaper/less time consuming for everyone, we built our own CMS instead. And we, of course, ended up with a significantly worse version of WordPress that the content folks all hated. So it goes.
- compootr 2y ago... or ones that can convince them not to use WP! (RE: matt mullenwag's breakdown/mental issues)
- facile3232 2y ago[dead]
- noosphr 2y ago>The best chemical engineer isn't the one that knows the pressure at which chlorine tanks fail, they are the one that knows chlorine gas can be stored in a garage in coke bottles. I look forward to the day that software 'engineers' are held accountable to the same degree that all other engineers are. I've written software for industrial machinery that can kill people if it went wrong. It's amazing how much your views on software change when you realize that your accountability starts at manslaughter and goes up from there. A human life is valued at around $10m in the developed world, incidentally my first real job was fixing an excel spreadsheet that caused $10m in trade losses after the API it called for exchange rates went stale. I'm not saying that we arrest everyone who writes a spreadsheet to help them with their job. But _someone_ should have their head on the line when it becomes a business process without oversight that can cause millions in losses, damages or bills.
- Mountain_Skies 2y agoI look forward to the day when software engineers have the autonomy that licensed engineers have, so they can tell managers no and if the manager goes around the engineer, the manager and the company end up directly liable for the damage they create.
- godelski 2y agoThese are in fact the same thing. It is because an engineer can be held liable that results in them being willing to say no. In general, they probably won't be prosecuted, but a common reason for this is that there will be written records of engineers telling management that there are concerning risks. This also results in the job of a Professional Engineer, who is a person who legally puts themselves on the line. They get paid very well and for good reason, they have a lot on the line themselves. I suspect that a big reason CS is not held to the same standards is due to abstraction and that it is still new. But we do live in a time where bad code can get people killed (control systems are the easiest examples), just as building a faulty bridge will. I just hope we don't need a Tacoma Bridge to cause change. Obviously it is harder to figure out things that are more abstract like Social Media (can provide both good and harm). But I'd say, you can always say no. If you're not saying "no" now, that's still a choice you've made. A job is very persuasive, and I'm not saying you're bad for just keeping your head down, just that people should consider where they'd draw the line. The line is personal and different for everyone (which is okay!). Having taken traditional engineering courses, I'll note that ethics is frequently discussed and you're likely to be told you should try to define your line before you asked to cross it. If you don't, you'll likely to cross the line without knowing, as you just didn't know what it looked like. You can always redefine the line as you get more resolution (it continuously updates) but it's much harder to say "no" when you haven't given it much thought.
- necovek 2y agoThe main reason we are at a point we are is that it is possible to build very complex software systems cheaply: both the tools and building blocks are abundant and available to everyone. If an engineer tried to build a skyscraper or a bridge, they'd meet challenges other than them having knowledge or professional certification. And to your point, if anyone ever asked an engineer to insert another floor between 8th and 9th floor of a 15 story building, they'd laugh at them. In software engineering, this is possible even if hard. And finally, because of software living a much different life, it will be hard to define criteria for good software.
- godelski 2y agoI think your model has faulty assumptions. It makes the assumptions that the companies and managers actually know what the business objectives are. Or rather, what the business objectives that will make money are. I think we all have seen examples where maybe an afternoon's worth of work could fix some feature that is frustrating users, but since there's not a clear "value" ascribed to it, it gets pushed off. While simultaneously we've seen tons of money dumped into things neither users nor investors want and that end up failing. If we're handed an engineer title, I think we should be engineers. Which requires you to be a bit "grumpy". That is because the job of an engineer is to find problems and then fix them. I say "grumpy" because it is your job to find friction in a system and remove it. What I've often seen though is that acknowledging friction is interpreted as rejection and not as part of the process to make things better. Unless we get to the magic land of perfection, the job of identifying issues and improving will always be extremely valuable and naturally lead to increased revenue[0]. There's a lot of things that go into making a product "good" and this can't be entirely done from technical skills, but it is a critical aspect. Look at Steve Job's Apple. The genius was the mixture of form and function. You make computers that are powerful, have good software, AND the UI/UX is far from a second thought. Good UI/UX and shitty code don't make a good product, similarly neither does shitty UI/UX and impressive code (backend devs don't rule the world) > The best web dev is the one that can convince their manager that their business objectives can be achieved by using WordPress. Seems like your developer is a manager. This has perverse incentives and I don't think this is the right way to frame things. As an example, in law you wouldn't want a lawyer to win just because they were better at arguing. Obviously this happens and a charismatic lawyer can win despite the facts not being in their favor, but I think we all can agree that this is not what we want a justice system to look like. We want facts and the law to matter more while a lawyer's charisma (or lack of) is an unavoidable fact of life. Just a limit in the underlying mechanisms in which we communicate. Every job has politics and you can't get rid of them, but you don't want politics to rule the job. That wouldn't create the most value for the company, though it might for a person at that company. [0] Obviously you have to weigh the costs that it takes to fix things. But identification is often cheap and easy. At least the first step of identification anyways.
- makstaks 2y agoI think it depends on your company rather than saying "most". If you are in a software company (i.e. you sell the software you write), then your value is the unique IP you create from writing code. In that case, hopefully a larger portion of your day is coding. edit: When I say coding, I don't mean plumbing code, I mean something that is actually a unique invention.
- dxroshan 2y agoI disagree with you. According to your definition of best developer, is one with a skill for persuade manager enough for building complex we apps and services? A developer is hired to write code and they achieve business goals by writing code and building software. Writing code is the skill they have and that is why they are hired.
- vborovikov 2y agoBut I don't want to configure WordPress. I like to write and debug code. If it's not required for the business, I'm not interested in working there at all.