What do computer science engineers do?

  • Thread starter Thread starter geekynerd
  • Start date Start date
Click For Summary

Discussion Overview

The discussion revolves around the experiences and expectations of first-year computer science students regarding their future careers in the field. Participants explore the types of work computer science engineers do, the skills they are learning, and the challenges they face in understanding their career paths.

Discussion Character

  • Exploratory
  • Debate/contested
  • Conceptual clarification

Main Points Raised

  • One participant expresses uncertainty about their future career in computer science and seeks guidance on how to apply their learning in programming languages like C and Python.
  • Another participant suggests reaching out to working engineers to gain insights into their roles.
  • Some participants reflect on their own experiences, noting that the field offers a wide range of possibilities but also caution about the potential for ending up in an area that may not be enjoyable.
  • There are mentions of specific tasks and projects that computer engineers might undertake, such as writing scripts for configuration management and optimizing performance of applications.
  • One participant questions the motivations of those entering the field, suggesting that passion for programming may influence success.
  • Another participant humorously notes that a common task in the field is fixing bugs left by others, acknowledging this as a prevalent experience.
  • Some participants recommend seeking internships or networking with alumni to better understand the profession.

Areas of Agreement / Disagreement

Participants express a mix of agreement and disagreement regarding the motivations for entering the field and the nature of the work. There is no consensus on the best approach for the original poster to take in navigating their career path.

Contextual Notes

Participants highlight the variability in experiences and the importance of personal motivation in the field, but there are no definitive conclusions about the best practices for success in computer science careers.

  • #31
phinds said:
That would be funny if it weren't so true :smile:

NOTE: to be fair, it IS an exaggeration (but an exaggeration of a very real phenomenon)
Don't get me started about "refactoring" (a de facto euphemism for "complete rewrite").... :smile:
 
Physics news on Phys.org
  • #32
geekynerd said:
i my college they are teaching python and c but by learning algorithm and stuff how can i use it. what can i build with it. i am to blank somebody help me
For starters, learning C and a pragma-oriented language like Python are good things. With that basis, you can do anything.

My recommendation is time-honored: (1) find a charity and volunteer, and (2) consider contributing to open-source projects.

You will want to learn operating systems, networking/telecommunications (yes the latter is still useful), and bare hardware at some point. You will specialize.

But people need tons of stuff done, and any of it can lead you to make things by learning first to fix things. Walk before you run IMHO.
 
  • Like
Likes   Reactions: sbrothy and berkeman
  • #33
ok thank you for the reply so much. And a help. if you are currently working on a open source project can you recommend me that which is begineer friendly and actually useful for us. and again thank you for the reply
 
  • #34
Death Metal said:
For starters, learning C and a pragma-oriented language like Python are good things. With that basis, you can do anything.

My recommendation is time-honored: (1) find a charity and volunteer, and (2) consider contributing to open-source projects.

You will want to learn operating systems, networking/telecommunications (yes the latter is still useful), and bare hardware at some point. You will specialize.

But people need tons of stuff done, and any of it can lead you to make things by learning first to fix things. Walk before you run IMHO.

Though we agree overall, a little warning about "contributing to opensource projects" though:

In reality you risk running into dysfunctional "teams" trying to maintain a program whose user base is (or managers or developers are) either non-existent, dwindling or misaligned with the project's original intent.

Or you risk running into some pensioned CS professor desperately trying to make random programmers make his failed idea succeed after his students gave up long ago.

As you might have guessed I speak of personal experience, and I have more examples. Not that opensource cannot be a rewarding experience, you just need to go into it with open eyes and not commit fully before you've had a good look and understanding of the underlying social dynamics.

Just my 2 cents...
 
  • #35
sbrothy said:
Though we agree overall, a little warning about "contributing to opensource projects" though:

In reality you risk running into dysfunctional "teams" trying to maintain a program whose user base is (or managers or developers are) either non-existent, dwindling or misaligned with the project's original intent.

Or you risk running into some pensioned CS professor desperately trying to make random programmers make his failed idea succeed after his students gave up long ago.

