The future of US programmers
Im neither from the US nor a programmer, but I would be interested in the views on US programmers on this subject. There has clearly been a lot of outsourcing and there are some very capable programmers around the world. Russia for example, where they continue to excel having won the world maths championship this year beating China who won hands down the last few years. At the same time Russia has good chess players and scientists. They also have very capable hackers.
Ironically, we have Kasparsky AntiVirus.
Is there a correlation between mathematical ability and programming? I will let the programmers debate that one. It's not my choosen genre although I have programmed in BASIC, machine code, C, C++, Pascal and Modula 2 in the past.
But let's not focus on one country, it's one example and there are many others. I might add the US continues to produce excellent programmers.
What is the landscape for US programmers in the future? I noticed CS degree numbers falling when the dot.com bubble burst.
Any driver you install was pseudo coded, complied, debugged and recompiled by a programmer but you already knew that.
Ironically, we have Kasparsky AntiVirus.
Is there a correlation between mathematical ability and programming? I will let the programmers debate that one. It's not my choosen genre although I have programmed in BASIC, machine code, C, C++, Pascal and Modula 2 in the past.
But let's not focus on one country, it's one example and there are many others. I might add the US continues to produce excellent programmers.
What is the landscape for US programmers in the future? I noticed CS degree numbers falling when the dot.com bubble burst.
Any driver you install was pseudo coded, complied, debugged and recompiled by a programmer but you already knew that.
Comments
-
blargoe Member Posts: 4,174 ■■■■■■■■■□It seems like there is a lot of work for people who are willing to work on a contract and probably will continue to be, at least in my neck of the woods.IT guy since 12/00
Recent: 11/2019 - RHCSA (RHEL 7); 2/2019 - Updated VCP to 6.5 (just a few days before VMware discontinued the re-cert policy...)
Working on: RHCE/Ansible
Future: Probably continued Red Hat Immersion, Possibly VCAP Design, or maybe a completely different path. Depends on job demands... -
nel Member Posts: 2,859 ■□□□□□□□□□me too, seems like about 60-70% of the jobs i see where i live are development type roles!! Damn those developers whereas network roles seem to be quite rare at the moXbox Live: Bring It On
Bsc (hons) Network Computing - 1st Class
WIP: Msc advanced networking -
sir_creamy_ Inactive Imported Users Posts: 298Turgon wrote:there are some very capable programmers around the world. Russia for example, where they continue to excel having won the world maths championship this year beating China who won hands down the last few years.
Specifically, what contest are you referring to?Turgon wrote:Is there a correlation between mathematical ability and programming?
Ones ability to understand, reproduce, and develop efficient algorithms is what makes one a strong developer. Algorithmic analysis involves formally proving the complexity and correctness of an algorithm. So mathematics and development go hand-in-hand.Turgon wrote:What is the landscape for US programmers in the future? I noticed CS degree numbers falling when the dot.com bubble burst.
There has since been a resurgence in CS enrollment.Bachelor of Computer Science
[Forum moderators are my friends] -
Turgon Banned Posts: 6,308 ■■■■■■■■■□sir_creamy_ wrote:Turgon wrote:there are some very capable programmers around the world. Russia for example, where they continue to excel having won the world maths championship this year beating China who won hands down the last few years.
Specifically, what contest are you referring to?Turgon wrote:Is there a correlation between mathematical ability and programming?
Ones ability to understand, reproduce, and develop efficient algorithms is what makes one a strong developer. Algorithmic analysis involves formally proving the complexity and correctness of an algorithm. So mathematics and development go hand-in-hand.Turgon wrote:What is the landscape for US programmers in the future? I noticed CS degree numbers falling when the dot.com bubble burst.
There has since been a resurgence in CS enrollment.
This is the contest.
http://www.maa.org/news/073007usamoresults.html
Im glad to hear CS enrollments are on the rise in the US. I have studied algorthims for my Masters Degree and still do so in my genre as a networking professional. -
nel Member Posts: 2,859 ■□□□□□□□□□Turgon wrote:nel wrote:me too, seems like about 60-70% of the jobs i see where i live are development type roles!! Damn those developers whereas network roles seem to be quite rare at the mo
Well that's good to hear. I think it's important that US programming thrives.
me 2...but i live in the UK not the USXbox Live: Bring It On
Bsc (hons) Network Computing - 1st Class
WIP: Msc advanced networking -
Turgon Banned Posts: 6,308 ■■■■■■■■■□nel wrote:Turgon wrote:nel wrote:me too, seems like about 60-70% of the jobs i see where i live are development type roles!! Damn those developers whereas network roles seem to be quite rare at the mo
Well that's good to hear. I think it's important that US programming thrives.
me 2...but i live in the UK not the US
Well of course that is important too, Im from the UK myself and we continue to provide world class programmers. Even though many of the Vendors are US based they do draw on talent around the world. That said, I still think it's important US based programming remains robust! -
JDMurray Admin Posts: 13,089 AdminTurgon wrote:Is there a correlation between mathematical ability and programming? I will let the programmers debate that one.
-
Turgon Banned Posts: 6,308 ■■■■■■■■■□JDMurray wrote:Turgon wrote:Is there a correlation between mathematical ability and programming? I will let the programmers debate that one.
The voice of reason and I have to say a fair point, at least based on my experience. In terms of the field, the *best* programmer I worked with had the worst possible degree in CS but made a fortune. -
Turgon Banned Posts: 6,308 ■■■■■■■■■□JDMurray wrote:Turgon wrote:Is there a correlation between mathematical ability and programming? I will let the programmers debate that one.
Addendum to this..has Object Oriented Programming made this situation possible? -
undomiel Member Posts: 2,818Programming before OOP still employed the basic mathematic ideas. OOP just introduces a different organizational method. I don't see it making a major impact on the necessity of grasping higher math. The math more effects the algorithm that you are generating than the actual implementation of it.Jumping on the IT blogging band wagon -- http://www.jefferyland.com/
-
Turgon Banned Posts: 6,308 ■■■■■■■■■□undomiel wrote:Programming before OOP still employed the basic mathematic ideas. OOP just introduces a different organizational method. I don't see it making a major impact on the necessity of grasping higher math. The math more effects the algorithm that you are generating than the actual implementation of it.
I have no doubt, prior to OOP one needed mathematical ability, but has the requirement relaxed since OOP came in?
So the question is, does one need a higher grasp of mathematics to be a proficient programmer? It seems that OOP or any other development aside, one only needs an understanding of the fundamentals..at least as mathematics is concerned these days. -
JDMurray Admin Posts: 13,089 AdminTurgon wrote:I have no doubt, prior to OOP one needed mathematical ability, but has the requirement relaxed since OOP came in?Turgon wrote:So the question is, does one need a higher grasp of mathematics to be a proficient programmer? It seems that OOP or any other development aside, one only needs an understanding of the fundamentals..at least as mathematics is concerned these days.
-
eltoro Member Posts: 168Well I think algorithmic design and programming differ in the sense that You definitely need strong math background to design complex algorithms. The actual coding is a breeze.Masters in Computer Science / Software Engineering (Dec. 2010)
Illinois Institute of Technology -
Turgon Banned Posts: 6,308 ■■■■■■■■■□I see, I think Im confusing algorithm creating and programming.
-
undomiel Member Posts: 2,818Had to run yesterday so my post was a bit rushed, I'm sorry I didn't make things a bit more clear. OOP is on the structuring side of things. It can be viewed completely separate from the algorithm. The algorithm can be viewed completely separate from the code. The algorithm is the logic and math that plots the function for how a part of a program operates. That is where all of the math goes into, the algorithm. You don't even need to be a programmer to design a good algorithm, though having programming knowledge will certainly help, especially when you hand it over to the programmer to implement. The code is the implementation of the algorithm. You don't really need to know anything but the basics of algebra for implementation of the algorithm. You can be terrible at math and still implement an algorithm. Albeit being good at math will help you in optimization, but that is completely separate from implementation. How does OOP fit into this? OOP is the structure. It is a taking of the language of the implementation and making it easier to manage, like applying an MLA format to a paper. The paper is still written in English, but now a standard has been applied to make it more organized and manageable for the reader. But it isn't necessary for this implementation. You can still write good clean code without using OOP just like you can still write a good clean article without applying some standardized format to it. But formatting makes it easier.
I know MLA isn't the best analogy by a long shot, but it is all that is popping into my head at the moment. Feel free to hang me for it though.
And I should probably add the disclaimer that I am not a professional programmer by a long shot, I'm just a self-taught hobbyist with very sloppy code.Jumping on the IT blogging band wagon -- http://www.jefferyland.com/ -
sir_creamy_ Inactive Imported Users Posts: 298eltoro wrote:Well I think algorithmic design and programming differ in the sense that You definitely need strong math background to design complex algorithms. The actual coding is a breeze.
Yes, absolutely.Bachelor of Computer Science
[Forum moderators are my friends] -
liven Member Posts: 918I am for the most part a procedural coder. I do some OO stuff, but not much. I have studied my fare share of high level math, but I don't really think that it made that big of a difference on my ability to code. I am not saying studying logic helped me code, but I think some for of logic is what makes coding for me possible.
Being able to look at the goal the code will accomplish on a high level, then breaking that down into smaller and smaller parts. These parts need to be as simple as possible until I can easily code them in as a most efficient was as possible. Then put the parts together and iron out the bugs....
I guess that is kind of like solving a complex calc2 problem, but not really from the stand point of applying complex mathematical principles. More from being able to break things down...
This is just my take on it, I am sure it is much different for a high level OO coder.encrypt the encryption, never mind my brain hurts. -
JDMurray Admin Posts: 13,089 Admineltoro wrote:Well I think algorithmic design and programming differ in the sense that You definitely need strong math background to design complex algorithms. The actual coding is a breeze.
-
sir_creamy_ Inactive Imported Users Posts: 298If you can't design and write a code fragment and prove it's complexity you'll be a code monkey your entire life simply implementing a spec for small modules. Try designing a distributed application from the ground up without considering the efficiency of your code and you'll quickly realize how doomed you are.Bachelor of Computer Science
[Forum moderators are my friends] -
liven Member Posts: 918sir_creamy_ wrote:If you can't design and write a code fragment and prove it's complexity you'll be a code monkey your entire life simply implementing a spec for small modules. Try designing a distributed application from the ground up without considering the efficiency of your code and you'll quickly realize how doomed you are.
Forgive my ignorance, but I don't follow you.
I don't really code large distributed apps, however I often write rather complex scripts or applications that approach several thousand lines. But my goal is to make the code as simple, and efficient as possible. I try also to make it as straight forward as possible in case I or someone else has to make changes to it down the road. I don't really thing that makes me a code monkey, does it?
I mean I learned this style from a co-worker that used to be a professor at a very respectable university. He would actually grade my code! And I always got better marks if it was easy to follow...
Once again I am not trying to put words in your mouth, rather just understand what you meant by your last post.encrypt the encryption, never mind my brain hurts. -
Turgon Banned Posts: 6,308 ■■■■■■■■■□Just to add to this..does this complexity still not equate to being good about maths? Perhaps not.
What about software used by traders and financial models? Does this not involve the ability of programmers to understand complex mathematical models and be able to translate them into effective code for online trading of currencies in the sphere of FX-trading or derivitives or other things?
If so, who works between the financial analysts and the programmers to enable the transition from complex financial modelling to effective coding? -
JDMurray Admin Posts: 13,089 AdminTurgon wrote:If so, who works between the financial analysts and the programmers to enable the transition from complex financial modelling to effective coding?
-
sir_creamy_ Inactive Imported Users Posts: 298This debate is getting drawn out.
What I'm saying is that developing algorithms to solve problems efficiently requires the knowledge to formally prove an algorithm's efficientcy. I.E., mathematically proving the result can be generated in a specific time.
If this isn't part of your job description then you're not wearing the big boy pants. You're most likely implementing small-scale functions of a larger system that have no effect on the overall efficiency of the system as a whole.Bachelor of Computer Science
[Forum moderators are my friends] -
JDMurray Admin Posts: 13,089 Adminsir_creamy_ wrote:What I'm saying is that developing algorithms to solve problems efficiently requires the knowledge to formally prove an algorithm's efficientcy. I.E., mathematically proving the result can be generated in a specific time.