Quote:
|
I think there is a software analogy to be made here. As techhelpbb pointed out, where kids start today with languages and processing power is amazing compared to where I started (fortran punch cards on an old VAX-11/780). As someone who teaches programming, I also know that my students in general use much better practices in designing programs than I did. Precisely because they are not worried about things like using short variable names to take up less space in memory. I know a number of people who lament that kids learn Java or C++ or Php before learning Assembly. "They need to know how computers really work." But that isn't Assembly, which is really just abstraction at a lower level. "They don't learn how to optimize a program's performance." Wrong. Plain and simple. They still learn about optimizing, but they optimize algorithms and not code. Using prebuilt libraries. Because that is the way they will need to operate when they get jobs. I find that students who learn assembly first tend to write code that is very difficult to read and maintain. It is much easier to teach (and learn) assembly after students have a solid understanding of higher level language.
|
Yes they can certainly get a job - even if they can't optimize their work. They might even be the next FaceBook and still not be able to optimize their work. My actual job besides my personal businesses is leading DevOps for a huge financial institution with about 10,000 developers. My software has been at the core of the financial markets since I was 16 (reviewed, of course, by other programmers with much greater experience at the time). The first time I wrote software that was used by my family business at IT&T and NYMEX in passing as a tool I was 11 years old.
I agree that we would be foolish to discourage the students from taking the more interesting path by using these cool tools (like COTS) we as their seniors (I am 40...when did that happen!) give them for free. However I also want to emphasize that it's easy to encourage them to take the interesting path and totally ignore the foundation. Which works great till it is a major problem (see computer security, Windows Millenium, Windows Vista's task scheduler). Then the difference between those that have the hard foundation and really any interest in that foundation will show.
This is why we can churn out and through programming consultants like water but certain highly regarded entities are looking for the needles in the haystack. So what it boils down to is: does FIRST actually make it easier for those that will be the 'needle in the haystack' who become the most valuable employees to the economy to gain interest and grow. Does COTS help those 'needles in the haystack' or does it make it easier for other people to make them take the easy path when they have the luxury of time to explore the hard path?
I've seen the outcome of this go 5 ways:
1. We've got brilliant students at cool places now that definitely did things the hard way in FRC and gained for it.
2. We've got students now who have realized that the easy way got the job done in FRC but now they need to learn the hard way with all the added pressures of school and adult life.
3. We've got some students that I think might have been better off with the challenge being greater as a participant in FRC because they had more talent and opportunity than they realized.
4. We've got students that took the hard way and it was too much for them.
5. We've got students that rode their talent and when the hard way showed up it was too much commitment for them.
It think it is unavoidable that COTS must stay in FIRST. Just as FIRST must continue to offer high level programming languages. The question then becomes - how does FIRST honor the value of the base engineering and fabrication skills and contribute to the students developing those base skills. Right now I don't think FIRST really has any protection for that flow. If it continues like this it's entirely possible schools will have shops full of tools and they will be a like pretty cars that no one drives.