As you might have guessed I speak of personal experience, and I have more examples. Not that opensource cannot be a rewarding experience, you just need to go into it with open eyes and not commit fully before you've had a good look and understanding of the underlying social dynamics.

Just my 2 cents...
You sound like you might be in a position to make some good recommendations to the OP.
 
Last edited by a moderator:
  • #36
DaveC426913 said:
geekynerd said:
i have no idea about colleges and degrees in high school so i randomly chose a course iin college. and this course has higher placements than any other so i joined this course

This choice might seem devious now but it may backfire later on if you find that you learned something (however easy it came to you) that you realize later you don't want to use.

Best advice is to follow what interests you, specifically something you can see yourself doing 20 years from now...

Sorry if that sounds cynical.

(EDITED: broken idiom)
 
  • Agree
Likes   Reactions: TensorCalculus
  • #37
Both my parents are CS engineers and have been for 20-30 ish years, and have worked in many different companies over the years...
One thing that A lot of aspiring software engineers (I know a few) do not know of but that my parents both 100% agree is true is that even in a technical job like a software engineer, you need to be able to talk well. They say communication is like 80% and the technical stuff is just 20% - that might be something to keep in mind.
 
  • Like
  • Agree
Likes   Reactions: Astronuc, DaveE, sbrothy and 2 others
  • #38
TensorCalculus said:
Both my parents are CS engineers and have been for 20-30 ish years, and have worked in many different companies over the years...
One thing that A lot of aspiring software engineers (I know a few) do not know of but that my parents both 100% agree is true is that even in a technical job like a software engineer, you need to be able to talk well. They say communication is like 80% and the technical stuff is just 20% - that might be something to keep in mind.
I'm not a computer scientist, but I worked with many of them across a broad spectrum of positions in the telecommunications industry. I agree that for any technical job (not just software engineering), communications ability (not just verbal, but also written and visual) is also necessary, not just technical ability. But the split (communications - technical) needed for success varies widely with the position. E.g., if you're hired into a funded research position, it might be ~80% technical - 20% communications [this assumes, e.g., that you communicate well enough to be hired in the first place, and communicate well enough to successfully interact with peers and management, but are not responsible for acquiring funds for the research]. On the other hand, if you're providing engineering support to a marketing team, e.g., the split might be ~80% communications - 20% technical.
 
  • Like
  • Agree
Likes   Reactions: Astronuc and TensorCalculus
  • #39
TensorCalculus said:
Both my parents are CS engineers and have been for 20-30 ish years, and have worked in many different companies over the years...
One thing that A lot of aspiring software engineers (I know a few) do not know of but that my parents both 100% agree is true is that even in a technical job like a software engineer, you need to be able to talk well. They say communication is like 80% and the technical stuff is just 20% - that might be something to keep in mind.

I can recognize this. A huge part of every software project (especially the larger ones) is an endless stream of meetings. And that's not even counting communicating with the customer!
 
  • Agree
Likes   Reactions: TensorCalculus and phinds
  • #40
oh, and this communication skill... along with emotional intelligence, these skills are going to become more and more important as AI starts doing those more mediocre tasks like entry level coding... or at least that's what my parents think.
 
  • #41
sbrothy said:
This choice might seem devious now but it may backfire later on if you find that you learned something (however easy it came to you) that you realize later you don't want to use.

Best advice is to follow what interests you, specifically something you can see yourself doing 20 years from now...

Sorry if that sounds cynical.

(EDITED: broken idiom)
yeah. actually i was looking into the field of the computational physics and i am working on it. i dont have any specific plans for future but i will look into it. thanks for the repy
 
  • #42
CrysPhys said:
I'm not a computer scientist, but I worked with many of them across a broad spectrum of positions in the telecommunications industry. I agree that for any technical job (not just software engineering), communications ability (not just verbal, but also written and visual) is also necessary, not just technical ability. But the split (communications - technical) needed for success varies widely with the position. E.g., if you're hired into a funded research position, it might be ~80% technical - 20% communications [this assumes, e.g., that you communicate well enough to be hired in the first place, and communicate well enough to successfully interact with peers and management, but are not responsible for acquiring funds for the research]. On the other hand, if you're providing engineering support to a marketing team, e.g., the split might be ~80% communications - 20% technical.
Communication skills and emotional intelligence is probably important whichever profession you decide upon. An insurance salesman needs both, as do programmers or physicists writing a paper with 20 coauthors. Heck, even a drug-pusher will probably get "offed" if he/she doesn't master social situations. :woot:

