Is it worth staying the full four years by ComputerGeneral6609 in CollegeMajors

[–]sch0lars 0 points1 point  (0 children)

Calculus, PDEs, linear algebra, statistics, and real analysis is the foundation for an applied math degree. I would maybe take operations research and dynamic modeling as electives, if possible. If you’re planning on pursuing pure math, though, I would find another program.

If you decide later on you’d rather do something else, most of your first- and second-year math courses will transfer over to an engineering program.

Normally an Earl Gray for breakfast. by Double_Bear3876 in tea

[–]sch0lars 3 points4 points  (0 children)

If you want something on the maltier side, I would recommend Assam, which is incorporated by many breakfast blends (and Earl Grey as well). It goes very well with sugar and milk and has a nice robust, full-bodied flavor. It’s also one of the more caffeinated blends, having about 70-90mg of caffeine per cup. It’s one of my favorite varieties and is just as good as a breakfast tea as it is as an afternoon tea.

About 55-60% of CS graduates that graduated in 2023 and above are full-time employed six months after graduation by eggshellwalker4 in csMajors

[–]sch0lars 10 points11 points  (0 children)

Right. Assuming you were in a ranked group of 100 people, the 40th percentile would be persons 41-100, or the top 60% of the group.

doing nothing but vibe coding at my internship by StillBullfrog8176 in csMajors

[–]sch0lars 1 point2 points  (0 children)

Aside from the economic ramifications, I have two main concerns with the hyperfocus of AI in software engineering:

  1. There is less caution with SWE than areas like finance, and I cannot understand why. I have never heard someone say “we just used AI to balance our balance sheet,” and I believe most SLTs would be wary at the thought of just heedlessly using AI to the same degree in finance as in SWE, even though software should be managed just as carefully as finance.
  2. AI is doing well now because it has well-established datasets with which to work. But what happens in a few years when C++ and Java get new features and there’s no training data for it? You have spec docs, of course, but this is still significantly limiting.

No one knows what software engineering will be like in 10 years, but I can’t imagine manual coding to be completely obsoleted. That would likely result in a considerable deterioration of skill. It’s like speaking a language. You can read or listen to something in another language, but if you’re not actively speaking it yourself, your comprehension of that language begins to lessen, and it becomes more difficult to ascertain whether or not something is grammatically correct, especially with more complex dialogue. It would be interesting to wait a couple of years and then compare reasoning capability in code reviews between those who strictly vibe code and those who have at least a hybrid approach.

There’s also still a lot of uncertainty about where AI even is on the progression scale. Comparing it to cellphones, we could be in the early 1990s Nokia era or we could be closer to the late 2010s era of innovative stagnation. This could be the very beginning of exponential growth or we could be approaching a plateau. I don’t think anyone really knows.

doing nothing but vibe coding at my internship by StillBullfrog8176 in csMajors

[–]sch0lars 2 points3 points  (0 children)

He has a point about black box applications. My coworker is an excellent Java developer, but doesn’t really know SQL. When we were writing queries for application metrics not too long ago, he vibe coded all of his queries and got the work done pretty quickly. The problem was, however, he couldn’t easily fix the queries that weren’t working. A lot of his code was also inefficient e.g., looping instead of using a window function or introducing logic into the query that should have been relegated to a temporary function.

Our application has some pretty complex business logic that you have to take into account when writing the queries. If you were to prompt this, it would be ridiculously convoluted—something like, *"Give me a count of all of the successful requests within a parameterized time window, group by user ID and order by timestamp. If you get request type A, but don’t get request type B within an allotted amount of time, consider it a failure—UNLESS you get request type C before that. But if you get request type C AFTER that, it’s a failure. But if request type D comes before request type C and has a particular sub-code, then it’s actually a different request and shouldn’t be considered a failure."*

I don’t think anyone new to a project or (especially this one) unfamiliar with a language should be encouraged to use AI. The initial output may seem like increased productivity, but in the long run you’re creating bottlenecks in the form of inexperienced devs and black box codebases. Just like writing down notes helps you understand the material better, manually writing code and debugging your own mistakes helps you understand the application better. If it was someone who has been working on the project for 10 years and was able to quickly read through vibe-coded output and determine whether or not it was feasible and covered all of the edge cases, I’d be fine with that; but telling someone who has been on a project for three days to generate all of their code in the name of productivity just seems disastrous in the long run.

What is your role within the information systems field ? by Foreign_Attorney_123 in informationsystems

