Like most folks, you were testing for the wrong skills.

The last job I had was Delphi-specific, and their “coding test” was very simple:

Write a program that uses a TStringlist, reads in a CSV file with 7 columns, 
sorts it on column 3, removes column 5, and saves the result to a file name 
xyz.dat. Something to that effect.

It took me about 10 minutes and it was maybe 20 lines of code.

Later on, after I’d been hired, the guy who interviewed me and gave me the 
test, said, “Oh, by the way, I just looked at the code you gave for your coding 
test. You passed.” I looked at him for a moment and shrugged. He said, "very 
few people do.” I asked “why?” He said, “Because they don’t know much about 
Delphi I suppose. Or maybe the power of stringlists."

I initially started to solve the problem by thinking about how to solve it in 
general; but re-reading it, I kept notincing it said to use a TStringList. It 
wasn’t there by mistake. Then I remembered that you can read CSV files into 
them directly using default settings, something a LOT of Delphi programmers 
don’t realize. It all hinged around knowing the features of TStringLists — 
which are probably THE single most used object in Delphi’s entire library. 
They’re sort of the Swiss Army Knife of Delphi programming if you’re 
manipulating any sort of text. 

I probably would not have thought about using a TStringList if it had not been 
mentioned, but I was glad it WAS mentioned. I mean … it simply wasn’t the first 
solution that came to mind.

Too many people want to hire for solutions in X and then ask candidates to 
solve an example problem that asks for solutions using Y. I’ve never understood 
that.

When I’m screening Delphi people, I ask them questions about solving problems 
using Delphi. Not “theoretical” but stuff I run into all the time … things that 
THEY should run into all the time if they’re working with Delphi.

Hardly anybody takes that approach. I don’t know why. Something like, “create a 
form with a DBGrid and Nav bar that displays the FishFact demo table” is like 
“Hello World” for database apps, and it’s amazing how many peole can’t do it!

Do you know how many people I’ve interviewed over the years for Delphi roles 
who provided resumes with tons of Delphi experience shown, yet they couldn’t 
even answer basic questions about the IDE or common library functions? I don’t 
even look closely at their resumes any more. If they apply, I give them four 
questions to answer that relate to our project, from simple to hard, and see 
how they respond. I don’t expect them to answer all four, but some can’t even 
answer one adequately.

None of this has anything to do with their educational level or background. 
Either they know what they say they know, or they don’t. And most people 
over-inflate their claims on the resume they turn in.

People with a CS degree don’t know any more about Delphi or C# or Java than 
those who don’t. But if you’ve been doing original programming (ie, writing 
tons of code) for a few years, there’s stuff you do repeatedly. It’s like 
playing the same few common musical bars on a piano. If they can’t play them, 
then they lied about their experience. They aren’t going to work out if the job 
involves a lot of original coding. 

If it’s for a maintenance role, then I’d give them examples with subtle bugs in 
the code and see how many they can find. Don’t ask them to write a bubble-sort 
function! Ask them to refactor a chunk of code that’s buggy, adding in some 
exception handling, and see what they do.

Having a CS degree won’t differentiate ANY of these candidates today.

There used to be a time when everybody reinvented the wheel. Those were the 
good ‘ol days. Today people search Google and rummage through StackOverflow for 
ready-made solutions. Even Microsoft has integrated an AI bot into Visual 
Studio that lets you search for code fragments scraped from GitHub to reduce 
coding time. Most such examples are over-simplified and incomplete, so I’m not 
convinced they’d save time over using a solid component library like what TMS 
Software and others sell for Delphi and C#, but when you have been given no 
budget to spend, someone has declared that your time is easier and cheaper to 
come by.

-David Schwartz


PS: no thanks on the Lazarus presentation. I’ve never used Lazarus. I might be 
persuaded to demonstrate building a web app using TMS WebCore, starting in 
Delphi then switching to Visual Studio Code. It’s written in Delphi, but 
translated to js that runs inside the web browser. WebCore isn’t free, but 
pas2js and  VSCode are. (See TMS Software to learn more about WebCore and their 
TNC library of cross-platform components.)




> On Aug 23, 2022, at 12:46 PM, Steve Litt via PLUG-discuss 
> <plug-discuss@lists.phxlinux.org> wrote:
> 
> On Tue, 2022-08-23 at 03:01 +0000, David Schwartz via PLUG-discuss wrote:
>> The question that was posed morphed into something about the value of CS 
>> degrees
>> today. I don’t think they’re worth the time or cost to get one. 
> 
> I agree. More later...
>> 
>> Pretty much all of the work I’ve been hired to do since then (2005+) was 
>> based
>> entirely on the fact that I had 10+ years working with Delphi. 
> 
> How would you like to give an online presentation, on Lazarus, at the GoLUG 
> meeting
> in early October or early November? I think it would be well received.
> 
> 
> About CS degrees...
> 
> As I've mentioned a few thousand times, I learned to program at Santa Monica
> Community College. In late 1986 I had to hire an assistant programmer to help 
> take
> care of what ten years later would be called the client in what ten years 
> later
> would be called a client/server system. This client was written, by me, in 
> Turbo
> Pascal, which is an easy language, so I was looking for an entry level person
> willing to work cheap. I put the word out, got 750 resumes, and called a few.
> 
> The test part of my interview consisted of the following:
> 
> In *pseudocode*, write a program to read lines out of one file, capitalize 
> every
> letter, and write them to a new file. You have 30 minutes, but if you hand it 
> in
> earlier it will count to your credit. Easy, right?
> 
> Several applicants had CS degrees from UCLA. Some claimed they could write a
> compiler. Not one of the the UCLA grads could get it done in 30 minutes. 
> Disgusted,
> I recruited a couple of students from Santa Monica Community College. They 
> both did
> it in 30 minutes or less. One was ideal, but she and I couldn't come close to
> agreeing on salary.
> 
> Yeah, I'm not that impressed with CS degrees for real world programming, and 
> the CS
> grads or undergrads I knew who were good would have been good if they'd spent 
> the
> time clerking at a convenience store: They simply had what it takes, schooling
> irrelevant.
> 
> 
> SteveT
> 
> ---------------------------------------------------
> PLUG-discuss mailing list - PLUG-discuss@lists.phxlinux.org
> To subscribe, unsubscribe, or to change your mail settings:
> https://lists.phxlinux.org/mailman/listinfo/plug-discuss

---------------------------------------------------
PLUG-discuss mailing list - PLUG-discuss@lists.phxlinux.org
To subscribe, unsubscribe, or to change your mail settings:
https://lists.phxlinux.org/mailman/listinfo/plug-discuss

Reply via email to