Earlier quoted context omitted.
Can you give some examples of where computer science academic theory helped in software engineering?
I tend to use it quite regularly. I've had to diagnose many performance issues with our large code base. Understanding compilers, data structures, networking, OS internals, etc, have all been quite helpful. Even if it's simply finding a starting point for tackling the problem. Sometimes it's trivial, replacing a for-each loop with something that's log(n) or O(1). Sometimes a little more complicated, like refactoring…
A computer science study plan to become a software engineer
101–110 of 220 posts
Re: A computer science study plan to become a software engineer
#102Re: A computer science study plan to become a software engineer
#103This isn't a bad list of topics about data structures, algorithms, and software fundamentals, but let's not pretend that computer science has anything to do with most software engineering roles. I studied computer science, and in 30 years, I've hardly used any of it. There were a few jobs where some of the statistics and math were helpful, but in my long career, I've seen very little overlap between computer science…
Your work doesn't depend on operating systems, databases, network communications and data structures? I can go on.
My point being, you need people with a myriad of skill sets, and some of them don't even have to do with expert knowledge needed in some areas.
Also you might have an expert in storage for instance that do poorly in certain tests giving he never needed to work with those kind of algorithms.
So in the end the company ends with the same type, the same kind of person, and how can you make a great team that needs people with different skills doing distinct stuff, if you optimized your hiring to filter for one particular type?
Re: A computer science study plan to become a software engineer
#104He lists 8 months of study and that before starting the curriculum he was "self-taught" meaning he at least knew how to code and do a little more than "hello world".
If we add his "self-taught" time it gets us pretty close to an actual CS degree. He's missing language classes, some electives, math and stats but he's mostly there in terms of content. He's missing labs, projects, problem sets of course.
When viewed like that it doesn't sound as clickbaity as the tittle implies, that you don't need a degree to go in the field. He's just a really really motivated self learner. And almost got a CS degree's worth of material.
Kinda like Gates "dropping out" a few credits short of getting his diploma, not after failing intro to econ like a lot of "drop out entrepreneurs" out there.
Re: A computer science study plan to become a software engineer
#105From scanning through the course outline, the big omission is learning about distributed systems, and industry leading implementations of common tools. At big tech companies, you typically have to work at a much larger scale. A solution that works, won’t necessarily work at 10x, 100x, 1000x the scale. You often need to use technologies architected differently than a monolithic Web App. I would recommend learning more…
Re: A computer science study plan to become a software engineer
#106This isn't a bad list of topics about data structures, algorithms, and software fundamentals, but let's not pretend that computer science has anything to do with most software engineering roles. I studied computer science, and in 30 years, I've hardly used any of it. There were a few jobs where some of the statistics and math were helpful, but in my long career, I've seen very little overlap between computer science…
Re: A computer science study plan to become a software engineer
#107Earlier quoted context omitted.
Can you give some examples of where computer science academic theory helped in software engineering?
Tons: Cryptography, operating systems concepts including multi-threading, distributed systems, network communication, mobile and embedded systems which are basic backbones of all the things you use today. You know that's where majority of the tech companies are innovating on, right?
Re: A computer science study plan to become a software engineer
#108Earlier quoted context omitted.
It sounds like you work in an industry that doesn't strictly require frequently delving into foundational theory in CS. I do believe it would be a mistake to conclude its useless, however, as there are many other industries that do need it, and people who are not in touch with the theory probably would not be competitive in those industries.
From your prespective how common are those types of roles in all industries as a whole? There are interesting compiler roles but the vast majority who learn how to build a compiler never use it day to day work. Would you recommend spending more time building compilers to better compete for those few roles or would you recommend a different approach?
CS still comes in handy though, especially computer engineering to understand some of the workings of the hardware
Occasionally I'll use real CS knowledge when I'm building tools for work or working on games in my free time.
Full disclosure, I didn't actually study CS in school though.. I studied EE and then went and learned CS via Wikipedia when I needed it to find a better-paying coding job.
Re: A computer science study plan to become a software engineer
#109This isn't a bad list of topics about data structures, algorithms, and software fundamentals, but let's not pretend that computer science has anything to do with most software engineering roles. I studied computer science, and in 30 years, I've hardly used any of it. There were a few jobs where some of the statistics and math were helpful, but in my long career, I've seen very little overlap between computer science…
I came here to make a similar point. Electrical engineers study a certain amount of physics as part of their major, but their main focus and area of expertise is engineering, and you never hear them claim otherwise. If the main focus of a training is not to become a computer scientist, but to become someone who can engineer good software for real world applications, then don't call it a science degree. This list is,…
This is good. I took the E&M course for electrical engineers at my university, a very well-regarded engineering school. I ha no idea what I was doing. After every exam, I thought I'd have to drop the course. One of my scores was a solid B, another was the third highest. I got a B because I didn't know how to do the homework. Literally the only thing I could do was get the sign and units right in the multiple choice answer.
Re: A computer science study plan to become a software engineer
#110This isn't a bad list of topics about data structures, algorithms, and software fundamentals, but let's not pretend that computer science has anything to do with most software engineering roles. I studied computer science, and in 30 years, I've hardly used any of it. There were a few jobs where some of the statistics and math were helpful, but in my long career, I've seen very little overlap between computer science…
If all someone knows is plumbing API and rote memorized glue code, don't expect much. If someone went through CS, expect to see a different caliber of work for the same task.
Believe me, it's night and day and a lot of orgs have no clue what real engineering talent looks like: they never had any to begin with!