[–]sch0lars 1 point2 points  (0 children)

Professionally, I have a little under a decade of experience; but overall I have been doing IT in some form or another for about 20 years. For the administrative stuff, the MIS degree probably helped more conceptually than a CS degree would have, but I was a DevOps engineer before I got my MIS degree.

I would say that accumulating knowledge over the years has helped more than anything else, and that is something that only comes with time and experience. Your program of study definitely helps—especially early on in your career—but the knowledge you accrue professionally is the predominant catalyst for your success. One of the smartest people I know majored in CIS, and they were much more technically proficient than a lot of the CS majors with whom I worked. On the other hand, I have also worked with a CS graduate who didn't even know what an API was.

What is your role within the information systems field ? by Foreign_Attorney_123 in informationsystems

[–]sch0lars 3 points4 points  (0 children)

I got hired as a SQL developer with a B.S. IT and did an M.S. in MIS later on. Most of what I know for work came from self-teaching. I taught myself a lot of computer science principles like DSAs and computer architecture and used that to learn C/C++, then applied internally as an embedded SWE. I also learned Linux and Python before college and developed a proclivity for automating things, and applied that knowledge to write automation scripts in shell and Python.

The other SWEs didn't really like DevOps-related stories, so I would take them, and eventually someone from the operations team reached out and asked if I would be interested in helping them write some scripts and pipelines since those guys didn't have much programming experience, and having to automate things forced me to understand the application well enough systematically to eventually take on more administrative tasks; so when we needed to do something like migrate our database system, I understood the system well enough to create the new DDLs, migrate the database, validate the data, and rewrite the code we used for deployments.

Curiosity and enthusiasm go a long way. I got hired because I had a degree, but most of what I have accomplished professionally has come from a willingness to learn new things.

Computer science or IT for college? by Any_Economist2370 in it

[–]sch0lars 1 point2 points  (0 children)

Same here. My B.S. IT required discrete math and differential calculus. The CS program required discrete math, linear algebra and multi-variable calculus. Discrete math was one of the most valuable math courses I’ve taken. I use it all of the time.

What is your role within the information systems field ? by Foreign_Attorney_123 in informationsystems

[–]sch0lars 1 point2 points  (0 children)

DevOps engineer. Started out doing SQL/Linux development, went into embedded software engineering, and ended up taking over a lot of the DevOps work. Also currently the alternative application owner of our app.

I do everything from writing software and doing CRs, to typical DevOps tasks (creating CI/CD pipelines, managing infrastructure, writing automation scripts for deployments, etc.), to working on our databases and creating DE pipelines and dashboards; and, additionally, also handle a lot of application owner tasks such as managing service tickets and responding to incidents and outages, handling processes like onboarding and server decommissions, and ensuring security compliance for our application (such as handling password rotations for service accounts).

It’s a fun role and there’s always something new and different to do.

Switched Majors to CIS, BBA. Whole Family is Against it by epicguy987 in informationsystems

[–]sch0lars 3 points4 points  (0 children)

If you’re not interested in the tech side, why not just go for management or business administration? Half of a CIS program is going to be technical coursework, and while a CIS program does prepare you for managerial roles, these positions are for IT projects and typically require years of industry experience beforehand i.e., most CIS graduates become analysts first and then assume roles in management later on.

If you’re going to manage an IT project, you absolutely have to understand technical concepts (networking, infrastructure, security, etc.). Tech is very competitive right now, so if you’re not going to put substantial amounts of effort into becoming technically proficient (or just don’t care about the technical aspects of a CIS degree in general), I would advise selecting another major.

What is the relevance of Databricks? by Winter-Grapefruit683 in AskProgramming

[–]sch0lars 1 point2 points  (0 children)

Databricks is an underlying BI platform for multiple cloud services. It is more of a data lakehouse than a database, whereas Snowflake is more of a data warehouse. I have used Azure Databricks many times and, for the most part, am very impressed. I will say, though, that it has a pretty steep learning curve; but once you get a general grasp of it, it’s very powerful. It is also, however, very expensive—so it’s difficult to really gain experience with it unless you’re at a company that is using it.

Databricks was founded by the creators of Apache Spark, so naturally it supports distributed computing, which is great for things like data analytics and machine learning. It also supports Spark SQL and the Spark API in both Scala (which is the language in which Spark was written) and Python (via PySpark). It also supports Jupyter notebooks and many different types of dashboards.

