Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Comments
The Reality Of Freshly Minted Software Engineers
Oldest First  |  Newest First  |  Threaded View
Don Gray
50%
50%
Don Gray,
User Rank: Apprentice
10/15/2013 | 7:19:23 PM
re: The Reality Of Freshly Minted Software Engineers
Gunter,

Excellent article and I believe you have hit the nail on the head!

I am on an advisory board for my alma mater and the first few meetings I attended I tried to use my position to highlight these exact issues. I proposed that the university adopt a multi-year project approach creating 3 credit 100,200,300,and 400 level classes that would revolve around a 2 semester project that was designed by the Year 4 students.

Year 1 students would act as the Quality Assurance team, Year 2 students the Technical Analysts writing the specifications, Year 3 as the Infrastructure & Development team, and Year 4 as the Architects and Project Managers.

In my mind such a program would serve several purposes:

1) Create interaction amongst the students in different years allowing mutual learning and teaching large group project dynamics and fundamentals
2) Force every student through the 4 year program to see the many sides of a software project and the different roles involved
3) Create "ready-to-hit-the-ground-running" graduates that could actually be of some use

I was told that such a program was not feasible and unrealistic, even more strongly I was instructed that this was university not a trade school, the mission was to teach the fundamentals and theory not the application of it.

I should have known better, I tried 20ish years ago to get a 1 credit course approved to teach JCL, since the FIRST thing I was trained on when leaving college was JCL!

I think by adding in your concept of modifying existing code, you could have the Year 4 project by enhancements to the prior years project, giving the teams a 4 year exposure to the same codebase.
BrianY331
50%
50%
BrianY331,
User Rank: Strategist
10/17/2013 | 7:05:28 PM
re: The Reality Of Freshly Minted Software Engineers
Great article. I think there is an additional factor regarding the mile-wide gulf separating academia from the business world is that there is very little communication or similarity between what happens in the business world and what academia thinks goes on there. I find that vanishingly few computer science professors have ever actually worked in the industry, and many (most?) have never even met anybody who has. Their world of academic publications, tenure, and focus on mathematical theory rarely has anything at all to do with the actual practice of developing software. I have met many of them who believe that the papers they publish in ACM journals are eagerly being read by practicing engineers and used to build systems in the real world. While you can point to a tiny number of examples of this happening in a few areas (like graphics for example) it is uncommon even there and entirely absent everywhere else. While medical schools have active connections to real doctors and real hospitals, new CS grads have likely never even talked to an actual software engineer and may never have even talked to someone who has.

Ponder this, if you could hire one of two people for the same amount of money and one was a fresh CS grad and the other was someone with no formal education in software development but with 20 years of hands-on experience you would clearly hire the second guy, right? What if he only had ten? Likely you would still hire the experienced guy, right? What about 5 years? or 2 years? Comparing someone with a 4 year degree with someone with 4 years of hands on experience, I think I would still rather take the guy with 4 years of experience, all other things being equal. If that's the case, a 4 year degree is a waste of time regarding one's software development skills. It might well do you some good to read Shakespeare, learn calculus, and learn a second language, but when it comes to software development skills? It's not a good investment in time and money for most people.
tarnold282
50%
50%
tarnold282,
User Rank: Apprentice
10/21/2013 | 6:15:01 PM
re: The Reality Of Freshly Minted Software Engineers
It's not only newly-graduated people - I've found that it also applies to ANYONE who writes software, but not for "real products". In particular, I've seen this a lot from people who work in Research organizations - corporate ones, not academics. Like the student projects you describe, they tend to write everything from scratch without needing to consider things like maintainability or figuring out someone else's old code.
Becca Lipman
50%
50%
Becca Lipman,
User Rank: Apprentice
11/25/2013 | 9:44:03 PM
re: The Reality Of Freshly Minted Software Engineers
Excellent points, I see the same frustrations coming from the
software engineers who start at new companies, desperately trying to
reshape their thinking for their new role. The same can be said for other professions.

It's hard to knock
universities, they teach the skills they can in a relatively short
period. Perhaps they need more time, extra courses, or a mandatory
internship for the students to learn this group-think and refactoring.
IMO, too many group projects run the risk of pigeonholing skill sets when
students get comfortable taking on the same aspect of the project again and again.


COVID-19: Latest Security News & Commentary
Dark Reading Staff 9/25/2020
Hacking Yourself: Marie Moe and Pacemaker Security
Gary McGraw Ph.D., Co-founder Berryville Institute of Machine Learning,  9/21/2020
Startup Aims to Map and Track All the IT and Security Things
Kelly Jackson Higgins, Executive Editor at Dark Reading,  9/22/2020
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
Current Issue
Special Report: Computing's New Normal
This special report examines how IT security organizations have adapted to the "new normal" of computing and what the long-term effects will be. Read it and get a unique set of perspectives on issues ranging from new threats & vulnerabilities as a result of remote working to how enterprise security strategy will be affected long term.
Flash Poll
How IT Security Organizations are Attacking the Cybersecurity Problem
How IT Security Organizations are Attacking the Cybersecurity Problem
The COVID-19 pandemic turned the world -- and enterprise computing -- on end. Here's a look at how cybersecurity teams are retrenching their defense strategies, rebuilding their teams, and selecting new technologies to stop the oncoming rise of online attacks.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2020-15208
PUBLISHED: 2020-09-25
In tensorflow-lite before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, when determining the common dimension size of two tensors, TFLite uses a `DCHECK` which is no-op outside of debug compilation modes. Since the function always returns the dimension of the first tensor, malicious attackers can ...
CVE-2020-15209
PUBLISHED: 2020-09-25
In tensorflow-lite before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, a crafted TFLite model can force a node to have as input a tensor backed by a `nullptr` buffer. This can be achieved by changing a buffer index in the flatbuffer serialization to convert a read-only tensor to a read-write one....
CVE-2020-15210
PUBLISHED: 2020-09-25
In tensorflow-lite before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, if a TFLite saved model uses the same tensor as both input and output of an operator, then, depending on the operator, we can observe a segmentation fault or just memory corruption. We have patched the issue in d58c96946b and ...
CVE-2020-15211
PUBLISHED: 2020-09-25
In TensorFlow Lite before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, saved models in the flatbuffer format use a double indexing scheme: a model has a set of subgraphs, each subgraph has a set of operators and each operator has a set of input/output tensors. The flatbuffer format uses indices f...
CVE-2020-15212
PUBLISHED: 2020-09-25
In TensorFlow Lite before versions 2.2.1 and 2.3.1, models using segment sum can trigger writes outside of bounds of heap allocated buffers by inserting negative elements in the segment ids tensor. Users having access to `segment_ids_data` can alter `output_index` and then write to outside of `outpu...