In fact, completing a job interview without a basic mastery of both will probably get you nowhere.
 
  • #43
comming to this thread after a year. I got clarity on what computer science engineers do. but i am confused which subfiends shoud i choose in this age of AI. clearly fullstack development is not the one to choose. even in app development ai is showing some promising signs. rn i am focused on computer networks and devops. but in my 5th semester i took principle of quantum computing course and i was wondering if it i a bright field and i can set my career path there. or is it too early to think about the subfields and do my regular classes and focus on CGPA
 
  • #44
geekynerd said:
comming to this thread after a year. I got clarity on what computer science engineers do. but i am confused which subfiends shoud i choose in this age of AI. clearly fullstack development is not the one to choose. even in app development ai is showing some promising signs. rn i am focused on computer networks and devops. but in my 5th semester i took principle of quantum computing course and i was wondering if it i a bright field and i can set my career path there. or is it too early to think about the subfields and do my regular classes and focus on CGPA
As I'm somewhat of a dinosaur the advent of AI makes the whole field almost impossible to guess about for me. Vibe-coding notwithstanding you still need to master the basic skills. If you decide to study CS on a bachelor or candidate level (whatever those are called where you're at), you'd probably be asked to write your own (very basic) operating system. If at that point you don't know what a security ring is you're gonna have a hard time.

EDIT: Then again, even before AI we had concepts as ghost execution and Arbitrary Code execution (XKCD). And that's before we we're talking about hardware exploits.

https://www.explainxkcd.com/wiki/index.php/2958:_Hatchery
 
Last edited:
  • Informative
Likes   Reactions: berkeman
  • #45
geekynerd said:
comming to this thread after a year. I got clarity on what computer science engineers do. but i am confused which subfiends shoud i choose in this age of AI. clearly fullstack development is not the one to choose. even in app development ai is showing some promising signs. rn i am focused on computer networks and devops. but in my 5th semester i took principle of quantum computing course and i was wondering if it i a bright field and i can set my career path there. or is it too early to think about the subfields and do my regular classes and focus on CGPA
A word of warning though. Concentrating on GUI development will leave you dissatisfied IMHO. In that subfield you'll really learn how to debug and refactor and none of those are any fun if you're taking over other people's code (heck not even your own). I've had to leave comments like this in production code:

C:
// This goto fixes the problem but i still have no clue where the problem is. This entire thing needs a rewrite
 
  • #46
OK.

I'm gonna go hardcore on this. People asked for opensource development experience (I'm not gonna include the answers)):

hermesmail:discussion] The Elephant In The Room [@ admin decision making level]
Inbox

Soren Bro <sbrothy@users.sourceforge.net>
Nov 26, 2018, 8:19 PM
to [hermesmail:discussion]

I'm gonna raise a level or two above my "pay-grade" and talk about the
elephant in the room. With which I mean the possibility that making
Eudora/Hermes compile and run is impossible, or indeed infeasable, for
(possibly?) two programmers who doesn't even devote a job-like attention to
the task but jump in and out at their whims and other social contracts they
might have. (I'm talking for myself mostly, but I'm sure Mr. Maclean can
nod in recognision, if not agreement.)

A proper company would have a guy who foretells the future. I forget what
his job-description is, but it could, likely, be "Corporate Oracle".

Allow me to be the "Corporate Oracle",or, indeed, "The Devil's Advocate"
(See tvtropes.org for funny exposition) for a moment and tell you it can't
be done and/or it has no future.

(You saw the maximum MFC version Stingray would work with and the message
they built in, asking you to ask for an update to pay more for. I've made
sure you've seen the insane inline assembler debugging embedded. Also, the
warning that this code wont survive a 64bit transition!)

No matter how you approach it, this code is gonna get obsolete soon.

I'm sorry. Noone likes the messenger carrying bad news, but here I am with
the full depeche ready to hit the fan..