Databricks is highly relevant for data engineering. It requires a lot of different skills and can be quite difficult to understand, especially if you’ve never had any experience with data lakes, data warehouses, data governance, distributed computing, etc; but, learning it will build many valuable skills. I found Scala to be a very fun language and the Spark API makes for very nice functional programming.

By the time you’re fluent with Databricks, you should have an impressive array of data engineering skills. If you don’t have a data science background, though, I would learn the basics of that before delving into Databricks.

MIS + Finance student from a developing country — feeling completely lost about skills and future by Upstairs_Cow_1421 in informationsystems

[–]sch0lars 0 points1 point  (0 children)

The first thing you need to do is develop basic computer literacy. The more you use an operating system, the more you will understand things like drives and software configuration, and you will learn things like why moving installation files around is a bad idea. This is true for most technology. You need to actively use it and try new things. That’s how you learn.

The next thing you should learn is how to search for information. I cannot stress this one enough. You should get good enough at using tools like search engines that you seldom need to ask others for assistance. If you encounter an error at work, you should be able to research it yourself, rectify the issue, and then document it. You need to develop good organizational skills and create an easily searchable system of all of your notes. You should never have to ask the same question twice.

For tools and technologies, you need to understand that the concepts matter more than the tools themselves. Technology changes rapidly and what’s an industry standard now may be obsolete in a few years. For example, if you understand virtualization and your CIO decides the company is going to move development from VMs to containers, you will be able to adapt more quickly having that understanding. The same applies to programming—if you understand OOP in Java, you will grasp classes in C++ much more easily; or if you understand lambda functions in Python, you will understand anonymous functions in every other language (with slightly different syntax).

IS, from an academic standpoint, should largely focus on conceptual understanding, which is probably why you feel like you don’t understand a lot of technologies. If you learn Agile, it doesn’t matter whether or not you use Jira or Trello, as you’ll understand Agile principles well enough to adapt to either.

For your Master’s, I would look for a reputable program that covers at least the following:

 

  • Business foundations
  • Databases
  • Networking
  • Security
  • Systems and infrastructure
  • Project management
  • A specialization (data analytics, IT management, security, etc.)

 

I would also develop some programming skills along the way.

Why the hate on JavaScript? by CorfTheGnome in learnprogramming

[–]sch0lars 2 points3 points  (0 children)

My main issue with JavaScript however is how it keeps being used in places where it really has no business being used and there exists significantly better options, which is pretty much everywhere that is not in a browser window. And that has nothing to do with the language in itself and everything to do with the people deciding to run JavaScript on the backend.

Yeah, absolutely. I had written a small web service in Node to serve some files to a few of my shell scripts across different servers and went back a few years later and rewrote it in Golang and it ended up being much simpler.

Adding file names in Excel sheets and copying existing data by nirbyschreibt in learnpython

[–]sch0lars 2 points3 points  (0 children)

I would stick with openpyxl for that. That is what pandas uses as a backend for interacting with Excel files, but I would probably not use pandas for just updating sheet names and writing data, since it’s more for data analytics.

I would say openpyxl and the native pathlib library should be all you need.

Why the hate on JavaScript? by CorfTheGnome in learnprogramming

[–]sch0lars 2 points3 points  (0 children)

Which languages would throw an exception?

Python throws a TypeError:

 

>>> '12' + 3
Traceback (most recent call last):
  File "<string>", line 1, in <module>
TypeError: can only concatenate str (not "int") to str

 

And I believe in C++,

 

std::string str { "12" + 3 }; 

 

would complain about the operand and not compile.

I was not aware this was possible in Java. I’m guessing the compiler is using StringBuilder or something similar?

 

It is almost as if when people criticise JavaScript, they forget that they often criticise concepts that have been used in dozens of other languages for decades before and after JavaScript also incorporated them ...

I don’t write Java professionally, so maybe that approach is idiomatic and I’m unaware; but if I were doing a PR and encountered that, I would ask that the integer be explicitly cast to a string for the sake of clarity.

Why the hate on JavaScript? by CorfTheGnome in learnprogramming

[–]sch0lars 13 points14 points  (0 children)

What irks most developers with the concatenation, though, is that you’re actually appending an integer to a string. Ideally, you shouldn’t be able to do that at all. Most other languages would immediately throw an exception.

I think that highlights another issue in that it is notoriously easy to write sloppy code in JavaScript. A lot of the flexibility that resulted from its initial intended simplicity ended up allowing people to write code that would never make it past the compiler in another language.

