If this is referring to codility, don't worry. Codility is extremely poor at writing its requirements for the problem it wants you to solve. They're extremely technical requirements, and there is no one to direct your questions to. I was interviewing for a company that did that and I thought the exact same thing.
I consistently received failing grades with little to no explanation, the tests weren't descriptive. I chalk it up to codility sucks. Don't get down on yourself. one of the problems, the ONLY solution is a bitwise XOR
for num in nums:
var a ^= num
kind of thing. That is the ONLY answer. But they don't clearly describe the optimization they're looking for in that problem either. In my opinion, the only way one could have known how to solve this is if they already knew about bitwise operands at a deep level. Which 99% of all code ever written will never use.
In other words, I don' think it's any kind of commentary on your skills, but rather poor questioning, and structure of codility, if we're talking about codility, which I think we are.
I also recently had a terrible codility test. I had stuff that would run partly on my machine but would throw other errors on their submission. And it was 4 data structure final exam type problems that were just mentally exhausting - I was interviewing for front-end!
3 years ago I participated in a software boot camp. As a satcom operator in the Army, I thought it was a natural prgoression. After the boot cam, I plopped myself in a chair at a start up and that "That's it. I've done it."
It wasn't long after that when I thought to myself, "That's it?" Work became boredom, a slog, fighting with IDE's, and IDE managed references, fighting with merge conflicts, 3-4 hour sprint planning, philosophical debates about paradigms and methodologies... corporate personality surveys?? Software developers were supposed to be people who learn and solve problems, and do both of those things as efficiently as possible... or so I thought?
Today, it's been 3 years since that feeling began to sink in. I'm now in my 5th contracted position, and having been on 7 or 8 different projects and 9 or 10 different teams, I am getting this sinking feeling that this is simply the nature of software development: Complexity for the sake of the ego of the architect, unintelligible code bases, inefficiency of process, inefficiencies of SOFTWARE process, horribly written code, business needs superseding the purview of a scrum team (without which, why even bother with scrum? Isn't the point to keep the business out of telling a software team to do its job?)
Luckily, while I was at the boot camp, I recalled my time in the military, communications systems, command line. All this time that I've been payed to sit in a chair, and not accomplish much else, I've been at home, delving into any and every subject I can possibly imagine. I've become a bit of a bash fanatic, I always have some form of linux on hand, whether one of my phones, my raspi, my personal laptop, or a vm on my work pc. I'm constantly building tools to automate stupid processes I'm required to do at work, and expanding my vimrc.
This last week, I started digging into assembly and optimization patterns in C, and I came accross an article, I'm sure many of you have read.
If not, I highly recommend it. It's an entertaining read.
This naturally took me to the home page of this particular site. Curious, I started clicking through page after page, and I began to identify with some of what this website was saying. I remember picking up a book at a store called Hacking: The Art of Exploitation (2nd edition) I remember it clearly with its yellow on black text, and its stark appearance. I remember it because the chapter headings were written with hexidecimal, which I thought was very hackerish of the author. And I read the preface where he asks you to combine 1,3,4, and 6 using only the basic mathematical operators to equal 24, and I pondered this question the entire trip home, which was a 2 hour drive from the city I was visiting. This website made me realize, maybe I'm a hacker... trying to be a corporate software developer.
Tl;dr. What do I do with this realization? I'm losing my sanity, and having aneurysms on a daily basis: over the overlording by management; over the smell of big client money controlling everyone's words and actions, instead of having the hard conversations of how to build something correctly... the first time; over the paradigm mongering; over the complexity and inefficiency from head to toe, from dev team, product lifecycle, or business...
Are there jobs that people with a hackers mentality are more well suited for? Is there some role or position I should be looking for? Or should I be looking for the right kind of company or team? Am I simply barking up the wrong industry? Where do I go, what do I do?
Help.
I consistently received failing grades with little to no explanation, the tests weren't descriptive. I chalk it up to codility sucks. Don't get down on yourself. one of the problems, the ONLY solution is a bitwise XOR
for num in nums: var a ^= num
kind of thing. That is the ONLY answer. But they don't clearly describe the optimization they're looking for in that problem either. In my opinion, the only way one could have known how to solve this is if they already knew about bitwise operands at a deep level. Which 99% of all code ever written will never use.
In other words, I don' think it's any kind of commentary on your skills, but rather poor questioning, and structure of codility, if we're talking about codility, which I think we are.