I realise you pay a fortune for this program, but why?, If outlook is more
or less built into W$ why don't you use this or a combination of other
programs tailored to meet the platform in question. Be it M$ or MAC or
POSIX.

Have the users of Eudora/Hermes gotten so stuck in their ways that they
can't transition to a "new way of doing things".

What I mean is that, as Mr. Matavka has seen, mail functionality is built
into M$ examples. A full outlook clone with proper language support is
build into the, so called, "Simple MAPI".

Using OLE to transfer data to an forth this client program may be possible,
but it's a lot of work. Realistically it would be more feasable to hide the
server program Hermes/Eudora and let M$ handle it all.

I realise you're not all using the client for "personal" purposes, an as
such, the free use clauses won't apply. Bt there must be a way aroun that
using several tools.

Has anyone been down this road?

Cordially (and in the hope of not getting slaughtered outright :) ),
Søren.

PS: I'm got gonna hit Local TV soon and those of you with half a brain, and
a somewhere decent command of Danish (This will be my rescue. :) ) will
realise who's "messing around" with your code and/or seeing elephants.

The Elephant In The Room [@ admin decision making level]

Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/hermesmail/discussion/general/

To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/
 
  • #47
I wonder where "Hermes" is now?

EDIT: Well I stand corrected, it seems it still has a user base. I think I know why. Your guess.
 
Last edited:
  • #48
sbrothy said:
As I'm somewhat of a dinosaur the advent of AI makes the whole field almost impossible to guess about for me. Vibe-coding notwithstanding you still need to master the basic skills. If you decide to study CS on a bachelor or candidate level (whatever those are called where you're at), you'd probably be asked to write your own (very basic) operating system. If at that point you don't know what a security ring is you're gonna have a hard time.

EDIT: Then again, even before AI we had concepts as ghost execution and Arbitrary Code execution (XKCD). And that's before we we're talking about hardware exploits.

https://www.explainxkcd.com/wiki/index.php/2958:_Hatchery
i think you are underestimating the vibecoding. Like coding level is already been demolished. Like if i can design a system i want and say it to ai and give it specification i can get my desired product. maybe you to try the vibecoding. dont use chatgpt use something like antigravity, codex or claudecode some agent which have a access to to computer. i am pursuing Bachelors of Engineering in Computer Sciene. As for the operating system part. i use arch and did some ricing. i dont daily drive it coz i play fortnite otherwise i will use linux daily. Yeah in my 4th sem i have a course called operating systems and i know about security rings. its not like i dont know anything. i know whatever my college teaches me till now but the job market the place i live is so cooked that getting a entry level role is a big disaster. thats what keeping me worrying and i wanna upskill me. be a master in one field so that i have advantage over my collegues
 
  • #49
sbrothy said:
A word of warning though. Concentrating on GUI development will leave you dissatisfied IMHO. In that subfield you'll really learn how to debug and refactor and none of those are any fun if you're taking over other people's code (heck not even your own). I've had to leave comments like this in production code:

C:
// This goto fixes the problem but i still have no clue where the problem is. This entire thing needs a rewrite
i work on a project where i build a app for my gymnasium in our college and my role is frontend dev and i have a teammate. we do code in flutter. sometimes i have some important classes and i will go to attend it in that time he will push something in my branch and call it a update. he will change so many files like i am hit with almost 100 of merge confict. by that i can confirm it is not fun working with someone. but the ui part it still fun working with ui. you just draw and design no complications unlike the backend engineer who will freak out how how they conna worute logic how they gonna design table.
 
  • #50
That last post makes me feel old. Like, old old.
EDIT
The post above the last one.
 
  • Haha
Likes   Reactions: Astronuc
  • #51
