last day (20 days later) » 

15:38
79
Q: What can I do about doing badly on an impromptu coding test?

CloudI have been at my organization for around 18 months. I took a technical programming test (basically a C# kata of sorts) in the interview and flunked it. However, they said they liked my attitude and could see I had other skills (outside of .NET) and so agreed to hire me. I agreed to accept on the...

That's a real dick move by your manager, putting someone on the spot like that.
If you haven't been able to improve in 18 months, it seems unlikely that you can show significant improvement in the next 6 months. If you feel it is worth a try, you might ask your manager for suggestions. Either way, polish up your resume and start looking elsewhere.
Is this the same manager against whom you filed a formal complaint with HR?
There must've been a red flag for this to have been triggered. Do you get performance reports? Are you working behind your other colleagues?
Are you happy there?
Regular answer would focus on making the improvements your manager wants to see and working closely with them to get your skills to where they need to be. But for your specific situation the only real advice is to update your resume and start job searching. Your manager appears to despise you and is working on forcing you out.
15:38
@JoeStrazzere Yes. I don't accept that I am not capable. I have learnt other programming languages well enough....
@Cloud - start looking for a new job now. After 18 months of not being able to do better on your interview coding test, and later filing a formal complaint against your boss, you are not likely to be allowed to stick around.
I'd start looking for new work. You have enough experience that people will want you. You're clearly motivated. Side note, if my boss dropped a random test on me like that, I don't lie. I'd update my resume and start looking. This depends on your market, but there are MANY places in desperate need for programmers. (Especially the kind like yourself that are learning outside of work) You're an asset not a liability, if they can't see that, then maybe you should find someone who will. Good news, you have 6 months. Plenty of time to find a "right fit".
@ShinEmperor Wow, that was motivating. Thanks. I have 5 years experience now, but my expertise is SQL / data side.. so even after all this time, I don't feel like a real programmer yet and worry that I will have trouble in another role. But your comment helped. Thanks.
@Cloud I wish you the best and I have no doubt you can do it. :) Just keep doing what you're doing. The best coders are the coders that are always expanding their skills.
It was the same one I was given in the interview … not very imaginative of them, so …. (I hadn't attempted it since) … you know how to fill your next 6 months :-) In your place, though, I would be polishing my CV and looking to move on. Six months’ notice is quite generous
15:38
In computing you can't take "18 months" to do anything! :O
@Fattie I think it's fair to say .NET isn't going anywhere. And I've read blogs by high level .NET devs saying it took them 10 years to get good at OOO. Any suggestions on how to improve faster are welcome.
I truly don't. Maybe fix the first problem ("new job") first, then move from there.
BTW many programmers hate coding tests, and are plain bad at them.
@Fattie I think it is grossly incorrect to state that "no real programmer" (gate-keeping much?) takes more than a few days to master a programming languages. So many languages have their own niche little caverns of possibilities that I can't imagine anyone truely mastering them. Take C#.NET for example. Take someone who's only worked on MVC applications and stick them on webforms or vice versa. They'll be able to do it, but I doubt after a few days they'll produce anything to the same quality they could have done in their own domain. Thats just within one language.
@Fattie Any "real programmer" will know it will take more than a few days to master any new language.
@Cloud Yeah don't take Fattie's comment to heart, he has a thing where he sometimes says the opposite of what everybody else on the workplace thinks. I've been doing C# since 8 years now, 4 in university and 4 as full-time developer, and I still find the occasional "gold nugget" about what it can do. And I'm library-stuck to .NET 3.5, so there's a lot I never even touched. And like James Trotter mentioned, you only learn more about what you actually use. C# entered the stage almost 20 years ago, and only now are they really going cross-platform with NET Core, so no problem there either.
15:38
@Cloud I think you should take several steps (others have mentioned, but I'm adding to the count). First, ignore Fattie, I dunno what the hell he's talking about with "a few days to master any new language". Second, update your resume/CV. Third, consider if programming is what you want to do (not trying to dissuade you, but it's something to think about if you're struggling). That manager seems terrible, too; a test that abruptly with so many tasks to complete in such a short time is just ridiculous (<3.5min per task???), and that should be reason enough to update your resume/CV.
Is 30 minutes the same amount of time they gave you to complete these exercises in the original interview, or was this significantly shorter?
@Fattie: A few days to MASTER a new language? That's nonsense. Be able to start using it, maybe, but I won't claim to have even mastered C, despite having learned it from the original K&R. Likewise APIs: that's what man pages are for! Likewise project lengths: if your project is finished in less than 18 months, it's trivial. I've been working on one, off and on, for close to 20 years: new capabilities, improved algorithms, adapting it to use GPUs...
Software engineering is about algorithms and data structures (and more prosaically, about memory management, threading, and sync). If you have to use some new language X on a new project, it takes a couple days to become familiar with the syntax. Languages are of no consequence. (Sure, to become like a "language mechanic" or "language lawyer" is detailed. That is absolutely admirable, but it's like being Stradivarius as opposed to being Joe Walsh. Mr. Walsh can master, and then shred!, any guitar in a couple days.) {Obviously, the analogy is not meant to be definitive or provative.}
FYI for everyone reading this, you can ignore anyone talking about "real programmers".
@Fattie If a new language has no new concepts, you can learn to use it in a few days. It won't be idiomatic usage, and there are likely to be style issues. It's likely to be relatively bad code, in that there's often a better way to do things. If there are new concepts, it could take a long time. If someone who can't program well in any computer language is given one similar to one already studied, it's not going to be fast. Computer languages differ in far more than syntax, and the language in use does very much matter. Try adding OO concepts to C.
15:38
Syntax is only a tiny part of effectively using a programming language. There is style, techniques, and most importantly - libraries. To be truly productive, you need to leverage existing code. .NET has tens of thousands of classes; you are not learning that in a few days.
Nor should you be expected to, and ii would be a waste of time, since anybody who did that 15 years ago would find it useless today due to deprecation and name changes.
Both sides of the "it does/doesn't take a few days to master a new language" are correct - it does take a relatively short period of time to ramp up enough in a new language that you can apply most of your existing CS knowledge and can basically get stuff done. It also takes a ridiculous length of time to get to grips with the quirks, some of which can be quite important - and a test on a specific language always includes the weird quirky things. The result of such a test has little bearing on being effective in the language unless they're using certain language features a lot.
Does that test have a suggested completion time? 30 mins seem short, but this could be very simple debugging questions.By your own admission you have been difficult to work with, had interpersonal issues, not proficient to begin with, and after 18 months you didn't significantly improve on the very same test? AND they have given you an additional 6 months to show improvement? Sounds like they are very generous with their patience, I don't think I'd give you a second and third chance.
I am yet to see a coding test that asserts in a general term the quality of a software developer. Most coding tests are asserting instead a specific skillset. A good software developer is much more than its capability of solving a specific coding problem
What sort of questions were these? 3 1/2 minutes per question is reasonable if it's a multiple choice "what is an enum" type question; but if it's "please write some code that switches a string" it'll take me that long just to understand the requirements fully.
15:38
Can you give some examples of what this test involved? Was it more involved than utilizing base primitives (print the numbers 1 through 10)? Or was it at least as complicated as a fizzbuzz? I agree with everyone else saying impromptu tests are strange.
@JoeStrazzere You mention HR - OP doesn't; and the question hasn't been edited... One of us has missed something or added something or a comment deleted. (Though I feel that this sort of action is something akin to bullying in the work place and NOW talking to HR would be good)
The challenge was to basically write something like this (not exactly but not too far off)... codereview.stackexchange.com/questions/205726/…
@UKMonkey Read the previous question, there are more complications to the relationship between OP and manager.
@user3067860 what previous question?
15:38
@user3067860 thanks. This really ought to be included in the question!
 
1 hour later…
16:47
@Cloud So you had 30 minutes to write something like this "flip coin game", with the work subdivided into 9 stages? Or are you saying that each of the 9 questions was like that? (I'm pretty sure you meant the first one, but I just wanted to confirm.)
 
3 hours later…
19:25
@UKMonkey - in a different question, the OP indicated that he had filed a formal complaint against his manager. see: workplace.stackexchange.com/questions/123253/… " kept a log of all of this and eventually, after 6 months of it, went to HR. I made a formal complaint about him "
 
3 hours later…
22:25
@Fattie "BTW many programmers hate coding tests, and are plain bad at them." Well, yes because these tests are, more often than not, a completely broken artificial attempt at "proving" something. They cannot even be taken under your normal day-to-day conditions (i.e. interviews are stressful and cause anxiety, which negatively impacts performance, etc.), so yeah, the process is broken, but it's done by clueless people.
It would be a lot better if they actually focused on discussing your actual work/experience, projects, and problems you've solved in detail.

  last day (20 days later) »