Why can’t I use your website @Oxy ?
Wubuntu - The Windows Ubuntu Operating System
Windows Ubuntu Operating System
Why can’t I use your website @Oxy ?
I try to block the VPN whenever I get the chance
because too many of them come via VPN and run some Vulnerability Scanning Tools
Oh. That makes sense, I disabled my VPN and it let me in.
For a minute I thought that the man, the legend, the anti-capitalist had returned.
Who?
Yes. The legendary.
I’m so confused. Who are you talking about? Oxy added a P to my post and I don’t understand why. Who is Paul Newman???
Oh dear. (Read his latest threads for more information)
I’ve never heard of software being developed this way.
Maybe in some code monkey sweat shops in a low income countries I could imagine something like this. But if you actually want your developers to contribute to your final product, and not just waste time and money to micro-manage a product together that nobody wants, I think that this may be one of the worst ways to do it.
Your method sounds fine in manufacturing. If you’re working in an iPhone assembly plant, then you may be responsible for installing screw 40733 into component 1606. Then you don’t need to know that you’re assembling an iPhone, because you need to install the exact same screw into the exact same component over and over and over again, and people other than you have already determined that this is the exact thing they need every time.
Software development is completely different. You’re not writing the exact same code every time. All code is unique, so for every piece of code you write, it should be considered what it’s supposed to achieve, and what the impact will be on the final product.
You don’t tell a developer to write class X with methods Y and Z. No, a product owner (someone who can translate high level needs into specific tasks) gives them a user story, which describes the feature that should be built, and you leave it up to the developer to determine the best way to integrate it into the application, because they are the technical expert.
To make sure that the developers do this in the best way, you facilitate communication and teamwork. Do pair programming, code reviews and mentoring to share knowledge and ideas, so your final product is the sum of expertise of your team, not the lowest common denominator of your developers.
In your example, who is responsible for making the decision that you need class X for the final product? And who is responsible for integrating the result? Who other than the developer should be doing these code things?
Because I think that’s precisely what the developer should be doing. Writing the code is the easy part. That’s the difference between a programmer and a software engineer.
Yes, building a large product (like an operating system) is done in parallel by many different teams, each responsible for a different part of the final product. A team with thousands of people doesn’t work, and understanding Windows completely is just impossible. But every developer knows that they are working on Windows, and they know that their team is responsible for building Explorer. If you don’t know that, you cannot possibly understand a user story and understand what you need to do to fulfill it.
Also, you’re not hiding code and isolating teams. You want the knowledge to flow freely. If you know another team has solved the same problem you’re running into, you want to be able to check their code and talk to them so you don’t have to reinvent the wheel. The entirety of Google is notably in a single, massive Git repository that every developer has access to.
Because software engineering is not mindless labor, it’s highly creative and highly skilled work, and purposely keeping your engineers in the dark is a recipe for disaster.
That sounds like a reasonable way to work. However, Oxy mentioned this:
Which I believe also sounds reasonable. What if a company had an infrastructure that gave them a marketing advantage and someone quit working there and started working for competitors? What’s preventing them from leaking information?
For starters: contracts with non-compete clauses. If you have a developer working for your company that does something specific, you could make them sign an agreement saying they can’t work for a direct competitor for a few years. By the time that expires, their knowledge will be out of date.
You can also bolt it down by requiring (or even enforcing) developers to work on company managed devices only, with strict monitoring on what goes out and comes it. This helps to prevent source code from getting leaked, accidentally or on purpose.
And you have to consider the perspective of the developer. Sure, they could leak the source code, but why would they? If they’re found out, their previous employer will have their head. And while a competitor may be interested in their knowledge, they also open themselves up to being sued if it’s ever found out. And would you, as a competitor, really want a known tattle-tail working on your core systems?
It does raise an interesting point, because from what I know, most companies are pretty open internally, at least for developers, but source code leaks are really rare.
And being able to talk about how another company works? That’s just called work experience, and it’s perfectly normal. After all, if you want to hire an experienced developer, you also want them to actually know what they have been doing, wouldn’t you?
I just discovered this abomination
Windows Ubuntu Operating System
contracts with non-compete clauses
In some countries, this may be considered unfair restrain of trade
Similar to linuxfx
Are you ever too uncomfortable to start coding something since you have tried such thing before?
For me I loved the challenge of learning and coding new things although these days I’ve slowed down a lot due to health issues
Hopefully my mind will get back into gear one day
Take care if yourself! Health is more important than anything
Yeah after the recent stroke I am not the same but I can feel some improvement but it’s very slow
Thanks