This evening, I sent out an email to Waterlooβs Engineering Admissions about the possibility of switching my program choice from Software Engineering (SE) to Systems Design Engineering (SYDE).
Waterloo SE is quite an elusive program. With over 2000 applicants last year and a projected class size of 125, it is undoubtedly one of the most competitive programs in all of Canada. However, with the current state of the tech market, it seems that employment for software developers is not a given. In fact, graduates from good (in Canadian terms) schools such as McGill are struggling to find a first job without previous internship experience, or meaningful personal projects.
Todayβs market is rapidly evolving
The prior assumption that junior/entry-level jobs are a means to gain practical programming knowledge from the theory-based computer science classes is over, which only adds to the value of Waterlooβs cooperative education program. In fact, all Waterloo Engineering streams require around four to six placements for graduation, whereas co-op is completely optional elsewhere. Some , like McGillβs Software Engineering program also require co-op, however, the school has nowhere near as many resources as UW does in terms of gaining a placement, which delays graduation for many.
All this is to say, I do not believe that SE at Waterloo (and other schools) will continue to be what it once was, with graduates being compensated upwards of $300,000 CAD (total comp) fresh out of 4B. In fact, most if not all engineering streams at Waterloo require some programming during the duration of the program, which means that practically one of them will produce a sizeable amount of software engineers.
My view of the trajectory of tech is that in the near future, the ability to write good, functional software will not be as valuable as it is today. Instead, with future (and present) technologies to assist with programming workflows, there will be a greater need to integrate the not-yet-existent technologies into major industries, which is where the value of different engineering degrees, such as Mechatronics or Systems Design, will come into play.
For example, computer vision is a field that has yet to have been βfully solvedβ, with bulletproof, practical, and perhaps simple solutions. Apparently, Costco locations around the US were performing an inventory count last night, which seems like a ripe opportunity for disruption from my perspective. Although this is not a super costly ordeal in the grand scheme of their annual operations, it does seem funny that we still need to keep employees overnight to count things around a big warehouse.
From speaking to coworkers who have worked at different retail locations, it seems like RFID tags are somewhat common in terms of inventory tracking. However, that seems like a costly and unscalable solution. Why canβt we have computers count with eyes like we do? Well, if this eventually becomes a solved issue, itβll probably have been scientists and researchers who produce the model. Thus, engineers who can see the big picture of managing a warehouse, with many physical and practical considerations such as logistics chains and such, will be better suited towards implementing this inventory tracking system. Supplementing their software skills is as simple as a few online refresher courses. However, software engineers would need to learn much more about traditional industry.
Some of the most disruptive innovators in software are college dropouts or even high school students. This is a field where experimentation is simple, and resources are plentiful for anyone who has a genuine passion and interest. Moving on, I might be so brave as to suggest that taking five years to complete a degree regarding software would hold you back relative to the velocity of the industry, missing on key paradigm shifts, if not for the (still?) fantastic co-op program.
I do wish that there were more engineering programs dedicated to systems, exploring the synergy between electronics and computers, mechanics, and maybe even chemistry. My two top contenders are Systems Design at Waterloo and Engineering Science at the University of Toronto, although the latter is seen as somewhat too difficult for what you get out of the program.