Opportunity

David Schwartz newsletters at thetoolwiz.com
Tue Aug 23 14:03:06 MST 2022


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 at 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 at lists.phxlinux.org
> To subscribe, unsubscribe, or to change your mail settings:
> https://lists.phxlinux.org/mailman/listinfo/plug-discuss

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.phxlinux.org/pipermail/plug-discuss/attachments/20220823/1b67d9ab/attachment.html>


More information about the PLUG-discuss mailing list