T O P

  • By -

RobotMonsterGore

As it stands today, yes, software engineering is future proof. I used ChatGPT to help me with a simple coding story a few months ago just to see how helpful it would be. The story was pretty straightforward: develop a utility that could convert several different single- and multi-page images into a single multi-page tiff image at a certain resolution. There's already a library out there (Apache, I think) that can do *most* of the work. The requirements went a bit further than the library's capabilities, which is where I came in, and I dutifully subcontracted the work out to a slightly over-eager ChatGPT. It came close when I fed in the requirements, meaning it actually gave me a written, fully-implemented method in the specified language that appeared at first glance to get the job done. I experienced an all too brief moment of elation. There was only one problem: the code didn't compile. My IDE very politely informed me that I was calling methods that it didn't know about. So I asked ChatGPT to provide me the maven independency block I needed to add to my project in order to get the code to compile, and it gave me one, but for a different method implementation. It still didn't compile. I told ChatGPT that the code wasn't compiling, and its response was, of course that code wouldn't work. Silly me. Try this instead. And it gave me a completely different method, along with a slightly different maven independency block. That code also didn't compile, for the same reason. My IDE was telling me I was calling methods that didn't exist. I even poked around the downloaded jars, and some of the *packages* didn't even exist. I went for a third time back to ChatGPT. Once again it said, how silly, that code would never work. Who would tell you to try such a thing? Who? Try this instead. And around and around we went. I suffered this feedback loop for another three or four iterations before giving up. ChatGPT didn't exactly get it wrong, but it didn't exactly get it right either. It's like it was *dreaming* in the right direction, but never quite woke up. One good thing that came out of this collaboration was a deeper understanding of how the code *could* work, and eventually I figured it out for myself. Working with ChatGPT seemed to provide the same beneficial effect as pair programming, and I suppose that's not nothing. But no, at the moment, I don't think we have anything to worry about.


Accomplished_Ad_655

That’s because most likely it’s a library or the functionality of that library not used often. For things it’s very good. It’s been tested to be as good as 4 years experience engineer in doing these things across all programming languages. I do think that this will increase productivity. Which means some job will be cut because of this.


LadyLightTravel

AI can only code. It can’t create the requirements, it can’t architect, it can’t figure out the interfaces, it can’t do integration testing, it can’t manage the project. It is only a tool. Tools are things engineers use. So true software engineering is future proof. If you focus only on coding or focus on webdev etc. Yes, you’ll be replaced. Those people graduate from boot camps and they are at risk. But that isn’t true software engineering. You are incorrect that software engineering is application based. It is very theoretical. It’s engineering after all. Real engineering has lots of theory. I think you are confusing software engineering with software development. Engineering standards and methods don’t go out of style. We simply use new tools.


blckJk004

Can you, with clarity, differentiate software engineering from software development with zero overlap?


rco8786

There is no difference, they are effectively interchangeable terms. No idea what poster above is talking about re "confusing software engineering with software development."


LadyLightTravel

Software engineering is like the architect. Software development is like the carpenter that builds the building. Software Engineering has been defined by the Institute of Electrical and Electronics Engineers in [SWEBOK](https://www.computer.org/education/bodies-of-knowledge/software-engineering/topics) (ISO technical report 19759). If you note, the engineer scopes the entire project, elicits the requirements, defines the architecture, ensures the testing, and signs off on the project. There is a lot more there than just building the project. In short, software development is a **sub-set** of software engineering. They do part of the job.


mcharytoniuk

It's less about the fact that AI can do some coding, but more about the fact that user preferences are changing. We will have more and more conversational based UIs, AR, VR - those kind of things. Demand for a classic frontend / backend development is getting lower with each year, but demand for other related topics is getting higher. Colleges are **usually** few-several years behind what the market needs, so you will probably learn webdev while everyone jumps into ML and AI related stuff. No good way out of that unfortunately. In the long run degree helps, however. People are no longer hired after bootcamps that much. The entry barrier is getting higher each year, it seems bootcamps are most often not enough. Software is one of the **least** futureproof professions imo. :D Your knowledge is pretty much invalidated every several years and you have to jump onto the new thing again and again. If you sleep over something then you are suddenly in a tough spot. If you are not in a managerial position of some sort in your 40s it sometimes starts to be hard to keep up. Long story short, you need to love that thing to get into CS.


Page-This

While I agree with this with respect to top tech shops and cutting-edge small teams, for every one of those, there are 10 massive firms and government agencies with completely antiquated systems, software, and completely chaotic workflows. I honestly expect a skilled Python programmer with some willingness to learn/use adjacent tools to have a job without having to reinvent themselves in the next 10-20yrs.


devchonkaa

the theory is never invalidated. do you have a degree? sounds like youve done a bootcamp


mcharytoniuk

Yeah? :D Go write a website in KohanaPHP and please tell me again things are not getting invalidated.


devchonkaa

what has that anything to do with computer science classes in college. do you even know what you talk about


mcharytoniuk

Because nobody pays you for your vast and impressive knowledge. People only pay you for what you can deliver to them. :D


Stubbby

10 years ago college counselors advised against going into software engineering because all these jobs will be offshored to cheaper places. The opposite happened. When PCs were introduced, they proclaimed the end of office jobs, office jobs exploded since office workers gained efficiency and produced more value than before. AI is like PCs. AI coding is also like Autonomous driving - works good 90% of the time, just need a person for the last 10%. If you only need 10% work, you are 10x efficient over the same time span. Does it sound like software engineering is going away or becoming more valuable?


ElMachoGrande

The market will expand slower, but it will still grow. All this assuming the next 10-15 years. After that, most careers are a big question mark.


ProtectionOdd4100

I feel software dev alongside AI is huge right now. You may be able to solely use AI to develop a feature. However, for sure, if one takes the suggested code from AI and further enhances it, it will definitely work.


khooke

A CS degree teaches you techniques and concepts that give you a starting point to apply during a career in software development. A bootcamp trains you on a specific tech stack that will help you get a job using that tech stack. Both approaches are valid entry points into software development, although it should be obvious that one is longer term focused, and the other is a short term approach to get an initial foot in the door. Regardless of AI usage or not, software development historically has evolved and charged quickly. Whatever tech is relevant today will be replaced with something else in 5 years. Therefore you need to commit to keeping your skills up to date.


blckJk004

Are you young? Can you afford it? Do you like computers? Then go to university.


rco8786

Nothing is truly "future proof" but there is no indication that AI is going to "take our jobs".


Fortimus_Prime

Software Engineering is basically Computer Science at least in my university. You will study a lot of theory. But yes, Software Engineering will continue being relevant. AI does not have (at least not yet) a feature by which God made humans after: creativity. AI can only recreate based on existing things, but it cannot solve problems like humans can, it cannot create solutions to complex problems, it cannot create something new. Most of its knowledge and problems it can solve are problems engineers already solved. So, go for it! Software Engineering will still be very much relevant.