Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Are you saying that most software engineering jobs in your experience are about integrating existing projects rather than building anything interesting?


I would say that all software engineering jobs are about integrating existing projects, although ideally that would be accomplished by building something interesting.

Often we draw some artificial line and ignore everything below that. If you draw the line right below where you're working, then you can "I'm building a system from scratch! Just using [Excel|a web browser|AWS services|NPM libraries|C standard lib|an assembler]."

I'm not sure there's any obviously "right" place to draw the line. The people working on better compilers are building on a stack of technology so vast they can't see the bottom, even if they're clearly many, many levels below where I am tinkering with some payment code talking to Stripe's APIs.


Not sure what the parent meant, but that sentence is most definitely true for the vast vast majority of software development of products - websites, apps (desktop, mobile etc..), IOT etc...

Making products is, as far as I know, also the vast majority of software engineering jobs.

I'm sure there are some software development work that is writing code that isn't integrating third party code- especially in library maintenance, low-level embedded stuff and some core business code of products. Even if your products are novel and their core require specialized code, only a small number of the developers in the organization will work on that, the vast majority will work on things around the core.


I mean I was an embedded C dev, I "integrated" a compiler, an x86 chip, and a bunch of proprietary hardware. All software can be described as a kind of glue (luckily glue can be interesting lol)...


Integrating existing projects and building something interesting are not mutually exclusive.


Some of us are systems/infra people for whom foundational stuff is where the interest lies. Some of us are product people who thrive on more direct user-facing value. It’s a lot easier for the latter group to find interest in integrating preexisting open-source building blocks, while the former wish they could be making the building blocks themselves.


But is that dynamic being driven by open source or does it just exist naturally? Like it doesn't make sense to code a complete OS from scratch every five years or write a brand new implementation of a web server. Code reuse is encourages by open source but it happens a lot with out it as well. And I'd argue it makes technology a lot more valuable because we have a suit of existing well built software that's been tunned over the years.


> Like it doesn't make sense to code a complete OS from scratch every five years

No but it does make sense for us to pay for using an OS given that it's fundamental to what we do. The free as in free beer model means that the entities that produce operating systems do not extract any significant fraction of the value they are responsible for generating. It also perpetuates this idea that we shouldn't pay for software at all, not even $5 for a compiler.

So with that in mind, I'm saying that we should be careful about what software we opensource, and ideally we should at least be commercially sponsored to produce the software that we do open source if we want careers in building these high quality components or if we want to breed a culture whereby employers do invest engineering hours building these things.

> And I'd argue it makes technology a lot more valuable

Yes it means that businesses are able to produce a lot more for a lot less, but it also means that my skills are valued less. Companies value engineers by their hours of input not by the commercial value of the code. For example, I think Electron is terrible for desktop app development. It's great for prototyping but it's bloated and inefficient, I think we can do a lot better. There is no real market for an alternative because we have QT on the high perf C++ side and we have the trash web code on the other. If we had a culture of expecting to pay small amounts for software it would be more likely that I could write a high quality middle ground based on Golang or something, which is less approachable than web dev but more approachable than C++, and we would have higher quality and better performing code produced by it. For us to have this thing I either have to build this thing for free also or I have to come up with some fairly contrived business model, hope that kind people donate etc. The backdrop of opensource culture has devalued this implementation beyond the point of viability, so we will not see it unless a commercial sponsor has a specific need for it or I'm feeling particularly charitable.


I disagree. I think because the incremental cost for another copy of some already written software is 0, the perceived value is 0. It's the general problem with copyright IMHO.

It's not like a widget, that there's a value intrinsic to each widget - the value is all in the creating the initial copy of the software and in any ongoing changes people want.

And while for a singular person, perhaps writing FLOSS is charity, but for companies it might well be more payment in kind - i.e. cooperation on making it do things each company wants makes it more valuable for everyone.


I would generally agree with this sentiment.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: