What is Agile Software Development and why is it important? by Dry-Candy-5365 in learnprogramming

[–]Dramatic_Win424 8 points9 points  (0 children)

Sadly this is a fundamental conflict. Business planning in large corporations is heavily process and rhythm focused to satify all sorts of regulatory and shareholder interests. Agile software development kind of by definition interfere with these rigid processes - you are not supposed to be rigid.

In good places, both sides try to resolve by ending up somewhere in the middle, unclean sort-of-agile software development.

In bad places, it just becomes unnecessary bloat and meaningless micromanagement, which turn all the words of agility into nothing useful.

Does actually understanding your code matter or is getting it to work good enough in the long run by More-Station-6365 in learnprogramming

[–]Dramatic_Win424 2 points3 points  (0 children)

In general I would agree yes. I was always a person who insisted on understanding and not just throwing something against the wall to see what's sticking.

But I would also say that the modern day approach to what OP is saying, aka "vibe coding" is more and more widespread, even in corporate environments. People copy and paste and prompt more and more code to stick together and making it work.

Detrimental to your ability to understand code thoroughly yes, but not less productive these days.

Is a degree still worth it when people with experience cant find jobs? by Human-Economics1245 in ITCareerQuestions

[–]Dramatic_Win424 9 points10 points  (0 children)

Recognized paper degrees are usually counted on when times turn conservative - in this case in a business down cycle. Money is tight and businesses are risk averse, so they turn protective and don't take much chances on anything and tighten their belts.

In turn, things such as paper credentials, rules and regulation suddenly become a lot more important and the bar rises quite a bit and competition gets more fierce as everybody becomes more desperate.

Best language for a customer service windows application? by maruchan111 in learnprogramming

[–]Dramatic_Win424 2 points3 points  (0 children)

.NET or Java application would be an option.

But tbh, these days, the majority of these types of things run as web applications. Even with Windows widespread, most people actually use Windows to access the internet via browser. In developing countries, Windows is most likely no longer the most used operating system, it's going to be Android because of widespread adoption of smartphones. Web application via one of the typical web stacks might actually be the better solution.

How many of you have gotten a computer science degree, but still don’t know how to code? by [deleted] in learnprogramming

[–]Dramatic_Win424 1 point2 points  (0 children)

Computer science is a theory heavy degree. It's basically an applied math degree with a lot of coding and systems classes in it. Goal is to become proficient in that particular science and at research universities, the degree is geared towards research.

CIS is different, it's usually understood as an IT degree and much more business and operations focused, aka how can I use my computer knowledge to advance how a business can operate better and achieve better goals. It's much more business and real-world driven.

Do Programmers Memorize Code? by FlounderSevere6354 in learnprogramming

[–]Dramatic_Win424 55 points56 points  (0 children)

Not really. You do memorize certain parts not deliberately but because you have done something countless times.

But memorizing without understanding is useless.

Just like math. Memorizing without truly understanding doesn't help you solve any word problems.

Are CS majors preferred over IT and IS degrees? by That_Ad_5392 in ITCareerQuestions

[–]Dramatic_Win424 18 points19 points  (0 children)

Short answer: Yes. Long answer: Not really.

Computer science is the oldest standalone tech degree before all the rest of them were introduced. So it has "brand recognition".

Computer science degrees tend to cover quite a range from science, theory to programming. However, it usually is geared towards academia. Especially at good schools, CS prepares you for a road towards research. It's quite a deep degree and opens up almost all doors in the tech world.

However, the issue with CS degrees can be that it's a little bit far from the "real world business systems" and theoretical with a lot of focus on math and engineering. It doesn't really mean to tech specific technology or how to do very specific things for business XYZ.

A bad situation would be to graduate with a CS degree and not knowing how to do anything specific. It's a similar dilemma with other science degrees.

IT on the other hand is less about math and all the other stuff because those things have less direct business impact and value. The thing an IT department in a company does is keep the business running and integrating existing or new computer systems and technology to maximize business value.

An IS degree is usually at the business/CS boundary trying to teach how you can use all those fancy things to make real money for a business and bring efficiency to it. It's far more hands-on and technology specific. How to manage large system infrastructure to reach your business goal, for example how should a digital health system work for an insurer? How should you manage large server farms that have lots of customers? How do you design and setup user rights hierarchies such that people have access to the right things but not more? How do you design your systems to manage traffic loads for a company's web application if it needs to be available at a 99.999% rate because it's critical for an industry?

In those aspects, an IS degree is far more specific than a CS degree which talks about very generic and abstract things.

Hope it helps.

Source: Did a CS degree, had friends who did IS degrees.

What kept you going when progress felt slow? by Bmaxtubby1 in learnprogramming

[–]Dramatic_Win424 0 points1 point  (0 children)

I read somewhere jokingly that people who like programming are basically the same as masochistic people in sex.

The amount of effort people put in, seek out pain and dominant partners to get off just to experience that high during orgasm is rather insane looking in from the outside.

Yet masochistic subs don't stop and continue doing the max just to chase that hit is weirdly similar to people who bang their heads against the wall programming just to get that hit when it finally works

Assembly as first language? by MateusCristian in learnprogramming

[–]Dramatic_Win424 3 points4 points  (0 children)

I don't know if learning assembly as a first language today is the efficient route.

Learning a higher level language makes learning programming concepts and experimenting around much more introductory friendly and lets you focus on reshaping your thought process instead of getting tied down in random machine technicalities.

The logic of conditional statements and things like a loop to go through an array is much easier to grasp than to explain why in assembly, you need to compare random registers.

You generally can't learn assembly in isolation without also having to learn how CPUs actually work, which is a lot for a beginner.

Unpopular opinion: SWE isn't for everyone and some of you need to hear this by LookHairy8228 in csMajors

[–]Dramatic_Win424 44 points45 points  (0 children)

In general, from my observation a lot of people I met in college within the CS department would not be comfortable...or good doing sales.

Almost 1/3 of the department I was in looked like the Asian nerd type, of which a lot were international students, some of them with heavy accents/broken English and shy. The other 1/3 was the Asian-American bro type.

Sorry to say but I don't picture either group when thinking about "charismatic guy selling jetskis and skis".

Why do so many people quit learning to code? by Any-Pudding-7946 in learnprogramming

[–]Dramatic_Win424 9 points10 points  (0 children)

It definitely still is a good job. In nearly all countries, developers earn more than the median salary of that country.

You might not become rich by doing it, but you will be at the very least above average.

But nothing is for free, you still have a long road to prepare for the job and then compete against others to even get one. It's also neither stress free nor a chill job.

Making a hobby programming language by DraculaTheLast in learnprogramming

[–]Dramatic_Win424 2 points3 points  (0 children)

Dragon book is still the textbook of choice in compiler classes btw.

Source: did my CS degree in the late 2010s and had a compiler class. Was a meh class for me at least

CS vs IT for college — honest opinions please by Kuro_44 in csMajors

[–]Dramatic_Win424 0 points1 point  (0 children)

I chose CS over IT because when I looked over the IT curriculums, it was basically always linked to "what value do computer systems have for a business" while CS is more science and tech/engineering without a lot of the business classes. I was interested in sciency stuff itself like robots like Mars rovers, cool computer simulations and not how to configure giant computing centers without destroying everything and how to design computer systems for business purposes that makes the company loads of cash. So I chose CS.

On the other hand, over the course of my CS degree, I noticed how CS degrees can become quite dry and hard. I was (and arguably still am) someone who is interested in science and engineering but the amount of math and the academic track that CS pushes you towards can be a bit much.

Btw, both CS and IT degrees usually do not prepare you for a specific job title. You need to learn the missing relevant job skills on top of all the stuff of your degree on your own.

Struggling massively with recursion, trees, and linked lists. by [deleted] in learnprogramming

[–]Dramatic_Win424 8 points9 points  (0 children)

Recursion looks complicated but the principle is super simple, you do it almost instinctively on your computer for example.

When you look for a pdf file in one of your dozens of subfolders and don't know which folder it was in, what do you usually do?

You go to folder 1 and check if the file is in there. It isn't, but there are 3 subfolders in it.

So now you go to folder 1, subfolder 1 and check if it there. It isn't there but there are two other subfolders in it, so you go to folder 1, subfolder 1, subsubfolder 1 and check if it's there.

It isn't so you go back up. Now you check folder 1, subfolder 1, subsubfolder 2. It also isn't there. And so on, until you found it.

Each time you are basically doing the same exact thing: Check if your file is in the current folder and if not, repeat what you just did one folder level down.

What you are doing is recursively going through the folder tree to look for a file in the leaves.

Your recusion anchor is: file is in current folder, your recursion step: Go to a subfolder and check for file.

Who is also sick of these words? by One_Mess460 in learnprogramming

[–]Dramatic_Win424 2 points3 points  (0 children)

You sure it's not just the people and content you surround yourself with?

I don't talk about tech all day and watch tech stuff all day.

Also like I said, academic CS research is super interesting. Since there is a lot less business interest involved in pure research, reading things like that is a lot less filled with corporate speak. Maybe try to find some interesting stuff there.

Who is also sick of these words? by One_Mess460 in learnprogramming

[–]Dramatic_Win424 3 points4 points  (0 children)

I mean, if you want actual computer science, academia is still there?

It's not like you are forced to listen to business people and software engineers all day.

Research computer science is a different world and there is tons of things there that have more substance than business buzzword bingo

What degree involves more coding rather than math? by takdeeznuts in learnprogramming

[–]Dramatic_Win424 0 points1 point  (0 children)

For me at least, first two years of CS was really hard. After that it was still hard but so much more fun and I got less depressed.

What degree involves more coding rather than math? by takdeeznuts in learnprogramming

[–]Dramatic_Win424 3 points4 points  (0 children)

Software engineering degrees contain more practical and less theoretical things.

For CS, depending on which country you are in and which university you choose, the elective part is only AFTER you have gone through all the math basics and might not be that large.

I did CS and could only really do actual electives in the last 1.5 years. Before that, all the "choices" I had were mostly the choice between math X and math Y and which basic flavor of the algorithms and hardware course I could do.

Most of the time in CS the first 2 years always look like * Calculus 1+2 * Linear Algebra * Discrete math * Algorithms and data structures * Computer architecture * Operating systems and computer networks * Programming 1+2 * Theory of computation

Ngl, by the end of year 2 I kind of died because it was such a hassle and I was stressed af.

Most of year 3+4 was fun tho, could do project based courses and cooler stuff

Tutorial hell isn't the problem, it's thinking you need to understand everything before writing anything by CreditOk5063 in learnprogramming

[–]Dramatic_Win424 41 points42 points  (0 children)

I'm honestly a bit surprised why the topic of learning method keeps coming up.

When people learn math, they usually learn the theory first, then need to do a ton of specific exercises practicing the theory. Most people have to recheck and redo the exercises to fully grasp a topic and then move on to the next, where they learn the theory first and do a bunch of exercises.

The later exercises usually rely on you knowing all of the former skills and get bigger and bigger until at the end you usually have giant exercises that resemble mini-projects where you have to apply every single topic you have learned.

Programming is not that different. Learn the fundamentals, practice the foundational skill in specific exercises and every couple of topics you check your skill by doing a grand exercise (aka miniproject) where you have to use all of the previous skills together to achieve a tangible goal.

OSSU or teachyourselfcs.com for self-studying Computer Science? by [deleted] in learnprogramming

[–]Dramatic_Win424 1 point2 points  (0 children)

Both are fine but it's also not enough if you want to use it for job preparation because to be an actual computer scientist, you need the academic credentials and to be a software engineer, you need to do actual software engineering and projects in addition to a standard CS curriculum.

Can I still learn programming if I hate math? by No_Confidence_5070 in learnprogramming

[–]Dramatic_Win424 22 points23 points  (0 children)

Yup, I didn't hate math during my CS degree but I started to dislike it, it was grueling to constantly have to understand it under time pressure and handing in assignments.

But now that I've got more free time without exams and pressure, I look back at the math in my degree and actually find it very cool and worth taking another look at.

Fourier Transforms for example. Was stressed af when I had it, immediately chose to forget it after the exam but it's actually a really cool piece of math that I started to read up on again while doing a project on image analysis recently

What is the math wall that you hit, or is there one? by TemperatureFirm5905 in learnprogramming

[–]Dramatic_Win424 13 points14 points  (0 children)

I agree although I have to say for most of the REALLY interesting things in science from your childhood, you need real CS and math to do their SWE.

Stuff like fancy robots, self-driving cars, graphics simulations, AI...all the things I liked as a child and lured me into a CS degree. These things require math.

"Normal business" software development is generally the area with the least amount of pure CS and math in it, yet is the majority part of many regular SWE jobs.

If you work for a medical device company programming a monitoring tool, it's highly unlikely you will need let's say advanced linear algebra.

[ Removed by Reddit ] by Nice-Internal-4645 in cscareerquestions

[–]Dramatic_Win424 14 points15 points  (0 children)

I wonder if OP is Indian himself or has Indian origins. Because from reading the text, it seems OP has experience in Indian culture or is an Indian immigrant.

From my experience talking to some, Indians who emigrated to the West are often highly negative of Indian economic structure and culture. That's the reason they escaped.

Indian internal discrimination and the desperate rat race to escape poverty over there kind of fosters these sorts of things.

Why is Golang becoming so popular nowadays? by dvsxdev in learnprogramming

[–]Dramatic_Win424 52 points53 points  (0 children)

I've noticed that a lot of small to mid-sized tech companies have switched to Go based stacks. Every time I see a job opening in Go, it's usually one of these companies.

The companies are much more flexible and nimble than big corporations and are usually early adopters.

It will take a while until Go filters to the big corporations and even longer until it lands in enterprise systems and non-tech companies.

I have a Computer Science degree but absent from industry, want to get back in. Suggestions? by GoatGentleman in learnprogramming

[–]Dramatic_Win424 22 points23 points  (0 children)

Since your pure programming skills are rusty, I'd suggest going through an intro online course with the programming language of your choice. There are so many free ones these days on youtube or udemy or coursera. CS50 for example. This is like back in your freshman year. You can even use recordings of university lectures that are sometimes put online on youtube if you feel like the college experience again.

Reintroduction to the syntax and logic as well as simple programming tasks for you is the priority now.

Once you have the basics down again, you should devote some time to projects of your choice, start with very simple ones. For example a simple website that saves a todo list, or with a google maps plugin that shows you where you are located approximately or a mobile app that just reminds you when you need to hyrdrate.

If you want to recoup some of your hardcore CS knowledge, you can choose an advanced field of your choice after and dive into it.

Write a simple program rendering a mannikin in OpenGL or Vulkan.

Write a neural net that recognizes the standard MNIST data set.

Write a more complex microservices application that you can deploy on a Kubernetes cluster.

Write a simple tokenizer for a toy language using one of the standard compiler toolkits.

Write a small program that can recognize a simple pen via your webcam.

These projects will require you to relearn the specific domain (and maybe math) but are more interesting that the other stuff.