geekynerd said:
i think you are underestimating the vibecoding. Like coding level is already been demolished. Like if i can design a system i want and say it to ai and give it specification i can get my desired product. maybe you to try the vibecoding. dont use chatgpt use something like antigravity, codex or claudecode some agent which have a access to to computer. i am pursuing Bachelors of Engineering in Computer Sciene. As for the operating system part. i use arch and did some ricing. i dont daily drive it coz i play fortnite otherwise i will use linux daily. Yeah in my 4th sem i have a course called operating systems and i know about security rings. its not like i dont know anything. i know whatever my college teaches me till now but the job market the place i live is so cooked that getting a entry level role is a big disaster. thats what keeping me worrying and i wanna upskill me. be a master in one field so that i have advantage over my collegues
Oh I'm not underestimating it. In fact, I'm quite impressed with it. My point is that if you don't understand the code an AI spits out based on your instructions, someone is gonna have an extremely unhappy field day debugging it:


EDIT2: I even asked it to implement it as a C++ template and it did a bang-up job. But still missed the dot-operator. Admittedly because I didn't request it, but if you don't know you should request it then AI isn't going to do it for you. Apropos my point.


EDIT: It was you. So I see we've had this kinda exchange before.
 
Last edited:
  • #52
Notably, as impressed as I were with the AI's output I still think it missed the dot-operator (I even think I mentioned it). My point is that if you don't know that there should be such an operator vibe-coding isn't as impressive on second glance
 
  • #53
sbrothy said:
Oh I'm not underestimating it. In fact, I'm quite impressed with it. My point is that if you don't understand the code an AI spits out based on your instructions, someone is gonna have an extremely unhappy field day debugging it:


EDIT: It was you. So I see we've had this kinda exchange before.
feeling silly that i created a thread that how to connect frontend and backend that was my starting days of coding and i really strugled a lot. but now i am clear with the concepts. and i dont understand the concept that humans write better code than ai. we make more errors, silly bugs and things like that. ai even writes the documentation of the code better than humans. i dont understand why people feels that whatever ai do its "AI SLOP" which is not true. i can understand. sometimes ai may hallucinate and write wrong code but that dosent mean humans write better code than ai. and in this it the matter of fact how human gives prompt to ai

if suppose i said build a e commerce website for grocery store than ai gonna create some sloppy code as no proper context and instructions given. but when i give something like i need a e commerce website the tehstack are html, fastapi and sqlite. the functionalities are registeration and login with three seperate users like admin staff and user..................................................(with a long conetx and condition).

if we give a well defined prompt and say what we want and specify it it will do it. even say we are going to do a agile model so the code must undergo multiple changes so code accordingly. the agent codes accordingly.
 
  • #54
IMHO I think you think too much of AI. Whatever you call it. It can't stand instead of knowledge. You'd be able to bluff your way deep into the business but the end result would be a veritable forest-fire.
 
  • #55
geekynerd said:
feeling silly that i created a thread that how to connect frontend and backend that was my starting days of coding and i really strugled a lot. but now i am clear with the concepts. and i dont understand the concept that humans write better code than ai. we make more errors, silly bugs and things like that. ai even writes the documentation of the code better than humans. i dont understand why people feels that whatever ai do its "AI SLOP" which is not true. i can understand. sometimes ai may hallucinate and write wrong code but that dosent mean humans write better code than ai. and in this it the matter of fact how human gives prompt to ai

if suppose i said build a e commerce website for grocery store than ai gonna create some sloppy code as no proper context and instructions given. but when i give something like i need a e commerce website the tehstack are html, fastapi and sqlite. the functionalities are registeration and login with three seperate users like admin staff and user..................................................(with a long conetx and condition).

if we give a well defined prompt and say what we want and specify it it will do it. even say we are going to do a agile model so the code must undergo multiple changes so code accordingly. the agent codes accordingly.
Have your AI read:

Hardened Stateless Session Cookies

or

Secure Session Management

?

EDI: In the interest of full disclosure I'm not an expert on this topic myself. As someone recently said to me (on this forum) quite truthfully (although it was a hard pill to swallow) "I'm in way over my head".

I'll dig up the reference. I asked for help with making my website being it's own SMTP server and he shot me down quite unceremoniously. But I needed that. And I respect him (her?) for it.
 

Similar threads

  • · Replies 18 ·
Replies
18
Views
7K
  • · Replies 30 ·
2
Replies
30
Views
5K
Replies
4
Views
3K
  • · Replies 14 ·
Replies
14
Views
4K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 3 ·
Replies
3
Views
5K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 21 ·
Replies
21
Views
3K