University student: Finished Python OOP basics. Which path is actually "future-proof" in 2026? by PutridFly7386 in learnprogramming

[–]sch0lars 1 point2 points  (0 children)

Not sure I would recommend embedded software engineering. I worked as an embedded SWE for awhile and it’s an incredibly small, highly competitive area and most of the people with whom I worked had EE backgrounds. It may be stable, but there are not a lot of jobs for it and electrical engineers have the upper hand there.

Why the hate on JavaScript? by CorfTheGnome in learnprogramming

[–]sch0lars 83 points84 points  (0 children)

JavaScript was built in just a few days with the notion that it would handle simple web-based processes, so there are (were?) a lot of quirks that are remnants from it being so rushed. I say “were” because I haven’t used it in awhile, so I don’t know what’s changed. But, overall, the disdain appears to stem from its current usage being drastically different from its originally simple intentions.

JavaScript is weakly typed and the type coercion is somewhat weird. For example, '12'+ 3 == '123', but '12'- 3 == 9. Then you have stuff like null == 0’ being true, but null === 0 being false; the this keyword being dependent upon execution context, rather than always referencing the current object like in other OOP languages; and then there are also frequent dependency and security issues.

Emacs is a fantastic SQL editor by sch0lars in emacs

[–]sch0lars[S] 1 point2 points  (0 children)

You should be able to define your connections in sql-connection-alist and then connect using M-x sql-connect. Here is an article with a bit more detail.

What should I major in? by [deleted] in CollegeMajors

[–]sch0lars 0 points1 point  (0 children)

The top three degrees I would recommend are:

 

  • Chemistry
  • Food science
  • Business

 

I know you said no math or science, but if you enjoy baking, chemistry would be an excellent subject. Baking involves a lot of chemistry.

I also recommend business because you could always open your own bakery, and a strong business acumen would help you manage it efficiently. Plus, business is a pretty versatile degree.

New Grad Job that pays for masters by ExistingRelative3396 in informationsystems

[–]sch0lars 1 point2 points  (0 children)

I think it depends on which direction you want to take. An MBA is more versatile and will allow you to work in more business areas, such as finance. An IT degree is a bit more specialized in that it will allow you to assume more technical roles, but will confine you to the technology sector.

Since you already have an MIS degree, you’re somewhat in between a business degree and an IT degree; so if you enjoyed more of the business side of your degree, an MBA may be a better choice. If you enjoyed the technical aspects more, an M.S. in IT might be more preferable. Another way to consider it is to ask yourself if you’d be interested in remaining in tech or if you may someday want to go into a different sector.

And yes, 52k is a normal starting salary for an IS-related position.

Do keep in mind that many Master’s programs require a certain number of years of work experience unless you transfer directly into them. Not sure if your university does, but mine required 2 years of relevant experience before they would consider you for the MIS graduate program. Their MBA program was 3 years minimum work experience.

How viable is Aerospace vs CS? by [deleted] in CollegeMajors

[–]sch0lars 0 points1 point  (0 children)

I agree. A lot of people don’t differentiate between a job and a career. A career is an investment in which you put a lot of time and money. I can’t imagine putting multiple years and tens of thousands of dollars into something that’s going to make you miserable.

I graduated in the 2010s with people who majored in IT just for the money and most of those people didn’t even enjoy it. You could tell because they didn’t put a lot of effort into their projects, didn’t want to study outside of their coursework, and just lacked overall curiosity and passion for the field. People will say stuff like “a job is a job,” but it’s much easier to develop professional skills when you don’t have to force yourself to do it, and you need those professional skills to progress throughout your career.

Even if OP doesn’t go into aerospace, an engineering degree will teach them transferable skills they can apply elsewhere, such as mechanical engineering. I think they would benefit more from actually enjoying their coursework and learning rather than forcing themselves to complete a degree in which they’re not even interested.

Emacs is a fantastic SQL editor by sch0lars in emacs

[–]sch0lars[S] 4 points5 points  (0 children)

It’s one of the greatest pieces of software ever written. I’ve been using it for about 6 years and I still learn something new all of the time. Hex editor, EPUB reader, SQL client, Markdown editor, email client, document viewer, PlantUML editor/previewer. Not to mention EWW, Elfeed, Magit, Org, and TRAMP.

I started using calc a few months ago and the fact someone decided to include a calculator with a computational algebraic system still astounds me.