Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "self reference"
-
Worst dev I've interviewed?
"Archie" ran his own consulting business for almost 20 years. Prior to his interview, Archie sent HR (to send to us) his company's website, where he had samples of code for us to review (which was not bad, this guy did know his stuff).
What I found odd was Archie was the lone wolf at his company, but everything I found about him (the about page, his bio, etc), Archie was referred to as 'Mr. Archie Brown'.
Ex. 'Mr. Archie Brown began his humble career and 'Mr. Archie Brown is active in his church and volunteers his time in many charities ...'
Odd to refer to yourself in the third person on your own site, but OK, I like putting hot sauce on my mac & cheese (no judgement here).
Then the interview..standard stuff, then..
Me: "Given your experience, this is an entry level developer position. Do you feel the work would be challenging enough for you?"
Archie: "Yes, Mr. Archie Brown would have no problem starting at bottom. You see ..."
Almost any time he would reference himself, instead of 'me' or 'I', he would say 'Mr. Archie Brown'. As the interview continued, the ego and self-importance grew and grew.
My interview partner wanted to be done by using the escape clause, "PaperTrail, I'm good, do you have any questions?"
Yes, yes I do. I was having too much fun listening to this guy ramble on about himself. I made the interview go the full hour with the majority of time 'Archie' telling us how great he is.
The icing on the cake was my partner caught his gold cuff-links and tie-pin where his initials and how he kept raising his hands and playing with his tie to show us (which I totally missed, then was like "oh yea, that was weird")
After the interview, talking with HR:
HR-Jake: "How did it go?"
John: "Terrible. One of the worst. We would have been done in 10 minutes if PaperTrail didn't keep asking questions."
Me: "Are you kidding!? I had the best time ever. I wish I could have stayed longer."
HR-Jake: "Really? This guy was so full of himself I wasn't sure to even schedule with you guys. With his experience, I thought it deserved at least a round with you two. You think we should give him a chance?"
Me: "Hell no. Never in a million years, no. I never in my whole life met anyone with such a big ego. I mean, he kept referring to himself in the third person. Who does that?"
HR-Jake: "Whew!...yea, he did that in the phone interview too. It was a red flag for us as well."
Couple of weeks later I ran into HR-Jake in the break room.
HR-Jake: "Remember Mr. Archie Brown?"
Me: "To my dying day, I will never forget Mr. Archie Brown."
HR-Jake: "I called him later that day to tell him the good news and he accused me of being a racist. If we didn't give him the job, he was getting a lawyer and sue us for discrimination."
Me: "What the frack!"
HR-Jake: "Yep, and guess what? Got a letter from his lawyer today. I don't think a case will come in front of a judge, but if you have any notes from the interview, I'll need them."
Me: "What are we going to do?"
HR-Jake: "Play the waiting game between lawyers. We're pretty sure he'll run out of money before we do."
After about 6 months, and a theft conviction (that story made the local paper), Mr. Archie Brooks dropped his case (or his lawyers did).23 -
I was thinking today about a certain aspect of running a software startup and then it came to me...
Hank Scorpio, from the Simpsons, was right in his approach.
So many time I have seen people get hired only for the company to get a less-than-optimal performance from them.
But why is this? Of course, it is many factors but one of the major ones is...
Employers seem to lump employees in together and assume that since most developers operate in one way that the new devs should be the same way.
The problem with this seems to be that we are all pandering to the lowest common denominator.
Let's face it, most devs (like most people) are not good, and almost everyone is not living up to their potential because of a lack of understanding of themselves and how they can achieve more.
On top of that, most devs are just employees who will do what you tell them to.
Since those above developers are the norm (Reference Seinfeld "95% of people are undatable") we have to assume that there is a 5% who are exceptional.
The difference between the 5% and the 95% is NOT some built-in superiority but that the 5% has a good idea themselves and an understanding of how to get the most out of them. They set goals and then find the right path to achieve them. They don't coast.
By assuming these developers are the same as the others is REALLY hampering their potential and by doing this the company only hurts itself.
So, that's a lot of talking but what actionable things can be taken away from this?
Hank asks Homer "What is your dream?"
Well, employeers should take the time to identify which of these developers are in the 5%. A problem arises though when the 5% decide it is in their best interest to blend in.
Like when home says his dream is to "Work for you?" Hank shuts him down and wants to get to the truth. He makes Homer comfortable with not only vocalizing but achieving his dreams.
When an employer is looking for their types they should be looking for the following...
1. A real genuine desire to achieve
2. A real plan to get their goals done
3. Critical thinking and self-evaluation
But more importantly, when they identify these types they should be asking questions like...
- How can we help you be more productive?
- Is there anything about our current operating norm that is hindering you?
- How does your productivity workflow look?
3 difficulties arise though…
1. Most hiring managers are incompetent, and quite frankly, everyone thinks they are in the 5% and for those managers who delude themselves into this without putting in the work, they will have an impossible time actually identifying those who are actually good and productive employees.
2. Showing special treatment to these folks may upset the people below.
3. You will hear things you don’t like…
Examples include…
- That new fancy open-office that you got because it was the trendy thing to do, you might hear that this is a huge hinderance.
- These days people seem to treat devs like nomads, “just give him a laptop and a table and he is fine”!. You may hear that this is complete BS. Real achievers may want a dedicated desk with multiple monitors, a desk with drawers etc.
- This WILL cost you money. I know of developers who cannot work without a dedicated whiteboard. Buy them whatever they need.
- They may want BOTH a standing desk and a chair to sit on.
- Etc.
The point is that it seems to me to be a foolish strategy to tailor your entire company to force everyone into the same work habits. Really good employees have the self-awareness to develop their own productive practices and any keeping of them inside a box will NOT help.27 -
Been reviewing ALOT of client code and supplier’s lately. I just want to sit in the corner and cry.
Somewhere along the line the education system has failed a generation of software engineers.
I am an embedded c programmer, so I’m pretty low level but I have worked up and down and across the abstractions in the industry. The high level guys I think don’t make these same mistakes due to the stuff they learn in CS courses regarding OOD.. in reference how to properly architect software in a modular way.
I think it may be that too often the embedded software is written by EEs and not CEs, and due to their curriculum they lack good software architecture design.
Too often I will see huge functions with large blocks of copy pasted code with only difference being a variable name. All stuff that can be turned into tables and iterated thru so the function can be less than 20 lines long in the end which is like a 200% improvement when the function started out as 2000 lines because they decided to hard code everything and not let the code and processor do what it’s good at.
Arguments of performance are moot at this point, I’m well aware of constraints and this is not one of them that is affected.
The problem I have is the trying to take their code in and understand what’s its trying todo, and todo that you must scan up and down HUGE sections of the code, even 10k+ of line in one file because their design was not to even use multiple files!
Does their code function yes .. does it work? Yes.. the problem is readability, maintainability. Completely non existent.
I see it soo often I almost begin to second guess my self and think .. am I the crazy one here? No. And it’s not their fault, it’s the education system. They weren’t taught it so they think this is just what programmers do.. hugely mundane copy paste of words and change a little things here and there and done. NO actual software engineers architecture systems and write code in a way so they do it in the most laziest, way possible. Not how these folks do it.. it’s like all they know are if statements and switch statements and everything else is unneeded.. fuck structures and shit just hard code it all... explicitly write everything let’s not be smart about anything.
I know I’ve said it before but with covid and winning so much more buisness did to competition going under I never got around to doing my YouTube channel and web series of how I believe software should be taught across the board.. it’s more than just syntax it’s a way of thinking.. a specific way of architecting any software embedded or high level.
Anyway rant off had to get that off my chest, literally want to sit in the corner and cry this weekend at the horrible code I’m reviewing and it just constantly keeps happening. Over and over and over. The more people I bring on or acquire projects it’s like fuck me wtf is this shit!!! Take some pride in the code you write!16 -
When your primary Android app (with over 1/2 million total downloads) gets banned...
And all the email says is read these [links to] policies!
Back story: this happened to me back in 2011, no matter what I did there was no way to get in touch with a human at Google, I sure hope this process has gotten better! Having my app suspended with no way to fix and get it back is ridiculous!! This could ruin a business.
Over two years later, on a Google+ hangout with Google Android devs out of the Google London office, I said to them how silly it is that this happened....one of them asked me for the app ID, I provided, he looked it up in a system which then had a reference code which then related to SEO violation....wow I finally found the answer, how silly that an SEO violation (too many keywords in the app description) can get your app permanently suspended. What a shame. I wouldn't wish this on any solo developer trying to self learn and make something...
Sometimes I really just have to say "Fuck you, Google" out loud a few times.9 -
Okay guys, this is it!
Today was my final day at my current employer. I am on vacation next week, and will return to my previous employer on January the 2nd.
So I am going back to full time C/C++ coding on Linux. My machines will, once again, all have Gentoo Linux on them, while the servers run Debian. (Or Devuan if I can help it.)
----------------------------------------------------------------
So what have I learned in my 15 months stint as a C++ Qt5 developer on Windows 10 using Visual Studio 2017?
1. VS2017 is the best ever.
Although I am a Linux guy, I have owned all Visual C++/Studio versions since Visual C++ 6 (1999) - if only to use for cross-platform projects in a Windows VM.
2. I love Qt5, even on Windows!
And QtDesigner is a far better tool than I thought. On Linux I rarely had to design GUIs, so I was happily surprised.
3. GUI apps are always inferior to CLI.
Whenever a collegue of mine and me had worked on the same parts in the same libraries, and hit the inevitable merge conflict resolving session, we played a game: Who would push first? Him, with TortoiseGit and BeyondCompare? Or me, with MinTTY and kdiff3?
Surprise! I always won! 😁
4. Only shortly into Application Development for Windows with Visual Studio, I started to miss the fun it is to code on Linux for Linux.
No matter how much I like VS2017, I really miss Code::Blocks!
5. Big software suites (2,792 files) are interesting, but I prefer libraries and frameworks to work on.
----------------------------------------------------------------
For future reference, I'll answer a possible question I may have in the future about Windows 10: What did I use to mod/pimp it?
1. 7+ Taskbar Tweaker
https://rammichael.com/7-taskbar-tw...
2. AeroGlass
http://www.glass8.eu/
3. Classic Start (Now: Open-Shell-Menu)
https://github.com/Open-Shell/...
4. f.lux
https://justgetflux.com/
5. ImDisk
https://sourceforge.net/projects/...
6. Kate
Enhanced text editor I like a lot more than notepad++. Aaaand it has a "vim-mode". 👍
https://kate-editor.org/
7. kdiff3
Three way diff viewer, that can resolve most merge conflicts on its own. Its keyboard shortcuts (ctrl-1|2|3 ; ctrl-PgDn) let you fly through your files.
http://kdiff3.sourceforge.net/
8. Link Shell Extensions
Support hard links, symbolic links, junctions and much more right from the explorer via right-click-menu.
http://schinagl.priv.at/nt/...
9. Rainmeter
Neither as beautiful as Conky, nor as easy to configure or flexible. But it does its job.
https://www.rainmeter.net/
10 WinAeroTweaker
https://winaero.com/comment.php/...
Of course this wasn't everything. I also pimped Visual Studio quite heavily. Sam question from my future self: What did I do?
1 AStyle Extension
https://marketplace.visualstudio.com/...
2 Better Comments
Simple patche to make different comment styles look different. Like obsolete ones being showed striked through, or important ones in bold red and such stuff.
https://marketplace.visualstudio.com/...
3 CodeMaid
Open Source AddOn to clean up source code. Supports C#, C++, F#, VB, PHP, PowerShell, R, JSON, XAML, XML, ASP, HTML, CSS, LESS, SCSS, JavaScript and TypeScript.
http://www.codemaid.net/
4 Atomineer Pro Documentation
Alright, it is commercial. But there is not another tool that can keep doxygen style comments updated. Without this, you have to do it by hand.
https://www.atomineerutils.com/
5 Highlight all occurrences of selected word++
Select a word, and all similar get highlighted. VS could do this on its own, but is restricted to keywords.
https://marketplace.visualstudio.com/...
6 Hot Commands for Visual Studio
https://marketplace.visualstudio.com/...
7 Viasfora
This ingenious invention colorizes brackets (aka "Rainbow brackets") and makes their inner space visible on demand. Very useful if you have to deal with complex flows.
https://viasfora.com/
8 VSColorOutput
Come on! 2018 and Visual Studio still outputs monochromatically?
http://mike-ward.net/vscoloroutput/
That's it, folks.
----------------------------------------------------------------
No matter how much fun it will be to do full time Linux C/C++ coding, and reverse engineering of WORM file systems and proprietary containers and databases, the thing I am most looking forward to is quite mundane: I can do what the fuck I want!
Being stuck in a project? No problem, any of my own projects is just a 'git clone' away. (Or fetch/pull more likely... 😜)
Here I am leaving a place where gitlab.com, github.com and sourceforge.net are blocked.
But I will also miss my collegues here. I know it.
Well, part of the game I guess?7 -
I was laid off. The reason? Well, they didn't really want to say but they were clear it wasn't due to performance. (Thankfully, I got severence pay.) From my perspective it really came out of nowhere, no warnings or even hints that this was coming, which has me spinning. 😵 If I'm doing well at my job and the company is doing well, how in the seven hells could I get laid off??
What they said was partly the reason didn't seem true, or not the whole truth. They essentially stated that "they talked with everyone I worked with" (probably not true based on their decision, but who knows) and came to the conclusion I wasn't suitable to work on large teams, and that's the direction they are moving in. As if it wasn't something that could be improved on 🤔
I'll be the first to admit I'm not the best communicator face-to-face, mainly due to my social anxiety but also because I have too many thoughts. It can be difficult to condense them down for other people in the heat of the moment. (I'm an INTP, if that helps you to understand what I mean.) However, I know I'm a pretty good communicator overall since I listen and pay special attention to phrasing and word choice. So most people I worked with there seemed quite satisfied with communication with me. There were only 2-3 out of more than 12 who I had any difficulty working with.
So why did I have trouble properly working with a couple people? I hesitate to say this but, like other jobs I've had, well... they didn't have either the experience or knowledge to understand me. Basically, they were stupid. I was pretty frustrated working with such inadequately prepared people on a complex project with ludicrously short deadlines, and had no desire to work overtime so I could educate or guide them.
To give perspective, one React developer didn't understand how object properties work with JavaScript. 🤦♀️ (They are references, by the way. And yes you can have an object reference inside another object!) Another React developer thought it was okay to have side effects during the render lifestyle because they didn't affect the component itself, even if it was a state change in a parent component. 🤦♀️🤦♀️
So what is the real reason I lost my job, if not performance? Could be I pissed off the stupid (and loud) ones which hurt my reputation. My main theory, however, is that I was raising the cost of the company's healthcare. I had a diseased organ so I did miss some work or worked from home more than I should have, and used my very good health insurance to the fullest extent I could. Of course, if they say that's the reason then they can get sued.
Huge bummer, whatever the case. I definitely learned some lessons from this situation that others in a similar position could find useful. I can write that up if anyone expresses interest.
Honestly though, this is a good thing in the end, because I was already planning to leave in a month or 2 once I found a better job. I was waiting for the right time for the project I was on and for my own financial stability. So I'm trying hard not to let this affect my self-esteem and think of it as an opportunity to get my dream job, which is working with a remote-first company that is focused on improving the human condition.
Being unemployed isn't ideal, but at least I didn't have to quit! And I get to have a bit of a vacation of a sort.7 -
i's reading about Munchausen syndrome.
( https://en.m.wikipedia.org/wiki/... )
So what if someone tries to feign Munchausen syndrome itself?6 -
How, how can I be sooooo bad sometimes.
I just discovered “Alias” feature of C#.
Let’s say you have 2 enums with the same name (Let’s say MyAwsomeEnum) in 2 different namespaces.
In this case I was always full qualifying the name.
I was today years old when I discovered “using MyAwsomeEnum = <Fully qualified name>” in the using section.
Edit : Even worse. It's like 3d example in official doc
https://docs.microsoft.com/en-us/...
/facepalm on my self6 -
Since regexes have been mentioned, I'll take this opportunity to make this one thing abundantly clear...
The chief weakness of C++ is not safety concerns but the ultradiarrheic verbosity proudly inherited by it's claimants and successors. See here, straight from reference pages, a basic example of substitution:
{
std::regex_replace(std::ostreambuf_iterator<char>(std::cout), text.begin(), text.end(), vowel_re, "*");
};
Not so bad, right? By which I mean, there's worse still. Now hold my sigils:
{
$text=~ s[$vowel_re][*]g;
say $text;
};
It may be true that people don't respect your intelligence, due in great part to the well-known argumentative proclivities typical of closeted visual basic enthusiasts that are deeply rooted within your innermost self, however no matter how oft-denigrated and disparaged for their shortcomings an individual is, they are still nonetheless physically capable of seeing that the line in question doesn't even exceed 32 characters. Else this wouldn't be a discussion of syntax, or semantics, but rather your ability to count, which would be a much more dire situation.
And now that I have degenerated any semblance of reason existing within this discussion in favor of shame and humiliation towards my enemies in a bid to assert dominance, I've honestly forgotten what my point even was, and no doubt, this will be used against me; truly, the most lethal of double-edged gambits.
In any case, may a razor-sharp serrated diamond obelisk violently penetrate your rear orifice with such excessive force and excruciating pain so as to render your nervous system henceforth inoperable from cheeks to the core, most cavernous depths of your asshole.
Forever yours,
I nevertheless like C++4 -
Would you like to share your story here about how has your life been as a self-taught full stack developer?
PS: You may answer it yourself or taking in reference of a friend. Doesn't matter.10 -
Last week I conducted a FE React-JS tech interview (high-level, no coding challenge) with a potential new hire. He knew his stuff in React 16.8+ but I was baffled npm install was the only npm command he could name, he'd never heard about semver, never used SASS, and didn't have any Nodejs exp. I asked him to name a tough situation he encountered and solved in React, and he said "too many re-renders, so we used useMemo and useCallback" but that's kind of basic and it was evident he didn't understand this meant passing props by reference under the hood. So I wrote a very mixed report, but this is only the 3rd interview conducted. Was I too harsh? To me this signaled a lack of curiosity (especially for a self-taught programmer which he was). My manager was kind of disappointed about the guy following my report.