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 - "technical test"
-
A story about how a busy programmer became responsible for training interns.
So I was put in charge of a team of interns and had to teach them to work with Linux, coding (Bash, Python and JS) and networking overall.
None of the interns had any technical experience, skills, knowledge or talent.
Furthermore the task came to me as a surprise and I didn't have any training plan nor the time.
Case 0:
Intern is asked to connect to a VM, see which interfaces there are and bring up the one that's down (eth1). He shuts eth0 down and is immediately disconnected from the machine, being unable to connect remotely.
Case 1:
Intern researches Bash scripting via a weird android app and after a hour or so creates and runs this function: test(){test|test&}
He fork-bombed the VM all other interns used.
Case 2:
All interns used the same VM despite the fact that I created one for each.
They saved the same ssh address in Putty while giving it different names.
Case 3:
After explicitly explaining and demonstrating to the interns how to connect to their own VMs they all connect to the same machine and attempt to create file systems, map them and etc. One intern keeps running "shutdown -r" in order to test the delay flag, which he never even included.
Case 4:
All of the interns still somehow connect to the same VM despite me manually configuring their Putty "favorites". Apparently they copy-paste a dns that one of them sent to the entire team via mail. He also learned about the wall command and keeps scaring his team members with fake warnings. A female intern actually asked me "how does the screen knows what I look like?!". This after she got a wall message telling her to eat less because she gained weight.
Case 5:
The most motivated intern ran "rm -rf" from his /etc directory.
P.S. All other interns got disconnected because they still keep using his VM.
Case 6:
While giving them a presentation about cryptography and explaining how SSH (that they've been using for the past two weeks) works an intern asked "So is this like Gmail?".
I gave him the benefit of the doubt and asked if he meant the authorization process. He replied with a stupid smile "No! I mean that it can send things!".
FML. I have a huge project to finish and have to babysit these art majors who decided to earn "ezy cash many" in hightech.
Adventures will be continued.26 -
So, since I hear from a lot of people (on here and irl) that Linux has a 'very high learning curve', let me share my experiences with the first time my dad touched Linux (Elementary OS) without me interfering at all! (keep in mind that he is very a-technical)
*le me boots the system* (I already did setup a user account for him and gave him the password).
Dad: *enters password and presses enter*
Me: "Hmm that went faster than expected."
Dad: "Uhm I know how to login son, it's not that hard and pretty obvious".
Me: "Alright, why don't you try to open up the default word documents editor on here! I'll be right back!"
Me: *Goes away and returns after a minute*.
Dad: *already a few test sentences typed in LibreOffice writer* it's going pretty well :)!
Me: "Oo how did you find that?!"
Dad: "Well, there's a thingy that says 'applications' so I clicked in and found it in the "Office" section, do you think I am blind or something?!"
Me: 😐. uhm no but I just didn't think you'd find it that quickly. Now try to install Chromium browser! *thinking: he'll fail this one for sure* I'll be right back :).
Me: *returns again after a minute or so*
Dad: *already searching for stuff through Chromium*
Me: "wait, how the hell did you do that so quickly, it's not the easiest thingy for most people".
Dad: "Jesus, it's not that hard! I went to the application browsing thingy, typed 'software' and then a sorta software store icon showed up so I clicked it and it opened a windows with a search bar saying something like 'search for applications/software'. clicked in it, typed 'chromium', saw it coming up, there was a very clear 'install' button, it asked for my password, I put it in and after a little it gave a notification that it was installed. Then I went to that application browsing thingy again and typed Chromium. Then I hit enter because it selected an icon called chromium...."
Me: O.o. Okay this is going very good, now open an email client and login to your email address!
Dad: *goes to application browsing thingy, types 'email', evolution icon shows up, dad clicks it, email address setup steps show up and dad follows them quickly. After about a minute, everything is setup.
I expected this to be a hard process for someone who dealt with Windows his entire life but damn, I underestimated it.
Asked him if he found it easy/what he liked about it:
"Well, it's very clear where I can find everything, default browser/email/word document editor programs are easy to find and that's about all I need so yeah, great system!"
I am proud of you, dad!77 -
Was lead developer at a small startup, I was hiring and had a budget to add 3 new people to my team to develop a new product for the company.
Some context first and then the rant!
Candidate 1 - Amazing, a dev I worked with before who was under utilized at the previous company. Still a junior, but, she was a quick learner and eager to expand her knowledge, never an issue.
Candidate 2 - Kickass dev with back end skills and extras, he was always eager to work a bit more than what was expected. I use to send him home early to annoy him. haha!
Candidate 3 - Lets call him P.
In the interview he answers every question perfectly, he asks all the right questions and suggests some things I havent even thought of. CTO goes ahead and says we should skip the technical test and just hire the guy, his smart and knows what his talking about, I agree and we hire him. (We where a bit desperate at this stage as well.)
He comes in a week early to pick up his work laptop to get setup before he starts the next week, awesome! This guy is going to be an asset to the company, cant wait to have him join the team - The CTO at this stage is getting ready to leave the company and I will be taking over the division and need someone to take over lead position, he seems like the guys to do it.
The guys starts the next week, he comes in and the laptop we gave him is now a local server for testing and he will be working off his own laptop, no issue, we are small so needed a testing stack, but wasnt really needed since we had procedures in place for this already.
Here is where everything goes wrong!!! First day goes great... Next day he gets in early 6:30am (Nice! NO!), he absolutely smells, no stinks, of weed, not a light smell, the entire fucking office smells of weed! (I have no problem with weed, just dont make it my problem to deal with). I get called by boss and told to sort this out people are complaining! I drive to office and have a meeting with him, he says its all good he understands. (This was Friday).
Monday comes around - Get a call from Boss at 7:30am. Whole office smells like weed, please talk to P again, this cannot happen again. I drive to office again, and he again says it wont happen again, he has some issues with back pain and the weed helps.
Tuesday - Same fucking thing! And now he doesnt want to sign for the laptop("server") that was given to him, and has moved to code in the boardroom, WHERE OUR FUCKING CLIENTS WILL BE VIEWING A DEMO THAT DAY OF THE PRODUCT!! Now that whole room smells like weed, FML!
Wednesday - We send P a formal letter that he is under probation, P calls me to have a meeting. In the meeting he blames me for not understanding "new age" medicine, I ask for his doctors prescription and ask why he didnt tell me this in the interview so I could make arrangements, we dont care if you are stoned, just do good work and be considerate to your co-workers. P cant provide these and keeps ranting, I suggest he takes pain killers, he has none of it only "new age" medicine for him.
Thursday - I ask him to rather "work" from home till we can get this sorted, he comes in for code reviews for 2 weeks. I can clearly see he has no idea how the system works but is trying, I thought I will dive deeper and look at all of his code. Its a mess, nothing makes sense and 50% of it is hard coded (We are building a decentralized API for huge data sets so this makes no sense).
Friday - In code review I confront him about this, he has excuses for everything, I start asking him harder questions about the project and to explain what we are building - he goes quiet and quits on the spot with a shitty apology.
From what I could make out he was really smart when it came to theory but interpreting the theory to actual practice wasnt possible for him, probably would have been easier if he wasnt high all the time.
I hate interview code tests, but learned a valuable lesson that day! Always test for some code knowledge as well even if you hate doing it, ask the right questions and be careful who you hire! You can only bullshit for so long in coding before someone figures out that you are a fraud.16 -
The last two frontend devs I interviewed.
First:
He had 15 some years of experience, but couldn't answer our most basic of technical questions, we stopped asking after the first couple.
Based on a technical test I got the impression that he couldn't distinguish between backend and frontend.
So, I posed a simple question "Have you interfaced with REST API'S using Javascript before?"
Which lead him to talk about arrays. I shit you not he droned on about arrays for five minutes.
"I have experience using big array, small arrays, breaking big arrays into littler arrays and putting arrays inside other arrays."
Never been in an interview situation where I've had to hold back laughter before. We refer to him as the array expert.
His technical knowledge was lacking, and he was nervous, so he just waffled. I managed to ease his nerves and the interview wasn't terrible after that, but he wasn't what we were looking for.
Second:
This was a phone interview.
It started off OK he was clearly walking somewhere and was half preoccupied. Turns out he was on his way back from the shop after buying rolling papers (we'd heard him in the shop asking for Rizla), and he was preoccupied with rolling a joint.
We started asking some basic technical questions at which point he faked that he'd seen a fight in the street.
We then called him back five minutes later you could hear him smoking "ah, that's better". After that the interview was OK, not what we were looking for, but not bad.
Top tip: If you require a joint to get through a phone interview, roll and smoke it before hand.17 -
To be a good developer, you must thrive in chaos, and have an insatiable desire to turn it into order.
All user input, both work tasks and actual application input, is pure fucking chaos.
The only way to turn that input into anything usable, is to interpret, structure and categorize it, to describe the rules for transformation as adequately as you can.
Sometimes companies create semi-helpful roles to assist you with this process. Often, these people are so unaware of the delicacy of the existing chaos, that any decision they make just ripples out in waves leaving nearly irreparable confusion and destruction in its path.
So applications themselves also slowly wear down into chaos under pressure of chaotic steak-holders which never seem to be able to choose between peppercorn or bernaise sauce for their steaks.
Features are added, data is migrated between formats, rules become unclear. Is ketchup even fucking valid, as a steak sauce?
The only way to preserve an application long term, is refactoring chaos into order.
But... the ocean of chaos will never end.
You must learn to swim in it.
All you can hope to do is create little pools of clarity where new creative ideas can freely spawn.
Ideas which will no doubt end up polluting their own environment, but that's a problem for tomorrow.
So you must learn to deal with the infinite stream of perplexed reactions from those who can't attach screenshots to issue reports.
You must deflect dragging conversations from those who never quite manage to translate gut feeling into rational sentences.
You must learn to deal with the fact that in reality there are no true microservice backends. There are no clean React frontends. There are no normalized databases. Full test coverage, well-executed retrospectives, finished sprints -- they are all as real as spherical cows in a vacuum.
There is no such thing as clean code.
There is only "relatively cleaner code", and even then there are arguments as to why it would be "subjectively relatively cleaner code".
Every repository, every product, every team and every company is an amalgamation of half-implemented ideals, well-intended tug of war games, and brilliantly shattered dreams.
You will encounter fragmented shards of perfect APIs, miles of tangled barbed documentation, beheaded validator classes, bloody mangled corpses of analytical dashboards, crumbled concrete databases.
You must be able to breathe in those thick toxic clouds of rotting technical and procedural debt, look at your reflection in the locker room mirror while you struggle yourself into a hazmat suit, and think:
"Fuck yes, I was born for this job".24 -
!rant
I have been teaching my fiance PHP over the last year, and she has been sent her first technical test for a Junior Developer role. She is flying through it, seeing people enjoy coding is a great experience!5 -
Rashly say to a web developer colleague that you'd quite like to learn to code. Feel too awkward to decline the subsequent invitation. Meet for coffee, discuss basics. Understand nothing. Go home and Google extensively. Start trying code out at home. Cry. Swear. Make a thing that does a thing. Try to make another thing. Fail. Give up. Try again. Start an online tutorial. Work through said online tutorial. Start contributing on Github. Discuss Laravel. Play with Laravel. Set out your own Laravel project. Get engaged to the colleague who said they'd teach you. Get sent a technical test. Stare at the test blankly for days on end. Have an idea. Try to implement the idea. Cry some more, swear some more. Enjoy it. Get hooked. Hate it. Enjoy it. Finish it. Stare at the screen in amazement and wonder what has gone wrong because you are getting the result you were expecting. Rinse, repeat.5
-
Fuck the memes.
Fuck the framework battles.
Fuck the language battles.
Fuck the titles.
Anybody who has been in this field long enough knows that it doesn't matter if your linus fucking torvalds, there is no human who has lived or ever will live that simultaneously understands, knows, and remembers how to implement, in multiple languages, the following:
- jest mocks for complex React components (partial mocks, full mocks, no mocks at all!)
- token cancellation for asynchronous Tasks in C#
- fullstack CRUD, REST, and websocket communication (throw in gRPC for bonus points)
- database query optimization, seeding, and design
- nginx routing, https redirection
- build automation with full test coverage and environment consideration
- docker container versioning, restoration, and cleanup
- internationalization on both the front AND backends
- secret storage, security audits
- package management, maintenence, and deprecation reviews
- integrating with dozens of APIs
- fucking how to center a div
and that's a _comically_ incomplete list; barely scratches the surface of the full range of what a dev can encounter in a given day of writing software
have many of us probably done one or even all of these at different times? surely.
but does that mean we are supposed to draw that up at a moment's notice some cookie-cutter solution like a fucking robot and spit out an answer on a fax sheet?
recruiters, if you read this site (perhaps only the good ones do anyway so its wasted oxygen), just know that whoever you hire its literally the luck of the draw of how well they perform during the interview. sure, perhaps some perform better, but you can never know how good someone is until they literally start working at your org, so... have fun with that.
Oh and I almost forgot, again for you recruiters, on top of that list which you probably won't ever understand for the entirety of your lives, you can also add writing documentation, backup scripts, and orchestrating / administrating fucking JIRA or actually any somewhat technical dashboard like a CMS or website, because once again, the devs are the only truly competent ones - and i don't even mean in a technical sense, i mean in a HUMAN sense of GETTING SHIT DONE IN GENERAL.
There's literally 2 types of people in the world: those who sit around drawing flow charts and talking on the phone all day, and those WHO LITERALLY FUCKING BUILD THE WORLD
why don't i just run the whole fucking company at this point? you guys are "celebrating" that you made literally $5 dollars from a single customer and i'm just sitting here coding 12 hours a day like all is fine and well
i'm so ANGRY its always the same no matter where i go, non-technical people have just no clue, even when you implore them how long things take, they just nod and smile and say "we'll do it the MVP way". sure, fine, you can do that like 2 or 3 times, but not for 6 fucking months until you have a stack of "MVPs" that come toppling down like the garbage they are.
How do expect to keep the "momentum" of your customers and sales (I hope you can hear the hatred of each of these market words as I type them) if the entire system is glued together with ducktape because YOU wanted to expedite the feature by doing it the EASY way instead of the RIGHT way. god, just forget it, nobody is going to listen anyway, its like the 5th time a row in my life
we NEED tests!
we NEED to know our code coverage!
we NEED to design our system to handle large amounts of traffic!
we NEED detailed logging!
we NEED to start building an exception database!
BILBO BAGGINS! I'm not trying to hurt you! I'm trying to help you!
Don't really know what this rant was, I'm just raging and all over the place at the universe. I'm going to bed.20 -
Me: Boss, your new project is ready, we've tested the technical aspect but we're waiting on your approval before deploying, will you test it?
Boss: yeah sure, I'll test it in 5
*2 weeks later*
Boss: why isn't that project deployed yet?
Me: you haven't tested it, and we haven't gotten approval
Boss: oh right, I'll go test it right now!
*2 weeks later*
Boss: I NEED that project to go live RIGHT THIS MOMENT!!!
Me: sure, have you tested it yet?
Boss: nope, but I need it
Me: well, I'll put it live, but me and my colleagues are shifting responsibility to you, since you haven't tested it. Are you sure?
Boss: yeah, yeah whatever...
*put product online*
*2 days later*
Angry call from boss, bugs have been found, tell him that he approved the state of the product and that the bugs will go on the to-do list...
Boss is extremely pissed, but recognized his mistake...
Now, the boss actually tests everything thoroughly at the moment we tell him to! No more bugs, complaints, and I got a raise!5 -
I've had my share of incompetent coworkers. In order of appearance:
1. A full stack dev. This one guy never, and I mean NEVER uses relationships in their tables. No indexing, no keys, nada. Couple of months later he was baffled why his page took ten seconds to load.
2. The same dev as (1). Requirement was to create some sort of "theme" feature for a web app. Hacked it by putting !important all over the place.
3. The same dev again. He creates several functions that if the data exists returns a view, and if it doesn't, "echo '0'". No, not return 0 or return false or anything, but fucking echo. This was PHP. If posted a rant about this a few months ago.
4. Same dev, has no idea what clean code is. No, not just reusable functions, he doesn't even get indenting right. Some functions have 4 spaces, some 2 tabs, some 6 tabs! And this is inside the same function. God wait until he tries Python...
5. Same dev now suggests that he become the PM. GM approves (very small company). Assigns me to travel to a client since they needed "technical assistance about the API". Was actually there to lead a UAT session.
Intermezzo, that guy went from fullstack dev to PM to sales (yes, one who calls clients to offer products) to business development, to product analyst in the span of two years.
After a year and a half there, I quit.
6. New company, a "QA engineer" who also assumes the role as the product owner. Does absolutely no tests other than "functional tests" in which he NEVER produces any form of documentation. Not even a set of test cases. He goes by "intuition".
7. Same guy as (6), hands me requirements for a feature. By "hands me" I mean he did that verbally. No spec documents, no slack chat, no Trello card. I ended up writing it as a card in Trello. Fast forward to the due date, he flips out because that wasn't what he wanted. Showed him the card. He walked away, without thinking of a solution how this mess should be handled.
Despite all this, I really don't want him (6&7) to leave the company. The devs get really stressed out at this job and he does make a really good person to laugh with/at. -
On being a woman in tech...
You lads probably have (and my fellow ladies certainly have) heard of "impostor syndrome" and, if you don't experience it, you possibly wonder what living with it is like.
Here's an example from this weekend.
Be me, about 5 years into my career, graduated from a top college, feeling decent but still unsure of skill.
Company gets a 4 week trial of an online learning website. It includes optional assessments, so that you know where in the video lessons to start. Rankings are novice, proficient, expert.
Hear from our QA that he got ranked "proficient." Which is a pretty broad category, but I become super afraid that I'll also be assessed as "proficient" and it will look like I have the same dev skills as a fucking QA (our management overlords can see our scores).
Boyfriend has me do some deep breathing before starting the test, because it's obvious how stressed I am.
Finally take it and get ranked "expert", in the 97th percentile, even though some technical difficulties made me miss four questions in a row. I decide to use my do over, and get ranked "expert" again, this time in the 99th percentile.
You'd think I'd be like, "Lawl, I can't believe I'd get the same score as our QA!" And there is some of that. But there's also the thoughts of, "that test could have been more thorough," "that score wasn't real because I resaw a question and got the right answer the second time," and "99th percentile isn't that great on a platform where new developers are over represented."
And this is all despite the fact that, if you were to ask someone how confident I am, the answer would probably "confident as hell."
Not saying this to start any fights. Figured it could be some interesting insight into a world that some people don't experience! (not that males aren't allowed to have impostor syndrome!)16 -
Passed the online test.
Passed the technical interview.
Need to pass the final interview.
I'm applying to this company as a JS developer (backend). Their engineers are amazing and the fucking have 99.94% coverage on their test suiteeee; that gave me a code-boner.
If I get this job I'll finally say good bye to fucking PHPShit and Zend Framefuck and all this hacked bootstrap and 15k LoC "core.css/js"
I CAN DO IT10 -
Worst legacy experience...
Called in by a client who had had a pen test on their website and it showed up many, many security holes. I was tasked with coming in and implementing the required fixes.
Site turned out to be Classic ASP built on an MS Access database. Due to the nature of the client, everything had to be done on their premises (kind of ironic but there you go). So I'm on-site trying to get access to code and server. My contact was *never* at her desk to approve anything. IT staff "worked" 11am to 3pm on a long day. The code itself was shite beyond belief.
The site was full of forms with no input validation, origin validation and no SQL injection checks. Sensitive data stored in plain text in cookies. Technical errors displayed on certain pages revealing site structure and even DB table names. Server configured to allow directory listing in file stores so that the public could see/access whatever they liked without any permission or authentication checks. I swear this was written by the child of some staff member. No company would have had the balls to charge for this.
Took me about 8 weeks to make and deploy the changes to client's satisfaction. Could have done it in 2 with some support from the actual people I was suppose to be helping!! But it was their money (well, my money as they were government funded!).1 -
I was expecting a 4th interview this afternoon for a position as a fullstack elixir developer.
Got a response from the CTO.
'Even if you pass all the tests with success, we could not go further because you're a junior and we're looking for a senior'
Well, dude, you've seen me 3 times and didn't understand that I was a junior ? My CV is not enough explicit ? It's written at the top of it...
So after a motivation interview, technical test, technical interview and Phoenix framework interview, they only realized yet the plot.
Good luck for your seniors to pass their knowledge to other seniors.17 -
it's funny, how doing something for ages but technically kinda the wrong way, makes you hate that thing with a fucking passion.
In my case I am talking about documentation.
At my study, it was required to write documentation for every project, which is actually quite logical. But, although I am find with some documentation/project and architecture design, they went to the fucking limit with this shit.
Just an example of what we had to write every time again (YES FOR EVERY MOTHERFUCKING PROJECT) and how many pages it would approximately cost (of custom content, yes we all had templates):
Phase 1 - Application design (before doing any programming at all):
- PvA (general plan for how to do the project, from who was participating to the way of reporting to your clients and so on - pages: 7-10.
- Functional design, well, the application design in an understandeable way. We were also required to design interfaces. (Yes, I am a backender, can only grasp the basics of GIMP and don't care about doing frontend) - pages: 20-30.
- Technical design (including DB scheme, class diagrams and so fucking on), it explains it mostly I think so - pages: 20-40.
Phase 2 - 'Writing' the application
- Well, writing the application of course.
- Test Plan (so yeah no actual fucking cases yet, just how you fucking plan to test it, what tools you need and so on. Needed? Yes. but not as redicilous as this) - pages: 7-10.
- Test cases: as many functions (read, every button click etc is a 'function') as you have - pages: one excel sheet, usually at least about 20 test cases.
Phase 3 - Application Implementation
- Implementation plan, describes what resources will be needed and so on (yes, I actually had to write down 'keyboard' a few times, like what the actual motherfucking fuck) - pages: 7-10.
- Acceptation test plan, (the plan and the actual tests so two files of which one is an excel/libreoffice calc file) - pages: 7-10.
- Implementation evalutation, well, an evaluation. Usually about 7-10 FUCKING pages long as well (!?!?!?!)
Phase 4 - Maintaining/managing of the application
- Management/maintainence document - well, every FUCKING rule. Usually 10-20 pages.
- SLA (Service Level Agreement) - 20-30 pages.
- Content Management Plan - explains itself, same as above so 20-30 pages (yes, what the fuck).
- Archiving Document, aka, how are you going to archive shit. - pages: 10-15.
I am still can't grasp why they were surprised that students lost all motivation after realizing they'd have to spend about 1-2 weeks BEFORE being allowed to write a single line of code!
Calculation (which takes the worst case scenario aka the most pages possible mostly) comes to about 230 pages. Keep in mind that some pages will be screenshots etc as well but a lot are full-text.
Yes, I understand that documentation is needed but in the way we had to do it, sorry but that's just not how you motivate students to work for their study!
Hell, students who wrote the entire project in one night which worked perfectly with even easter eggs and so on sometimes even got bad grades BECAUSE THEIR DOCUMENTATION WASN'T GOOD ENOUGH.
For comparison, at my last internship I had to write documentation for the REST API I was writing. Three pages, providing enough for the person who had to, to work with it! YES THREE PAGES FOR THE WHOLE MOTHERFUCKING PROJECT.
This is why I FUCKING HATE the word 'documentation'.36 -
I applied to a backend position that requested one of the following technologies: PHP, Java or .NET ( I work on .net btw)
So far so good, the hr recruiter schedules a talk and ask a lot of standard questions like what is your greatest accomplishment, what is good code and so on.
After what seemed to be about an hour of questioning she then tells me that I am to take a technical test from backend javascript. I pause for a second and I specifically tell her, lady, the ad said .NET, Java or PHP, wtf? And she tells me, no worries, we will train you. You can imagine that I completely blew the technical interview to later get an email that my knowledge (in javascript) is not sufficient for the position. Gg guys, good company values :))1 -
I don't want to write clean code anymore :(
I read Clean Code, Clean Coder, and watched many uncle bob's videos, and I was able to apply best practices and design patterns
I created many systems that really stood the test of time...
Management was kind enough to introduce me to uncle bob clean code in the first place, letting us watch it during work hours. after like one year, my code improved 400% minimum because I am new and I needed guidance from veterans...
That said, to management I am very slow, compared to this other guy, they ask me for a feature and my answer would be like "sure, we need to update the system because it just doesn't support that right now, it is easy though it would take 2 days tops"
they ask the same thing for the other guy : "ok let me see what I can do", 1 hour later, on slack, he writes : done. he slaps bunch of if-statement and make special case that will serve the thing they asked for.
oh 'cool' they say -> but it doesn't do this -> it needs to do that -> ok there is a new bug,-> it doesn't work in build mode-> it doesn't work if you are logged in as a guest, now its perfect ! -> it doesn't work on Android -> ok it works on android but now its not perfect anymore.
and they feel like he is fast (and to be fair he is), this feature? done. ok new bugs? solved. Android compatibility ? just one day ... it looks like he is doing doing doing.
it ends up taking double the time I asked for, and that is not to mention the other system affected during this entire process, extra clean up that I have to do, even my systems that stood the test of time are now ruined and cannot be extracted to other projects. because he just slaps whatever bools and if statements he needs inside any system, uses nothing but Singleton pattern on everything. our app will never be ready-for-business, this I can swear. its very buggy. and to fix it, it needs a change in mentality, not in code.
---------------
uncle bob said : write your code the right way, and the management will see that your code generates less errors, with time, you will earn respect even though they will feel you are slow at first.
well sorry uncle, I've been doing it for a year, my image got bad, you are absolutely right, only when there is no one else allowed to drop a giant shit inside your clean code.
note: we don't really have a technical lead.
-------------------
its been only two days since my new "hack n' slash" meta, the management is already kind of "impressed" ... so I'll keep hacking and slashing until I find a better job.9 -
Nothing technical
Just wanna share with my devrant family.
Now I have own restaurant.
Ya ya I know it's nothing techie but I m happy that I own some business and I will test my entrepreneur skills here.
Fucking happy.23 -
Forgive me father, for I have sinned. Alot actually, but I'm here for technical sins. Okay, a particular series of technical sins. Sit your ass back down padre, you signed up for this shit. Where was I? Right, it has been 11429 days since my last confession. May this serve as equal parts rant, confession, and record for the poor SOB who comes after me.
Ended up in a job where everything was done manually or controlled by rickety Access "apps". Many manhours were wasted on sitting and waiting for the main system to spit out a query download so it could be parsed by hand or loaded into one of the aforementioned apps that had a nasty habit of locking up the aged hardware that we were allowed. Updates to the system were done through and awful utility that tended to cut out silently, fail loudly and randomly, or post data horrifically wrong.
Fuck that noise. Floated the idea of automating downloads and uploads to bossman. This is where I learned that the main system had no SQL socket by default, but the vendor managing the system could provide one for an obscene amount of money. There was no buy in from above, not worth the price.
Automated it anyway. Main system had a free form entry field, ostensibly for handwriting SELECT queries. Using Python, AutoHotkey, and glorified copy-pasting, it worked after a fashion. Showed the time saved by not having to do downloads manually. Got us the buy in we needed, bigwigs get negotiating with the vendor, told to start developing something based on some docs from the vendor. Keep the hacky solution running as team loves not having to waste time on downloads.
Found SQLi vulnerability in the above free form query system, brought it up to bossman to bring up the chain. Vulnerability still there months later. Test using it for automated updates. Works and is magnitudes more stable than update utility. Bring it up again and show the time we can save exploiting it. Decision made to use it while it exists, saves more time. Team happier, able to actual develop solutions uninterrupted now. Using Python, AutoHotkey, glorified copy-pasting, and SQLi in the course of day to day business critical work. Ugliest hacky thing I've ever caused to exist.
Flash forward 6 years. Automation system now in heavy use acrossed two companies. Handles all automatic downloads for several departments, 1 million+ discrete updates daily with alot of room for expansion, stuff runs 24/7 on schedule, most former Access apps now gone and written sanely and managed by the automation system. Its on real hardware with real databases and security behind it.
It is still using AutoHotkey, copy-paste, and SQLi to interface with the main system. There never was and never will be a SQL socket. Keep this hellbeast I've spawned chugging along.
I've pointed out how many ways this can all go pearshaped. I've pointed out that one day the vendor will get their shit together they'll come in post system update and nothing will work anymore. I've pointed out the danger in continuing to use the system with such a glaring SQLi vulnerability.
Noone cares. Won't be my problem soon enough.
In no particular order:
Fuck management for not fighting for a good system interface
Fuck the vendor for A) not having a SQL socket and B) leaving the SQLi vulnerability there this long
Fuck me for bringing this thing into existence5 -
Story time:
At a precious employer.
Hire shit-hot contractor.
No technical test at interview stage because he’s so shit-hot.
Is a uni lecturer.
PhD in mathematics.
Me: Shit, this guy must be good!
6 months later and a tragedy of errors and clearly misspent company funds later:
Manager: can you look at what x did and merge it into the product?
Me: Sure. *looks* *yells fuck very loudly*
*walks over to manager*
“Soooo... you know those 6 months and thousands and thousands you spent? It’s all for nought. There’s barely anything there, and none of it works.”
Manager: “Shit. What are we going to do? Can you fix it?”
Me: “To be honest, it would be quicker to just do it from scratch than try to work out what he’s done and failed to do.”
Manager: “Fuck. Ok. Go for it.”
I then had to build this entire new lot of systems, a workflow system, a user management and permissions system.
I got it done inside a month or so.
For context, we (the devs) knew something was afoot when the contractor couldn’t work out why his keyboard wasn’t working (it wasn’t plugged in), and he also *really* struggled to find his way around visual studio and git.
The moral of this tale? *always always* screen your candidates. Even if they seem amazing on paper.15 -
#LongRant
I AM SO FUCKING PISSED RIGHT NOW OF ALL YOU DICKHEADS WHO DON'T KNOW SHIT 'BOUT PROGRAMING AND STILL QUALIFY FOR THE NEXT ROUND!
Background: I am a final year student of Computer Science. This time of the year, companies come to the campus to recruit potential employees for their vacant positions. But during the COVID-19 times, the number of such companies and jobs have gone a little down. Two companies came to our university for recruitment — DXC Technology and Hanu Software. I cleared the aptitude/code test for DXC and appeared for the interview, which went fairly well. Waiting on the results. The rant is about the other company.
The Story: I am learning and working on Cloud (AWS specifically) for the past 1 year. I have a cloud Certification in Oracle and working my way to get Azure Certified. Hanu Software, which is a core cloud company (works on Azure) came to our campus for the recruitment (Cloud Engineer). Their test had these sections —
1. Personality (54 Questions; 15 minutes)
2. Verbal (20 Questions; 20 minutes)
3. Reasoning (15 Questions; 15 minutes)
4. Technical (25 Questions; 25 minutes)
5. Quantitative (15 Questions; 15 minutes)
As soon as I finished my Interview with DXC, I had my Hanu test within 30 minutes. I have a Mac so the test by default started on Safari. After completing 4 sections, I receive a mail in Junk from Hanu which stated that only Chrome or Firefox can be used to give the test. AHH! And on Safari.. the platform on which the test was being conducted didn't ask me for any camera permission (the test is monitored, can't even change windows/switch tabs). I then changed the browser to Mozilla Firefox and somehow finish the test. After finishing, I call up my classmates to find out how their test go. Know what? FUCKING TWATS USED GOOGLE LENS TO FIND OUT THE ANSWERS!
Last night, the list of qualifying students arrived and obviously I didn't make it to the list, but those dumbfucks did who don't even know what Cloud technology is or how it works. Neither they could do any average level program, nor have the communication skills. HOW?! HOW THEM AND NOT ME? Life is very unfair sometimes. I couldn't sleep at night.
PS: If you made this far, thank you for reading this rant (and sorry for it being so long). Makes it better to be able to share with someone. If you could, then please guide me (online resources/recommendations) to be better at competitive programming, or help me enhance my resume/linkedin or if you could refer me for an entry level position at your organisation, I would eternally be grateful. Thank you once again. And sorry for the long rant.17 -
When interviewing for a .NET position, ask which language they work in! Don't assume it to be C#. Even when you do and pass your technical test in C#. This is how I found out a few days into my current job I'd now be working in Visual Basic. Part of me thinks they hid the truth on purpose :(9
-
I got through the first stage for a summer internship at Amazon. They send me a link to a technical test with a 7 day deadline to complete.
The link brings me to a 404 page. Fuck.
I contact customer support, reach out to Amazon directly, don't get any response whatsoever. The week has passed and the link is still dead and I s received no word from them.
FML. And fuck Amazon for teasing me like this and for having such shitty technical support.9 -
Guy: - Why the hell do you keep adding new tests with "TDD" in the commit log? Is this because you're wearing this stupid TDD t-shirt!? You're only supposed to maintain this! There's nothing to develop! Nothing here will ever be test-driven!
Cprn: (turns around)
T-shirt: *Technical Debt Development*6 -
I'm so close to giving up. Yesterday, I travelled 4 hours in one direction for a job interview for a graduate position as a web developer. As I arrived at the interview, I was welcomed by a senior dev and one of the HR people.
I sit down and they start explaining how everything will commence(standard procedure stuff) and afterwards hand me the technical test. At this time I am super calm cause I did my homework, checked out their products, their websites and knew right away what I was going to work on. As I turn the page, I see at the top with huge fucking capital letters "JAVA OOP test".
I take a minute and look back at them, like wtf is happening. Turns out that they are looking for a java dev. They picked me for the role because I had literally 1 fucking sentence in my CV and where I have said that I studied java in one semester of uni. FYI my entire portfolio, cv and cover letter are focused on JS, html, css both for client and server side.
As the fucking HR guy stood there and asked me "is there something wrong", I felt broken inside. For the first time in my fucking life I felt like I was done and couldn't continue anymore. I felt like this is some bitch-slap from karma about something but I still can't figure out what. I just walked out of there being unable to realize what happened.
I just feel like I should end my developer career before it has even started, just go do business analysis or something. Why the fuck would someone put a job description entirely talking about Angular, Less/SASS, bootstrap and jQuery and then say that is a Java dev OOP role. Who the fuck allows those people to take good salaries yet still deliver the up most shittiest quality service.
Before the interview, I checked out their websites which are simply horrendous with the comparability of a fucking baked potato. Idk really what to do, I don't mean to sound as a whiny little b.... but as I walked out of their office, I felt broken inside. Sorry for the long rant.8 -
Took the Amazon online test today. Aced technical and coding questions. But screwed up with aptitude questions. Fingers crossed. Wish me good luck.5
-
- Get invited to apply to job
- Technical interview, guy shows up late starts small talk wasting time and gives me the exercise
- Start implementing the first algorithm, finish it passing min test cases then realize there's a solution that would make both algorithms a breeze
- I pitch my solution realizing there's no much time left, cuz we lost almost 20 min of my test hour talking about BS plus the almost 10 min he arrived late, and reassure the interviewer it can be developed faster
- Interviewer says it doesn't matter, we should finish edge cases
- Kay no problem, finish the first algorithm successfully and explain pitfalls on the second part with the current implementation
- I tell him there's a better solution but he doesn't seem to care, he says time's up
Now here's the funny part.
I get called by the recruiter today (2 weeks later) and she says "They are happy with your soft skills but feel there are some gaps with your coding, they would like to repeat the technical interview because they didn't feel there was much time to assess the 'gaps' ".
Interviewers, either I'm competent enough to work for you or not, your tests must be designed to assess that, if you see you can't fit the problem you want in the time you have left change the problem, reschedule or here's an idea...LEAVE THE BS CHITCHAT TILL THE END AND START THE INTERVIEW ON TIME. When I do interviews I always try to have one complete free hour and a one algorithm exercise because I expect the candidate to solve it, analyze it and offer alternatives or explain it, I've never had someone finishing more than 2 an hour.
You can keep your job I'll keep my time. I'll write a similar problem on the comments to pass on the knowledge for people who enjoy solving these kinds of problems, can't give you the exact same thing, also tip guys don't do NDA's for interviewing it makes no fucking sense trust me no one cares about your fizz buzz intellectual property.13 -
Awkward recruiting process? Sit the fuck back!
So about a year ago I got laid off. I got some help setting up LinkedIn and realising I'm not trash and offers to talk started flowing in.
So this consultancy firm asks me to come in for a talk and having nothing better to do I oblige - they're working on big, exciting Greenfield stuff and I'm amazed they want me.
Fast forward the most nervous week in my life and the HR assistant brings me into the meeting room, I get some water and a nice first impression - also my last. I wait in the room for five minutes.
In walks madam HR, madam Team lead and miss assistant from before, all carrying big ass laptops. We shake hands and they sit down and all open up their laptops between me and them - I just sit there feeling naked with my block of paper and pencil I brought.
So we wait for their machines to start up and madam HR just starts throwing questions at me and seemingly noting my answers into a sheet. Meanwhile madam Teamlead is busy on her phone most of the time and my most human interaction remains smalltalk and questions between me and miss assistant.
I did manage to get madam Teamlead to look up from her phone when I asked how they felt about the fact that I have no formal training and would need to pick up a lot of skills as we go, to which she said something along 'well this ain't a candy shop, we expect you to work' and looked back down at her phone.
A bit shaken, I agreed to stay for the technical test (apparently I passed the interview...)
Now this test was designed by their CTO since he didn't feel like any of the available tests on the market could properly judge applicants' skilllevels. Yes, alarms went off already at that point.
What I'm presented with is a word document with questions, and another for answers and... It's just string gymnastics and reference/value difference knowledge - shit it takes you a split second to look up or test if you ever get into these insane cases where you need to know. And then there was a likewise one with sql statements that was also just convoluted query gymnastics and trying to hide changes in the seemingly same statement through various questions. No questions on design, no problem solving, just... Attention span testing with a dash of coding?
Anyway, it turned out they had evening and weekend shifts and round the clock support tournus which on top of the ridiculous recruitment process and way lower than average salary offer had me turn them down.
Don't enable bullshit people, run away!4 -
Had a job interview for a front end dev (Involving a technical test). After couple of days, recruiter says - Unfortunately they say that you are too focused on best practices so they want to pass.3
-
Just need to get this off my chest. Started a new job 3 weeks ago at a company that has been around ~18 years, it is only recently that they have started to grow more rapidly. I was brought in under the guise that they wanted to embrace change and better practices and so said I was up for the challenge.
In my 2nd week I was asked to produce a document on tackling the technical debt and an approach to software development in the future for 3 consultants who were coming in to review the development practices of the company on behalf of the private equity firm who has taken a major stake in the company. I wrote the document trying to be factual about the current state and where I wanted to go, key points being:
Currently a tightly coupled monolith with little separation of concerns (73 projects in one solution but you have to build two other solutions to get it to build because there are direct references.).
Little to no adherence to SOLID principles.
No automated testing whatsoever.
Libraries all directly referenced using the file system rather than Nuget.
I set out a plan which said we needed to introduce TDD, breaking dependencies, splitting libraries into separate projects with nuget packages. Start adhering to SOLID principles, looking at breaking the project down into smaller services using the strangler pattern etc. After submitting what I had written to be part of a larger document I was told that it had been tweaked as they felt it was too negative. I asked to see the master document and it turns out they had completely excluded it.
I’ve had open and frank discussions with the dev team who to me have espoused that previously they have tried to do better, tackle technical debt etc but have struggled to get management to allow them. All in all a fairly poor culture. They seem almost resigned to their fate.
In my first 2 weeks I was told to get myself acquainted and to settle myself in. I started looking at the code and was quite shocked at how poorly written a lot of it was and in discussions with my manager have been critical of the code base and quite passionate and opinionated about the changes I want to see.
Then on Friday, the end of my third week, I was invited to a meeting for a catch up. The first thing I was told was that they felt I was being too openly critical in the office and whether I was a good fit for the company, essentially a stay or go ultimatum. I’ve asked for the weekend to think about it.
I’ve been a little rocked by it being so quickly asked if I was a good fit for the company and it got my back up. I told them that I was a good fit but for me to stay I want to see a commitment to changes, they told me that they had commitments to deliver new features and that we might be able to do it at some point in the future but for now I just needed to crack on.
Ordinarily I would just walk but I’ve recently started the process to adopt kids and changing jobs right now would blow that out the water. At the same time I’m passionate about what I do and having a high standards, I’m not going to be silenced for being critical but maybe I will try and tackle it in a different way. I think my biggest issue is that my boss who was previously a Senior Developer (my current position) has worked at the company for 12 years and it is his only job, so when I’m being critical it’s most likely criticising code he wrote. I find it hard to have the respect of a boss who I had to teach what a unit test was and how to write one. It makes it hard to preach good standards when by all accounts they don’t see the problems.
Just wondering if anyone has suggestions or experience that might help me tackle this situation?12 -
Our team makes a software in Java and because of technical reasons we require 1GB of memory for the JVM (with the Xmx switch).
If you don't have enough free memory the app without any sign just exits because the JVM just couldn't bite big enough from the memory.
Many days later and you just stand there without a clue as to why the launcher does nothing.
Then you remember this constraint and start to close every memory heavy app you can think of. (I'm looking at you Chrome) No matter how important those spreadsheets or illustrator files. Congratulation you just freed up 4GB of memory, things should work now! WRONG!
But why you might ask. You see we are using 32-bit version of java because someone in upper management decided that it should run on any machine (even if we only test it on win 7 and high sierra) and 32 is smaller than 64 so it must be downwards compatible! we should use it! Yes, in 2019 we use 32-bit java because some lunatic might want to run our software on a Windows XP 32-bit OS. But why is this so much of a problem?
Well.. the 32-bit version of Java requires CONTIGUOUS FREE SPACE IN MEMORY TO EVEN START... AND WE ARE REQUESTING ONE GIGABYTE!!
So you can shove your swap and closed applications up your ass but I bet you that you won't get 1GB contiguous memory that way!
Now there will be a meeting about this issue and another related to the issues with 32-bit JVM tomorrow. The only problem is that this issue only occures if you used up most of your memory and then try to open our software. So upper management will probably deem this issue minor and won't allow us to upgrade to 64-bit... in 20fucking1910 -
I was with the train in Vienna already when suddenly I received an email that the test can't be held today because of technical problems 🙄
Now we have it next week when I also have to study for a maths test, do statistics exercises and exercises for database systems
Fml6 -
Story of my life when I am really interested in a company:
Company: let's have a call to get to know each other.
Me: okay.
Company during the call: takes a technical interview
Company *a few days later*: now let's have a technical call!
Me: okay
Company during call: asks to design GOOGLE in GOOGLE DOC (??!!?!)
Company *a few days later*: now let's have a Development Test!
Me: okay
Company *sends an email* asking to complete a task which should take a week to develop in a few hours
Me: okay...
Company *a few weeks later*: Sends a generic email saying they got another person who is a better fit.
Me: ffs..16 -
A couple of weeks ago, I got to the second stage of a recruitment process with a relatively big fintech in the crypto space (I know) - all went well and although I did not think much of it at first, with all the information I had gathered I came to realize this might as well be the best opportunity I've had in my pursuit of finding a new job (i.e looking for high technical challenges, unsure of where I see myself in 5 years, wanting to give full-remote work a try, etc.).
Cue to the end of the interview;
"That's great! I really enjoyed speaking with you, your technical background seems excellent so we would like to move to the next stage which is a take-home test to do in your free time.", said the interviewer.
"Wow! Much amaze, well of course! What's it gonna be?", said the naive interviewee.
"I'm sending you the details via email, please send it back in 48 hours, buhbye now", she hangs up.
...
"48 hours?? Right, this should be easy then, probably some online leetcoding platform, as usual.", thought the naive interviewee, who evidently went through this sh*t numerous times already.
A day later I receive the email: this was the whole deal. The take-home test supreme with bacon and cheese. A full-blown project, with tests, a project structure, a docker image, testing and bullet points for bonus points! The assessment was poorly written with lots of typos and overall ambiguity, a few datasets were also provided but bloated with inconsistent comments and trailing whitespace.
What the actual fck??? Am I supposed to sleep deprive myself to death while also working my day job? What are you trying to assess? How much of my life I'm willing to sacrifice for your stupid useless coding challenge? You are not all Google, have some respect, jeez.
I did not get the job.2 -
Gonna go to uni in a few months. So I applied to 2 companies for a side job. (10hrs/week - some kind of scholarship)
First interview:
Of all the applicants I seemed to be the only one with enough technical knowledge to be considered. :)
They rejected me still, because I don't have enough time to have a proper onboarding process. They offered that I could start off in the holidays in the second year of uni.
Second Interview:
Had a test with logic and a little bit of maths. Nearly completed that and then had a technical talk with their team lead. He said that I sound like I know my stuff. They are gonna contact me next week...
I think I aced the interviews, and being complimented on my knowledge feels validating.
Let's see where this is going...4 -
My interview,
Introduction round.
Basic information round.
General Aptitude test.
Technical round 1
Technical round 2
Telephonic round
Telephonic technical round
And now i asked them for the results of my interview.
They told me to arrange another FUCKING TECHNICAL ROUND.
WHAT THE FUCK IS GOING ON.
IT'S BEEN FUCKING 2 MONTHS SINCE I'M GIVING INTERVIEWS..
I'm literally exhausted. And it looks like they are completing their project for free.1 -
Everyone was a noob once. I am the first to tell that to everyone. But there are limits.
Where I work we got new colleagues, fresh from college, claims to have extensive knowledge about Ansible and knows his way around a Linux system.... Or so he claims.
I desperately need some automation reinforcements since the project requires a lot of work to be done.
I have given a half day training on how to develop, starting from ssh keys setup and local machine, the project directory layout, the components the designs, the scripts, everything...
I ask "Do you understand this?"
"Yes, I understand. " Was the reply.
I give a very simple task really. Just adapt get_url tasks in such a way that it accepts headers, of any kind.
It's literally a one line job.
A week passes by, today is "deadline".
Nothing works, guy confuses roles with playbooks, sets secrets in roles hardcodes, does not create inventory files for specifications, no playbooks, does everything on the testing machine itself, abuses SSH Keys from the Controller node.... It's a fucking ga-mess.
Clearly he does not understand at all what he is doing.
Today he comes "sorry but I cannot finish it"
"Why not?" I ask.
"I get this error" sends a fucking screenshot. I see the fucking disaster setup in one shot ...
"You totally have not done the things like I taught you. Where are your commits and what are.your branch names?"
"Euuuh I don't have any"
Saywhatnow.jpeg
I get frustrated, but nonetheless I re-explain everything from too to bottom! I actually give him a working example of what he should do!
Me: "Do you understand now?"
Colleague: "Yes, I do understand now?"
Me: "Are you sure you understand now?"
C: "yes I do"
Proceeds to do fucking shit all...
WHY FUCKING LIE ABOUT THE THINGS YOU DONT UNDERSTAND??? WHAT KIND OF COGNITIVE MALFUNCTION IA HAPPENING IN YOUR HEAD THAT EVEN GIVEN A WORKING EXAMPLE YOU CANT REPLICATE???
WHY APPLY FOR A FUCKING JOB AND LIE ABOUT YOUR COMPETENCES WHEN YOU DO T EVEN GET THE FUCKING BASICS!?!?
WHY WASTE MY FUCKING TIME?!?!?!
Told my "dear team leader" (see previous rants) that it's not okay to lie about that, we desperately need capable people and he does not seem to be one of them.
"Sorry about that NeatNerdPrime but be patient, he is still a junior"
YOU FUCKING HIRED THAT PERSON WITH FULL KNOWLEDGE ABOUT HAI RESUME AND ACCEPTED HIS WORDS AT FACE VALUE WITHOUT EVEN A PROPER TECHNICAL TEST. YOU PROMISED HE WAS CAPABLE AND HE IS FUCKING NOT, FUCK YOU AND YOUR PEOPLE MANAGEMENT SKILLS, YOU ALREADY FAIL AT THE START.
FUCK THIS. I WILL SLACK OFF TODAY BECAUSE WITHOUT ME THIS TEAM AND THIS PROJECT JUST CRUMBLES DOWN DUE TO SHEER INCOMPETENCE.5 -
When did it become a trend to give people 4 hour technical tests? As a 32 year old man who commutes to work (1.5-2hrs each way) where do they possibly think I'll ever get that amount of time to complete a "test".
What's wrong with a github link and a face to face chat? A decorated linked in with recommendations?
Why can no one have the confidence to hire a dev?4 -
JIT Learning. Just in time Learning. You Don't need read a book from cover to cover. YAGNI. Many technical books talk about topics that you might never need in your career. Focus on what you need to know after making a plan for what you want to achieve.
YAGNI applies to coding as well. Don't create a class or a method just because you Might need it later. Create them only when necessary. This keeps your code cleaner and there is less to test.4 -
“Hey, thanks for accepting my request we have a role you might be interested in.”
Sure, happy to move forward
“Great you just need to a complete a Technical test”
How long is the recommend time?
And I quote:
“It’s entirely up to you how much time you spend on this task. I’ve seen tasks done in 45 mins with minimal effort previously. I’ve also seen others take a week on it. Totally your call”
——
...so you contact me to offer me a role and want me to invest up-to 1 week on a technical when I’ve not even visited your offices. How about no.2 -
I miss old times rants...So i guess, here it goes mine:
Tomorrow is the day of the first demo to our client of a "forward-looking project" which is totally fucked up, because our "Technical Quality Assurance" - basically a developer from the '90-s, who gained the position by "he is a good guy from my last company where we worked together on sum old legacy project...".
He fucked up our marvellous, loose coupling, publish/subscribe microservice architecture, which was meant to replace an old, un-maintainable enormous monolitch app. Basically we have to replace some old-ass db stored functions.
Everyone was on our side, even the sysadmins were on our side, and he just walked in the conversation, and said: No, i don't like it, 'cause it's not clear how it would even work... Make it an RPC without loose coupling with the good-old common lib pattern, which made it now (it's the 4th 2 week/sprint, and it is a dependency hell). I could go on day and night about his "awesome ideas", and all the lovely e-mails and pull request comments... But back to business
So tomorrow is the demo. The client side project manager accidentally invited EVERYONE to this, even fucking CIO, legal department, all the designers... so yeah... pretty nice couple of swallowed company...
Today was a day, when my lead colleague just simply stayed home, to be more productive, our companys project manager had to work on other prjects, and can't help, and all the 3 other prject members were thinking it is important to interrupt me frequently...
I have to install our projects which is not even had a heart beat... not even on developer machines. Ok it is not a reeeeaaally big thing, but it is 6 MS from which 2 not even building because of tight coupling fucktard bitch..., But ok, i mean, i do my best, and make it work for the first time ever... I worked like 10 ours, just on the first fucking app to build, and deploy, run on the server, connect to db and rabbit mq... 10 FUCKING HOURS!!! (sorry, i mean) and it all was about 1, i mean ONE FUCKING LINE!
Let me explain: spring boot amqp with SSL was never tested before this time. I searched everything i could tought about, what could cause "Connection reset"... Yeah... not so helpful error message... I even have to "hack" into the demo server to test the keystore-truststore at localhost... and all the fucking configs, user names, urls, everything was correct... But one fucking line was missing...
EXCEPT ONE FUCKING LINE:
spring.rabbitmq.ssl.enabled=false # Whether to enable SSL support.
This little bitch took me 6 hours to figure out...so please guys, learn from my fault and check the spring boot appendix for default application properties, if everything is correct, but it is not working...
And of course, if you want SSL then ENABLE it...
spring.rabbitmq.ssl.enabled=true
BTW i really miss those old rants from angry devs, and i hope someone will smile on my fucking torturerant marshall_mathers worklife sugar-free_tateless_cake_decorant_figure_boss missolddays oldtimes_rants5 -
Fml... you keep getting the weekly discussions right on point.
I started with the last guys right out of university... just out of Hospital.
With a brand new degree and a Crohn’s diagnosis I stepped into the first place I found hiring. They were good guys, after a junior dev... to get stuck in their muck.
I did! I nailed project after project, tricky development after tricky development. I spent 5 years with them and over those years things changed.
They had a mass cull... the original idea was to get rid of the useless middle managers, the ones managing other managers being managed by another manager for no real reason.... the ones that do fuck all with their day.
But the fucking idiots upstairs put the job of working out the cull in the shitty middle managers hands.
So, instead, they cut the titles senior, junior and everything in between. Everyone was just a thing, no senior things, no junior things. Just things.
Once they’d done that they said “we’ll we have this many things, they’re all the same, let’s get rid of the things with the highest pay checks because the other things can do it just as well for less money”...
And that’s how they cut 50% of their senior techs.
I was one of the ones left behind but the damage became obvious quick. The middle managers barked out orders at people who couldn’t complete them, and everything went to shit.
My team was rebranded twice in as many years... an obvious ploy for funding, but the cost of the team fluctuated like hell because contractors had to fill the senior positions at 3 times the cost.
Then the managers started barking out Self contradictory orders. Do this, but this way...
This would work, but not that way... try explaining that to a group of non-technical, useless as fuck middle managers. It took months, and shit flows downstream so we got the bulk of the hassle for it.
Then my boy Morpheus, got a warning... they threatened his contract for saying “this will work, but not that way”.
He kept the contract, and the manager giving him the warning said he didn’t think he should... but he, and all the middle fuckwits don’t have the balls to stand up against nonsense.
That was the breaking point for me, I handed in my notice and told them a month was what they could have.
I didn’t have a position or an idea of where to go, a few long-standing offers as back up in a pinch but not the perfect job.
On the Thursday I decided I was done, I let my manager know. Then I boshed the fuck out of my CV and updated my profiles.
My phone started ringing off the hook, a senior NG2/MEAN/Ionic dev on the market is like candy to recruiters. They’re lovely too.
I went to a few interviews that were okay but not great. Then a company got in touch... one that I immediately recognised as an IT book publisher. They said they were looking for NG/NG2 devs, senior. winner! Set up the interview.
So I’d spent the weekend with the missus, about an hour away from mine and 2 from the interview. I hadn’t planned on staying there but at 6ish she looked over at me and said “do you have to go” <- imagine that with puppy dog eyes from a gorgeous Slovenian lass.
I folded quicker than a shitty pancake toss.
We spent the night together but that meant I had to be up at 6, to go back to mine, iron my interview clothes and make it to the train to manage the interview. Fuck. I did it, but I was at the interview wired on caffeine and struggling to be awake and coherent. I still managed, that’s what I do, I make do and try to do well regardless of the situation.
That comes from being ill btw, when you’re dealt a shitty hand you learn to play it well.
They were good guys, the heads all knew what they were on about, not the middle management bs I was used to.
They demoed me live with an ng1 test, which was awesome as hell to play with.
We chatted, friendly and cool guys! I loved the place.
The end of the week they got me in for second round. Ng2 and competence test, again I went for it!
Positive feedback and a “we’ll get back to you ASAP, should be by Tuesday”...
Tuesday was the Tuesday before the Friday I was due to leave the old company... I was cutting it close.
On the Monday the offers started rolling in, a few C# ASP MVC positions, cool but I was holding out for the guys I’d interviewed with.
Then Tuesday comes around, I’m nervous as fuck but it’s okay because I knew regardless I can pay the rent in December with one of the offers.
Then said yes!
The thing that seemed most important in the process was my ability to talk to any fucker. If you’re coming up to interview, talk to everyone, the grocer, your barista, the binmen, anyone. Practice that skill above all others.
I start tomorrow morning! I can’t wait.
Final thought: middle managers are taints.7 -
The story of how I got my dream job.
I was working for a company with a job I got just after graduating university. It was ok, not very exciting tech but I learned a lot by just surrounding myself with professional code monkeys. I was there for about a year when my company bought parts of another company and there was talk about people getting fired. This made me worried since I was the last one to get hired, so I started looking around for other jobs. I received this e-mail from a company saying they were looking for interns, what a coincidence! I adjusted my CV and sent it in.
--A few weeks pass--
It's Friday and I'm at a dinner party, it's 10pm and someone is calling me. I pick up and it's a recruiter from this company. I get very nervous but the alcohol helps me keep my cool, I pass the initial idiot test and they invite me for an interview. Yay!
I go to work on Monday and in a 1-on-1 and I tell my boss about the upcoming interview, he gives me a high-five :)
The interview is approaching and I'm feeling that I'm about to get sick, I refuse to believe this so I start taking a lot of medicine (painkillers, cough medicine etc.). I feel a bit better and thank the gods for medication.
--D-day--
I wake up, put on my nicest clothes and get on the train. I had one hour to spare just in case, which was well needed because the fucking train is late by 30 minutes. I'm still heavily medicated because of my ongoing fever. When I arrive I basically have to run there and somehow I manage to pick up a coffee on the way there which I devour in two seconds. I'm ready for the interview!
Some guy meets me in reception and the first thing he says is "My colleague doesn't speak our language so we'll have to speak english". This is fine, I speak good english but I was not prepared for this so it caught me off-guard and made me even more nervous. We get in and start talking. Things are going OK despite my numbed brain. I try to make eye-contact to make a good impression with the foreign engineer but he keeps staring somewhere which is making me nervous.
We get to the technical part on a whiteboard and this is where my brain decides to stop communicating. I'm presented a simple task which I'm struggling with finishing, and I feel the embarrassment coming over me. "NOOOOO THIS IS MY DREAM JOB, THIS CANNOT BE HAPPENING!" I'm thinking to myself. After making myself look like a complete arsehole for some time we wrap it up and just before I step out the door I say to the engineer "You should checkout my Github page, I have lots of interesting stuff there" and he says "I'll be sure to do that" but I don't believe him.
I leave the office in fury (of myself) and make my way to the train station and even though it's the middle of the day I quickly devour two beers to calm my nerves and make me feel a bit better. I was so damn disappointed in myself, I wasted the opportunity of a lifetime! I go back home to my regular (now shitty) job.
--Two days later--
I get a call from an unknown number. I pick up the phone and it's the same recruiter guy. "So how did you think it went?" he says. "To be honest, I think it went really bad", I replied. "What? Really? Because they loved you, you got the job". (this was an obvious recruiter lie) "... wat, are you sure you called the correct person?" I said and he just laughed. The day after I quit my old job the whole department gets fired - such impeccable timing.
--A few months later--
I finish my internship and they want to keep me. I'm so happy. The engineer that was in the interview works on my team. I ask him "Why did you hire me? You know as well as I do that my interview was horrible". It turns out he _did_ look at my Github profile and that's how he knew I could write code. I also heard later that for my position there was about 2000 applicants and somehow I made the interviews.
I still work there today and I couldn't be happier (Sorry for the long text).3 -
Fucking non technical managers and their shitty clients to whom they suck their tiny weiners need to realise that I cannot reorder elements every 10 minutes to the shape of their fart comming out of their ass, test it, deploy it, trigger webhook, clear cloudflare cache, and meanwhile be sure that it's written in quality manner for future upkeep with commits that have sense.Hope deadline driven development dies in hell where it belongs
-
I'm pretty sure that the technical tests for FAANG are just to prove that you'll bust your ass doing trivial bullshit for them / and that you're a sucker -- instead of actual meaningful skill checks. Is this guy a total sucker who will drink our Koolaid when it's time? Are they wearing Nike? Yes. This is going to be a good investment.
I was down and out once and got a job a Micheal's Art and Crafts store. The application was clearly a mindfuck test. It asked, "If your boss was stealing - would you report them?" BTW - the answer is "No." You only report people below you. I answered in the way I knew the computer wanted me to - and I got the job. Same shit.
Are you subordinate? You're hired.2 -
Here is what I see in industry right now.
Don't go on math but get the gist.
1. 9 of 10 developers are Web developers
2. 9 in 10 developers want to be data scientist
3. 9 out of above actually give up and start doing Web development
4. 9 in 10 developers think CS education is not necessary.
5. 9 in 10 developers want to work for Google Facebook and Microsoft.
6. 9 in 10 developer don't make it to above companies.
7. 9 in 10 developers think design and test are important but never do it.
8. 9 out of 10 developers don't want to code after 5 years and just want to exit industry to non technical roles.
9. 9 out of 10 developers don't get rants and dev memes posted here.
What's your take on this7 -
So I finally got my senior project approved by my school's assistant principal (the one who deals with every student's project) and he said that the three forms of evidence I suggested were not enough. A quick summary of my project: I'm supposed to make a game engine in Java before April of 2017. Every student needs 3 forms of evidence that they did the project so I suggested screenshots of my work, the finished source code, and pictures of me actually working on it. In addition to all of that I would have a ton of documentation and sample projects to test different features of the engine. Well, he doesn't really understand that for a high school student, that's already enough work for a couple of years and thinks I need more evidence. So what does he do?
He requires me to find at least 5 people to test the engine and complete a survey about it. This normally wouldn't be a problem, except I'm a high school student and don't know more than 2 people who are fluent enough in Java to work on a game. And, I have to finish the project before January now to give the people enough time to work with it.
Long story short, I'm not even out of high school and I'm already experiencing the struggles of dealing with non-technical people.10 -
Anyone else had an interviewer just blatantly waste your time and lie to you?
I was recently interviewing for a job, the first couple of rounds went really well, and they gave out a fairly standard tech test. It was a basic tic-tac-toe game, with a few extra twists and a 120 minute time limit. They then wanted me to host what I had be able to code somewhere so they could test it out before the second technical interview.
The interview interview date came round, the interviewer never actually showed up, but 20 minutes late he sent me an email saying they wouldn't be going ahead because the code wasn't good enough, and cited a bunch of things that were well outside of the brief they gave for the test. and when I checked the access logs for the hosted 'live' version, it showed they hadn't bothered to actually look at it; they hadn't even checked out the code from the repo.
I've had similar things happen in the past occasionally, but is it just my bad luck, or is stuff like this becoming more common recently?6 -
Each and every time I sit on a technical test I am reminded I don't know the theoretical background of the programming languages I claim I know.3
-
/*
"Not wk135, but blah blah blah"
Please don't misuse wk135 (Sorry)
It's about coding tests
Thank you. */
=>
A company took their technical test on this really weird website. There was a Windows Narrator guy's voice giving instructions while a timer was running. I had to flash my ID to the webcam and then fit my head on an outline on the screen. It was for a web dev position. I had to speak into the microphone to answer the Narrator's questions and then send the video to them. The questions were weird and hypothetical, mostly. I just thought that their process was dumb and unnecessary.
=>
I don't like aptitude and algebraic tests. One company, I remember, had their test on Google Forms. For some multiple choice questions, they put check boxes instead of radio buttons. So, I could just blaze through it selecting all options. Some of the questions had their first option as "All of the above" 🤔. Fortunately, I didn't pass the test.
=>
The company I'm interning with, starting from next month, had a good interview process. They asked me questions on JavaScript, CSS, and a few on algorithms and data structures. I was also given a task where I had to make a css animation of trees. I'm glad they didn't have an algebra entry test.
😊 -
Am I the only one who gets extremely nervous the night before an interview as that technical test can encompass the entire academic field of CS. I'm just worried I'll forget the difference between a clustered and non-clustered index or fail to convey the difference between TDD and BDD.
I'm ten years in to my career now, so I 'should' know my stuff. I've produced the tests my self, hired other devs, but I still feel the nerves.8 -
I went for an interview yesterday and everything went fine, today I was asked to complete a technical test. I have done plenty of these in the past but never have I come across something as invasive as interviewzen.
It records every key stroke and plays it back to the interviewer, I assume they are watching on the webcam and recording audio too. I find the whole concept horrendous.
I closed that shit straight away and will tell them I'm no longer interested.
Anyone used that site before?5 -
TL;DR:
JuniorDev ignores every advice, writes bad code and complains about other people not working because he does not see their result because he looks at the wrong places.
Okay, so I am really fed up right now.
We have this Junior Dev, who is now with us for circa 8 months, so ca. a year less than me. Our first job for both of us.
He is mostly doing stuff nobody in the team cares about because he is doing his own projects.
But now there's a project where we need to work with him. He got a small part and did implement that. Then parts of the main project got changed and he included stuff which was not there anymore. It was like this for weeks until someone needed to tell him to fix it.
His code is a huge mess (confirmed by senior dev and all the other people working at the project).
Another colleague and me mostly did (mostly) pair programming the past 1-2 weeks because we were fixing and improving (adding functionality) libraries which we are going to use in the project. Furthermore we discussed the overall structure and each of us built some proof-of-concept applications to check if some techniques would work like we planned it.
So in short: We did a lot of preparation to have the project cleaner and faster done in the next few weeks/months and to have our code base updated for the future. Plus there were a few things about technical problems which we need to solve which was already done in that time.
Side note: All of this was done not in the repository of the main project but of side projects, test projects and libraries.
Now it seems that this idiot complained at another coworker (in our team but another project) that we were sitting there for 2 weeks, just talking and that we made no progress in the project as we did not really commit much to the repository.
Side note: My colleague and me are talking in another language when working together and nobody else joins, as we have the same mother tongue, but we switch to the team language as soon as somebody joins, so that other colleague did not even know what we were talking about the whole day.
So, we are nearly the same level experience wise (the other colleague I work with has just one year more professional experience than me) and his work is confirmed to be a mess, ugly and totally bad structured, also not documented. Whereas our code is, at least most of it, there is always space for improvement, clean, readable and re-useable (confirmed by senior and other team members as well).
And this idiot who could implement his (far smaller part) so fast because he does not care about structure or any style convention, pattern or anything complains about us not doing our work.
I just hope, that after this project, I don't have to work with him again soon.
He is also one of those people who think that they know everything because he studied computer science (as everybody in the team, by the way). So he listens to nothing anybody explains to him, not even the senior. You have to explain everything multiple times (which is fine in general) and at some points he just says that he understood, although you can clearly see that he didn't really understand but just wants to go on coding his stuff.
So you explain him stuff and also explain why something does not work or is not a good thing, he just says "yes, okay", changes something completely different and moves on like he used to.
How do you cope with something like this?6 -
/* Not a rant, more like a story with a good ending */
Le me finally got an interview for a big company, started preparing for technical questions, white board test, basically anything related ti a technical interview. The role was for a graduate software developer as i just finished my college and is my first ever interview with a company.
At the interview, he sat down and said " it will be a friendly and a very informal type of interview " and then carried on to ask me about my interests and past experiences and shared some details about the company and technology they work with. At one point i started ranting about some problems i was in due to javascript's nature of compiling even though syntax isn't right and we both had a good laugh as well about it. Idk but i felt like the interviewer made me feel really comfortable so that anything we were having a chat about was without stress, as i was nervous the whole time before the interview for being my first expereince ever.
After leaving the office i felt like this was too simple for the role i applied for and thought the company might not be interested, 4 days letter i got a mail that they are offering me the role as the feedback from interviewer was excellent.
Pretty wierd but fun experience frankly.2 -
Hmm. So have you ever argued in a job interview? Like really standing your ground? In a technical interview?
Today I had a live coding session with a company I'm interested in. The developer was giving me tasks to evolve the feature on and on.
Everything was TDD. Splendid!
However at one point I had to test if the outcome of the method call is random. What I did is basically:
```
Provider<String> provider = new SomeProvider("aaa", "bbb", "ccc", "ddd", "eee", "fff")
for(int i=0; i<100; i++) {
String str = provider.get();
map.put(str, incrementCount(str));
}
Set<Integer> occurences = new HashSet(map.values());
occurences.removeIf(o -> o.equals(occurences.get(0)));
assertFalse(occurences.empty());
```
and I called it good enough, since I cannot verify true randomness.
But the dev argued that this is not enough and I must verify whether the output is truly random or not, and the output (considering the provider only has a finite set of values to return) occurences are almost equal (i.e. the deviation from median is the median itself).
I argued this is not possible and it beats the core principle of randomness -- non-determinism. Since if you can reliably test whether the sequence is truly random you must have an algorithm which determines what value can or cannot be next in the sequence. Which means determinism. And that the (P)RNG is then flawed. The best you can do is to test whether randomness is "good enough" for your use case.
We were arguing and he eventually said "alright, let's call it a good enough solution, since we're short on time".
I wonder whether this will have adverse effect my evaluation . So have you ever argued with your interviewer? Did it turn out to the better or to the worse?
But more importantly, was I right? :D21 -
WE TEST ON THE STAGING SITE. I DON'T BUST MY ASS WITH A SEPARATE STAGING API AND HTTPS://STAGING.WHATEVERTHEFUCKYOUWANTOBUILD.COM/..., SO THAT YOU CAN MESSAGE ME THAT NOTHING IS WORKING. THAT IS BECAUSE YOU ARE NOT ON THE STAGING SITE. IF I HAVE TO REMIND YOU AGAIN, I AM NEVER TALKING TO A NON TECHNICAL PERSON AGAIN
THIS IS THE FIFTH TIME. ITS LITERALLY LIKE A BROKEN RECORD SO WHY DO I EXPECT ANYTHING TO CHANGE, EVERY CLIENT IS THE SAME, EVERY TIME, GOD I HATE IT MAKE IT STOP4 -
When you, being severely understaffed, ask your boss and the president of the company to hire another embedded dev and a technical QA to work with you at the minimum, with hard proof of the need, because you work alone on a project that was initially poorly designed even though it is the core business of the company and that it bottlenecks literally almost every other sphere of the company...
and instead, he propose you to find by yourself 4 offshore unpaid interns to help you develop an EMBEDDED SOFTWARE that requires specific EXPENSIVE HARDWARE to run and test...
because paying new employees or even an intern is too expensive even though we had record sales the last few months and that the government pays 50% of salaries until the pandemic is gone.
Fuck this shit I'm out! I'm tired of not being paid enough to fix other people's mistakes. Have fun with your failing business. Btw, this is all your fault.2 -
So technical interview today but woke up (6am) and started thinking about it and it led to this rant about algorithms. This is probably going into a Medium post if I ever get around to finishing it but sort of just wanted to share the rant that literally just went off in my mind.
*The problem with Algorithms Technical Interviews Is They don't test Real skills*
Real world problems are complex and often cross domain combining experience in multiple areas. Often the best way is not obvious unless you're a polymath and familiar with different areas, paradigms, designs. And intuitively can understand, reason, and combine them.
I don't think this is something a specific algorithm problem is designed to show. And the problem is the optimal solution to some of these and to algorithm design itself is that unless you train for it or are an algorithm designer (practice and experience), you can only brute force it in the amount of time given.
And quite frankly the algorithms I think we rely on daily weren't thought of in 30 minutes. The designers did this stuff for a living, thought about these problems for days and several iterations… at least. A lot were mathematicians. The matrix algorithm that had a Big O of 7N required a flash of insight that only someone constantly looking and thinking about the equations could see.
TBA
-system design
-clean readable coding practices
...
TLDR: I could probably go on and on about this stuff for hours jumping from item/example/area to the next and back again... But I don't think you can test these (~20) years of experience in a 1 hr technical interview focused on algorithms...8 -
Today marks literally the 4th time a recruiter has put me through to a technical test for a language/ framework i do not know. Even if you are tech illiterate just fucking ctrl f my cv to see if I know it. Absolute waste of time.1
-
I don't understand how my managers suddenly forgot that my "down weeks" we're due to technical debt I inherited. The whole on boarding hasn't been in my favor. I've stayed at work everyday til long after work hours, digging through code, trying to get JIRA tickets done, encountering issues specific to our code base that no one would ever discover on their own without docs/help from the original dev. The whole time, I was told that they know what's going on and apologize. I constantly expressed that plenty of what we were doing was building on antipatterns. They acknowledged. When a ticket wasn't done, they always knew the very specific reason and I wasn't faulted. 6 months in, I receive a great annual review. 7 months in? I receive an email titled "Performance Discussion," detailing 4 of those incidents where a ticket was pushed back -- with inaccurate depictions of what actually went down. They actually wrote that I didn't communicate. One part of the report expressed that there were "bugs found in production due to inadequate test coverage." WTF!! Everything made it past code review and QA. What are you talking about?? In fact, the person who wrote that merged my code in each time!!!! Insane!! Anyway, Q2 is partly about cleaning up technical debt, which is a responsibility I have been vested (fantastic). I've deleted about 800 lines of code in the last 2 weeks and added plenty of doc strings. Two of the most important modules our application works from are about 1000 lines of JavaScript each without any comments/docs. I'm changing that, but I don't know if my managers truly know the significance. Someone was recently promoted to my position but manually wrote out a sorting algorithm (specified numeric indexes and all); didn't do shit to earn it but breathe. And while they get more and more praise and responsibility, I'm over here stuck trying to prove myself and live up to why I assume they hired me. It's ridiculous. I love the company, but I'm not getting any sleep and I'm stressed out. It's only been about 7 months and I've been doing everything I can. Why is this happening? What am I doing wrong? I've been developing a recurring (physical) headache and ticks. My heart/chest area sometimes feels like it's lifting weights. I sound like an idiot, pushing so hard for a company that isn't mine, but I take so much pride in being in this position, and I'm so set on proving myself this early in my career (I'm 25).8
-
Project manager : At 9:30 am these all are the tasks you have to complete today.
Me: OK ,sure.
Project manager: At 10:30 have you completed any thing.
Me:no not yet we can meet at 11:30.
Project manager: At 11:30 have you completed the tasks.
Me: no it's takes more time post lunch.
Project manager: post lunch have you completed the tasks.
Me : give me 5 mins ( integrating the code).
Project manager: 5 mins over.
Me : showing the application with out testing.
Project manager : This not working.......!
Me:(I know that )then I have to check .
Project manager : OK go and come in 10 mins
Me:(in 10 mins I have to test and fix the bugs you non technical brute) sure .2 -
A bug is born
... and it's sneaky and slimy. Mr. Senior-been-doing-it-for-ears commits some half-assed shitty code, blames failed tests on availability of CI licenses. I decided to check what's causing this shit nevertheless, turns out he forgot to flag parts of the code consistently using his new compiler defines, and some parts would get compiled while others needed wouldn't .. Not a big deal, we all make mistakes, but he rushes to Teams chat directing a message to me (after some earlier non-sensible argument about merits of cherry picking vs re-base):
Now all tests pass, except ones that need CI license. The PR is done, you can use your preferred way to take my changes.
So after I spot those missing checks causing the tests to fail, as well as another bug in yet another test case, and yet another disastrous memory related bug, which weren't detected by the tests of course .. I ponder my options .. especially based on our history .. if I say anything he will get offended, or at best the PR will get delayed while he is in denial arguing back even longer and dependent tasks will get delayed and the rest of the team will be forced to watch this show in agony, he also just created a bottleneck putting so many things at stake in one PR ..
I am in a pickle here .. should I just put review comments and risk opening a can of worms, or should I just mention the very obvious bugs, or even should I do nothing .. I end up reaching for the PM and explained the situation. In complete denial, he still believes it's a license problem and goes on ranting about how another project suffering the same fate .. bla bla bla chipset ... bla bla bla project .. bla bla bla back in whatever team .. then only when I started telling him:
These issues are even spotted by "Bob" earlier, since for some reason you just dismissed whatever I just said ..
("Bob" is another more sane senior developer in the team, and speaks the same language as the PM)
Only now I get his attention! He then starts going through the issues with me (for some reason he thinks he is technical enough to get them) .. He now to some extent believes the first few obvious bugs .. now the more disastrous bug he is having really hard time wrapping his head around it .. Then the desperate I became, I suggest let's just get this PR merged for the sake of the other tasks after may be fixing the obvious issues and meanwhile we create another task to fix the bug later .. here he chips in:
You know what, that memory bug seems like a corner case, if it won't cause issues down the road after merging let's see if we need even to open an internal fix or defect for it later. Only customers can report bugs.
I am in awe how low the bar can get, I try again and suggest let's at least leave a comment for the next poor soul running into that bug so they won't be banging their heads in the wall 2hrs straight trying to figure out why store X isn't there unless you call something last or never call it or shit like that (the sneaky slimy nature of that memory bug) .. He even dismissed that and rather went on saying (almost literally again): It is just that Mr. Senior had to rush things and communication can be problematic sometimes .. (bla bla bla) back in "Sunken Ship Co." days, we had a team from open source community .. then he makes a very weird statement:
Stuff like what Richard Stallman writes in Linux kernel code reviews can offend people ..
Feeling too grossed and having weird taste in my mouth I only get in a bad hangover day, all sorts of swear words and profanity running in my head like a wild hungry squirrel on hot asphalt chasing a leaky chestnut transport ... I tell him whatever floats your boat but I just feel really sorry for whoever might have to deal with this bug in the future ..
I just witnessed the team giving birth to a sneaky slimy bug .. heard it screaming and saw it kicking .. and I might live enough to see it a grown up having a feast with other bug buddies in this stinky swamp of Uruk-hai piss and Orcs feces.1 -
What a difference being in the right frame of mind makes.
On Monday I had an interview for a role that I was really keen on, I'd completed a codility test before which I had killed, everything seemed in place. Then I didn't sleep well, had an urgent fire fighting call with my current employer 15 minutes before the interview, I just couldn't focus, I stumbled on some very basic questions, the whole process was torturous.
Today I had an interview for a different, but equally attractive, role. What a difference, I was focused, my answers were clear and thought out, the technical questions were fine, I killed it I think. Pma definitely makes a big difference.1 -
So, rant!
So, global-huge-paradigm-shift project moving forward. Lots and lots of architects of multiple sites world-wide, stakeholders and business peeps and sub-corp manager and head-of-fucking-everything-of-multi-billion-dollar-CEO involved with different amounts of energy and passion.
Huge amount of money involved. Not only for the multi-year project endeavour but also in licensing costs for the years and years to come.
It's a big deal for the corporation.
And it's clowns everywhere. Leadership, project leads, technical project leads, architects. Am I one of them? I don't think so because everyone is mad at me. Since I cause trouble. Since I tend to say that I don't give a FUCK about the product being a Gartner Visionary player if you can't test the fucker properly...
Last week I attended a workshop in USA (I live in Europe) regarding this change which left me with a bad taste in my mouth. I am so far away from my comfort zone.
To these people (me?) get payed for this work? Is this really relevant? Why the FUCK did I need to go to a different continent? "The "Core team" need to be on site". Yeah, right. Fuck you Mr Project Leader, I can tell you are far, far away of being on-top of this thing...
Pointless.
It's pointless.
But I guess this is why you get payed.
Work.
Tomorrow is Tuesday and I think I will raise my hand yet again and explain to all I meet that I see HUGE risks with this project as it goes along right now. We kind of make things and that has to, you know, work. NOT making things for 1 hour is... well, that is really, really bad.
I give this project ten percent chance of succeeding above the set thresholds for all different areas/functionality. (I am sure the fuckers will alter the thresholds to show off a "successful project". Fuckers.2 -
I went for an interview as a MS SQL DBA. They gave me a technical knowledge test which I passed then started asking about me, All was going well until they started telling me what the company did.
They harvested people's data from websites online questionnaires and collated it into saleable data.
This was too much for me and I'm not certain that it isn't a grey area legally. They were told that they were scum of the earth and they could go fuck themselves.4 -
# Retrospective as Backend engineer
Once upon a time, I was rejected by a startup who tries to snag me from another company that I was working with.
They are looking for Senior / Supervisor level backend engineer and my profile looks like a fit for them.
So they contacted me, arranged a technical test, system design test, and interview with their lead backend engineer who also happens to be co-founder of the startup.
## The Interview
As usual, they asked me what are my contribution to previous workplace.
I answered them with achievements that I think are the best for each company that I worked with, and how to technologically achieve them.
One of it includes designing and implementing a `CQRS+ES` system in the backend.
With complete capability of what I `brag` as `Time Machine` through replaying event.
## The Rejection
And of course I was rejected by the startup, maybe specifically by the co-founder. As I asked around on the reason of rejection from an insider.
They insisted I am a guy who overengineer thing that are not needed, by doing `CQRS+ES`, and only suitable for RND, non-production stuffs.
Nobody needs that kind of `Time Machine`.
## Ironically
After switching jobs (to another company), becoming fullstack developer, learning about react and redux.
I can reflect back on this past experience and say this:
The same company that says `CQRS+ES` is an over engineering, also uses `React+Redux`.
Never did they realize the concept behind `React+Redux` is very similar to `CQRS+ES`.
- Separation of concern
- CQRS: `Command` is separated from `Query`
- Redux: Side effect / `Action` in `Thunk` separated from the presentation
- Managing State of Application
- ES: Through sequence of `Event` produced by `Command`
- Redux: Through action data produced / dispatched by `Action`
- Replayability
- ES: Through replaying `Event` into the `Applier`
- Redux: Through replay `Action` which trigger dispatch to `Reducer`
---
The same company that says `CQRS` is an over engineering also uses `ElasticSearch+MySQL`.
Never did they realize they are separating `WRITE` database into `MySQL` as their `Single Source Of Truth`, and `READ` database into `ElasticSearch` is also inline with `CQRS` principle.
## Value as Backend Engineer
It's a sad days as Backend Engineer these days. At least in the country I live in.
Seems like being a backend engineer is often under-appreciated.
Company (or people) seems to think of backend engineer is the guy who ONLY makes `CRUD` API endpoint to database.
- I've heard from Fullstack engineer who comes from React background complains about Backend engineers have it easy by only doing CRUD without having to worry about application.
- The same guy fails when given task in Backend to make a simple round-robin ticketing system.
- I've seen company who only hires Fullstack engineer with strong Frontend experience, fails to have basic understanding of how SQL Transaction and Connection Pool works.
- I've seen company Fullstack engineer relies on ORM to do super complex query instead of writing proper SQL, and prefer to translate SQL into ORM query language.
- I've seen company Fullstack engineer with strong React background brags about Uncle Bob clean code but fail to know on how to do basic dependency injection.
- I've heard company who made webapp criticize my way of handling `session` through http secure cookie. Saying it's a bad practice and better to use local storage. Despite my argument of `secure` in the cookie and ability to control cookie via backend.18 -
Heard a job position opened through a friend. Passed him my CV since we don't know his email (lol how?)
Got called for an interview + technical test. Came and they were expecting my CV. They somehow misplaced my CV (lol again how?)
Told the interviewers that I made a couple of apps for fun and informative. Tested me by doing a value switch between 2 variables without introducing a third variable. Done and dusted.
A month later, the company that interviewed me disappeared.
That's my definition of the worst interview rejection. Company pulled a Houdini without telling all of their candidates that we're rejected.14 -
Just compleeeetteellyy messed up a technical interview.. stupid theory.. I can apply all that stuff but when I get asked to explain then . Well.. I messed up.
And the coding part, I had the right approach but had one big brainfart in it making the whole thing useless (pseudo code so couldnt test it). I realized just after the interview was finished..
I hate the feeling of failure.
Was a really nice position which is why I applied. Ah well, tonight is whiskey night I guess.8 -
I hate having to deal with our IT service desk. Every time it takes enormous energy to get to the right people and make them understand that no, you are not an idiot, but you actually have a technical issue.
Sure thing they do have a few competent nice folks there too I've gotten to know over time and they indeed have to deal with a ton of dumb non-tech savvy idiots on a daily basis. However, if my job title mentions "software" and "engineer" they should at least assume I'm an idiot in tech. Or something. Every single time I need to open a ticket, even for the simplest "add x to env y", I need to quadruple check that the subject line is moron-friendly because otherwise they would take every chance to respond "nah we can't do that", "that's not us", or "sry that's not allowed". And then I would need to respond, "yes you do:) your slightly more competent colleague just did this for us 2 weeks ago".
Now you might imagine this is on even another level when the problem is complex.
One of our internal apps has been failing because one of the internal APIs managed by a service desk team responds a 500 status code randomly but only when called with a specific internal account managed by another service desk team.
(when I say "managed by", that doesn't mean they maintain it, it just mean they are the only ones who would have access to change something)
Yesterday I spent over a fucking hour writing a super precise essay detailing the issue, proving a million times it's not on our end and that they need to fix it. Now here is an insight to what beautiful "IT service" our service desk provides:
1) ticket gets assigned to a "Connectivity Engineer" lady
2) few hours later she responds and asks me to give her the app and environment IDs and grant her access to those
(naturally everything in my email was ignored including these two IDs)
3) since the app needs to be in prod for the issue, I make a copy isolating the failing part and grant her access to the original "for reference" and the copy to play with
4) few hours later I get an email from the env that some guy called P made changes to the actual app, no changes to the copy
(maybe they immediately fixed the app even though I asked them to only touch the copy)
I also check the env and the live app had been shared with another 2 people giving them editing rights:)
5) another few hours pass and the lady responds that she had been chatting with P (no mention of who tf that guy is) and that P has a suggestion that might work and I should test it, "please see screen shot" for details:
These motherfuckers sent me a fucking screenshot of the env config file where "P has edited a few parameters" that might help. The screenshot had a 16 line part of the config json with a bunch of IDs and Base64 params which HE EDITED LOCALLY.
Again, because I needed a few iterations to realise what I've just witnessed:
These idiots modified some things in the main app (not the copy) for hours. Then came to the conclusion that the config needs some IDs and params updated. They downloaded the config json. Edited it locally. Did not fucking upload it back to the main or test app. Did not test it live. Did not CC in or direct the guy with changes to me. Did not send me the modified config file. Did not even paste the new IDs into the email. But TOOK A FUCKING SCREENSHOT OF THE MODIFIED FILE AND SENT THAT SHIT TO ME. And then had the audacity to ask me to test it when they had access to it and that's literally their fucking job.
I had to compare the fucking screenshot to the live config file and manually type in the changes.
And no, it still doesn't work. And Now I have to get back to them showing it still fails the same way but I just can't deal with these people. Fuck. Was hoping by the time I write it all down it'd be better, and it does feel a bit better, but I still need to get this app fixed. And I can only do it through these... monkeys. I just can't. Talking to these people drains my life energy... I'm just sad. -
Product Management thought of automating an entire legacy product so they funded undisclosed amount to program management who in turn hired >20 contract devs managed by architects and dev managers with zero functional or technical knowledge of product and who in turn went ahead automating the product in selenium, end result of which was an useless automation framework with lot of browser specific dependencies and whuch could run only on one setup environment and migrating test cases to another environment and running is almost impossible and tyrannical to configure. The automation test cases are highly disorganized with all generic setup, DB configurations and business case test data mixed up in same config files and which need to be rewriten every time ported from one environment to other.To add misery to my woes as a dev working in that product I was told to utilize that framework and enhance the quality of my code by writing inline automation Cases for the same. I am left speechless thoughtless and emotionless after that decision.2
-
Fuck my project manager. He wants to sacrifice code quality, test coverage and technical debt in favor of more features. In the future when everything takes longer or breaks guess who is responsible? Certainly not him.3
-
I'm genuinely shocked at the number of people I see on here bashing automated testing as a waste of time, simply because my entire career has taught me the opposite (and it's usually only non-technical managers I see who don't want to see "time wasted" writing tests.)
I'm also just as genuinely curious - what do you guys do instead? Just don't test and deal with production issues as they occur? Pass it off to a separate UAT / human-based testing department and let them sign it off? Assume that because you're using Haskell / some other discipline it'll work if it compiles?14 -
Tech sector job interviews assess anxiety, not software skills - ‘A new study finds that the technical interviews currently used in hiring for many software engineering positions test whether a job candidate has performance anxiety rather than whether the candidate is competent at coding. The interviews may also be used to exclude groups or favor specific job candidates.’
Full story: https://sciencedaily.com/releases/...
Fucking coding interviews3 -
Argh recruiters!! After 4 emails back and forth because he won’t tell me the company name I agree to a call. Basic role for a basic company. Acknowledges he’s asking for me to take a pay cut but doesn’t listen to the reasons why I would. I ask about the hardware - doesn’t know. Tells me that two competing frameworks are being used. Wants me to agree to an interview without listening 😡🤬😡then tells me I will need to do a technical test, jog the f**k on.2
-
Fuck I am so screwed... Spent an hour + trying to implement a Trie except I didn't know it was called a Trie... and don't remember how to implement one...
I am so fcked for my technical interview/test i m planning to take this weekend...
It's like I know i've seen this problem before and the brute-force way probably won't work... but after an hour trying to implement the right way... i just go fck it...
and lo and behold... it doesnt work..
Google the solution and the code is like less than 100 lines... and probably took the guy 10 minutes to write...6 -
A little background on project fubar:
Project fubar was started a couple of years ago, by an entirely different set of devs, against an entirely different set of requirements which were never made transparent to this day, on a new platform and framework.
That means it had APIs either outdated or deprecated, front-end logic that did things it wasn't supposed to be doing and lots of scope creep and technical debt.
I had to support and fix fubar for the last few months to prime it for UAT. It was the equivalent of plugging leaks which created more leaks.
Finally, I couldn't take it and asked for a week off. I timed it so it would be right after what would have been the final UAT deployment and I'd be back after they completed their test rounds, so I could fix any new or returning defects.
Today I just found out that fubar got put on hold, that UAT was a failure and all fubar-related work had to stop. I have some mixed feelings on this: I worked hard to get fubar working as business wanted, and I was proud of that. But I also didn't like that fubar was constantly changing in scope and function.
I wonder if anyone else has ever felt the same thing?2 -
Monday morning client meetings are usually a pain. If they're not delayed once, they're delayed twice, and they go on for hours, taking up the entire morning for everyone on the project.
To make today even better, it was about an hour of our client ripping into us developers on the project, and the application we're making, to shreds, saying that we have a lack of attention to detail and are working well.
(not bearing in mind, we're building a hybrid application, so it's a glorified web page and we can't test on every android phone, or iOS device and any combination of keyboards for those in between, and every problem comes with its own quirks when you're forcing things with html, js and angularjs).
I feel back for the pm, she had literally 5 more hours of salty, salty calls with our other poc about the issues raised and how we could go about fixing all these minor issues, since they know the solution to them, despite having little to zero technical knowledge.
Just another day in the office I guess. -
Since I can't make many posts, I'll try squeeze them all in one:
1. Phone recruitment interview went "well", I even spoke french at some point! 😃
I have to brush up my knowledge again for the technical test (I hate them). Somehow I got excited, which I shouldn't, but only time will tell...
2. My brain is stuck with opening a Twitter account, mainly for following people/companies news. I don't know if it's worth it, so I would your feedback on this.
3. I've finally come down to listening to synthwave while coding and I was wondering if there's any good free service (I'm still poor, so I don't want neither Deezer nor Spotify), preferably with a UWP app on Windows 10 (that is not Soundcloud).4 -
I work for an investment wank. Worked for a few. The classic setup - it's like something out of a museum, and they HATE engineers. You are only of value if work on the trade floor close to the money.
They treat software engineering like it's data entry. For the local roles they demand x number of years experience, but almost all roles are outsourced, and they take literally ANYONE the agency offers. Most of them can't even write a for loop. They don't know what recursion is.
If you put in a tech test, the agency cries to a PMO, who calls you a bully, and hires the clueless intern. An intern or two is great, if they have passion, but you don't want a whole department staffed by interns, especially ones who make clear they only took this job for the money. Literally takes 100 people to change a lightbulb. More meetings and bullshit than development.
The Head of Engineering worked with Cobol, can't write code, has no idea what anyone does, hates Agile, hates JIRA. Clueless, bitter, insecure dinosaur. In no position to know who to hire or what developers should be doing. Randomly deletes tickets and epics from JIRA in spite, then screams about deadlines.
Testing is the same in all 3 environments - Dev, SIT, and UAT. They have literally deployment instructions they run in all 3 - that is their "testing". The Head of Engineering doesn't believe test automation is possible.
They literally don't have architects. Literally no form of technical leadership whatsoever. Just screaming PMOs and lots of intern devs.
PMO full of lots of BAs refuses to use JIRA. Doesn't think it is its job to talk to the clients. Does nothing really except demands 2 hour phone calls every day which ALL developers and testers must attend to get shouted at. No screenshare. Just pure chaos. No system. Not Agile. Not Waterfall. Just spam the shit out of you, literally 2,000 emails a day, then scream if one task was missed.
Developers, PMO, everyone spends ALL day in Zoom. Zoom call after call. Almost no code is ever written. Whatever code is written is so bad. No design patterns. Hardcoded to death. Then when a new feature comes in that should take the day, it takes these unskilled devs 6 months, with PMO screaming like a banshee, demanding literally 12 hours days and weekends.
Everything on spreadsheets. Every JIRA ticket is copy pasted to Excel and emailed around, though Excel can do this.
The DevOps team doesn't know how to use Jenkins or GitHub.
You are not allowed to use NoSQL database because it is high risk.2 -
! RANT
Yesterday I went to pool campus recruitment drive and there were 3 rounds
1. Written aptitude test
2. Group Discussion
3. F2F interview
Cleared first round and got selected for second round out of like 80 students. (15-18 got selected)
Went to group discussion first topic was "Donald Trump Administration is threat to IT for Indian or not" and the all were saying he stopped giving visa to Indians, there is no opportunity for us there because of him and I was like wtf... And they think because of Trump, Indian people from Infosys got kicked out hahahaha wtf is this.
Second was how AI and Digitalization can help in growth of nation.
And again those girls hahahah one girl said by using AI we can make new technology and can explore galaxies. What the fathafucking fuck!!
And YES THEY GOT SELECTED.
(Whole HR team was non technical)5 -
I had a technical test on Tuesday on Linux and SQL. I thought I failed. I get a call that I did pretty well and now they want me for an interview. Naturally, I get very excited.
I get a date for the interview and get ready to shine... until I accept the video call and find out that it is a technical interview! But this time instead I have to express myself in a foreign language.
(And also not with the people I was supposed to have the interview with)
No worse way to stress someone XYZ company! Totally uncool!!!
I think now I can go in a shadowy corner and whimper.9 -
I deployed one of our staging websites to a free plan because the site is rarely used. Project Manager sends the stakeholders the new url. There will be a lot of 🤦♀️🤦♂️🤦 all around. Some of it’s my fault. A lot of it is just WTF.
Stakeholder: We still need the staging site because we don’t want to test in the live site…
PM: Okay. We didn’t say we were deleting the site. We are just moving it to a new and better hosting platform, so we’re letting you know the url has changed.
Stakeholder: This url is for the front facing page. How do I access the backend? [they mean the admin interface]
Me: The only thing that’s changed is the url for the staging website. So domain-A/account is now domain-B/account.
I thought that was a pretty straightforward way of explaining things, that even a non technical person would get it. They took the /account example as the literal login url.
Stakeholder: I forgot the password for our admin login and I submitted a password reset, but I realize I don’t know if I have access to the admin email. Or if it’s even a real email account.
WTF
I look back at the email chain and I realize that I gave the PM the wrong url.
Also, WTF x 2. How did this stakeholder not realize they were looking at the wrong website?? There are definitely noticeable style and content differences. And why would you have an admin login that uses a fake email??
Me: My apologies. I sent over the incorrect url. My instructions are mostly the same. All that’s changed is the domain.
Stakeholder’s assistant: [DMs me] How do we access the backend?
WTF…are they seriously playing this game and demanding I type out the url for them?! 🤬 I’m not playing this game and I just copy and paste the example that I already sent over.
They figure it out eventually. Apparently, they never used /account to login before They used /admin/index… but that would still bring them to /account, but with ?redirect=/admin/index appended to the url if they weren’t logged in. Again, WTF.
I know I made mistakes in this whole thing, but damn. I can’t even. I’m pretty sure this whole incident is fueling my boss’s push to stop supporting this particular website anymore so I can focus on sites that actually bring in revenue…and have stakeholders that aren’t looney and condescending like this.4 -
The heart of every software company is the development department.
Without it:
- The sellers would have nothing to sell
- Testers won't have anything to test
- Technical support wouldn't have anything to install1 -
This started as an update to my cover story for my Linked In profile, but as I got into a groove writing it, it turned into something more, but I’m not really sure what exactly. It maybe gets a little preachy towards the end so I’m not sure if I want to use it on LI but I figure it might be appreciated here:
In my IT career of nearly 20 years, I have worked on a very wide range of projects. I have worked on everything from mobile apps (both Adroid and iOS) to eCommerce to document management to CMS. I have such a broad technical background that if I am unfamiliar with any technology, there is a very good chance I can pick it up and run with it in a very short timespan.
If you think of the value that team members add to the team as a whole in mathematical terms, you have adders and you have subtractors. I am neither. I am a multiplier. I enjoy coaching, leading and architecture, but I don’t ever want to get out of the code entirely.
For the last 9 years, I have functioned as a technical team lead on a variety of highly successful and highly productive teams. As far as team leads go, I tend to be a bit more hands on. Generally, I manage to actively develop code about 25% of the time to keep my skills sharp and have a clear understanding of my team’s codebase.
Beyond that I also like to review as much of the code coming into the codebase as practical. I do this for 3 reasons. I do this because as a team lead, I am ultimately the one responsible for the quality and stability of the codebase. This also allows me to keep a finger on the pulse of the team, so that I have a better idea of who is struggling and who is outperforming. Finally, I recognize that my way may not necessarily be the best way to do something and I am perfectly willing to admit the same. I have learned just as much if not more by reviewing the work of others than having someone else review my own.
It has been said that if you find a job you love, you’ll never work a day in your life. This describes my relationship with software development perfectly. I have known that I would be writing software in some capacity for a living since I wrote my first “hello world” program in BASIC in the third grade.
I don’t like the term programmer because it has a sense of impersonality to it. I tolerate the title Software Developer, because it’s the industry standard. Personally, I prefer Software Craftsman to any other current vernacular for those that sling code for a living.
All too often is our work compiled into binary form, both literally and figuratively. Our users take for granted the fact that an app “just works”, without thinking about the proper use of layers of abstraction and separation of concerns, Gang of Four design patterns or why an abstract class was used instead of an interface. Take a look at any mediocre app’s review distribution in the App Store. You will inevitably see an inverse bell curve. Lot’s of 4’s and 5’s and lots of (but hopefully not as many) 1’s and not much in the middle. This leads one to believe that even given the subjective nature of a 5 star scale, users still look at things in terms of either “this app works for me” or “this one doesn’t”. It’s all still 1’s and 0’s.
Even as a contributor to many open source projects myself, I’ll be the first to admit that have never sat down and cracked open the Spring Framework to truly appreciate the work that has been poured into it. Yet, when I’m in backend mode, I’m working with Spring nearly every single day.
The moniker Software Craftsman helps to convey the fact that I put my heart and soul into every line of code that I or a member of my team write. An API contract isn’t just well designed or not. Some are better designed than others. Some are better documented than others. Despite the fact that the end result of our work is literally just a bunch of 1’s and 0’s, computer science is not an exact science at all. Anyone who has ever taken 200 lines of Java code and reduced it to less than 50 lines of reactive Kotlin, anyone who has ever hit that Utopia of 100% unit test coverage in a class, or anyone who can actually read that 2-line Perl implementation of the RSA algorithm understands this simple truth. Software development is an art form. I am a Software Craftsman.
#wk171 -
I was thinking about the problems one of our clients faced with the launch of their project the other day, because things were rushed, stuff was omitted and in the end they could not meet the launch date, and I started making a list of hard lessons I learned over the years that would have helped them avoid this situation.
Feel free to add yours in the comments.
- Never deploy on Friday
- Never make infrastructure changes right before a launch
- Always have backups. Always!
- Version control is never optional
- A missed deadline is better than a failed launch
- If everything is urgent, nothing is important
- Fast and cheap, cheap and quality, quality and fast. Only one pair at a time can be achieved
- Never rush the start or the end of a project
- Stability is always better that speed
- Make technical decisions based on the needs of the project two years from now
- Code like you will be the only maintainor of the project two years from now. You probably will...
- Always test before you deploy
- You can never have too many backups (see above)
- Code without documentation is a tool without instructions
- Free or famous does not necessarily mean useful or good
- If you need multiple sentences to explain a method, you should probably refactor
- If your logic is checked beforehand, writing the code becomes way easier
- Never assume you understand a request the first time around. Always follow up and confirm
There are many more that should be on this list, but this is what came to mind now.2 -
End of my rant about 35 day recruitment process for anyone interested to hear the ending.
Just got rejected by a company (name Swenson He) for a remote Android Engineer SWE role after wasting 35 days for the recruitment process.
First intro interview went good, then I did an assignment that had 72 hours deadline (asked for couple days longer to do this task, did it in around 40 hours, it was purely an assignment not free work, I could have done it in a day but I choose to overeenginer it so I could use the project as a portfolio piece, no regrets there and I learned some new things). After that It took them 2 weeks just to organize the technical interview.
2 days after the technical interview I received an offer from a second company with 1 week to decide. I immediately informed the Swenson He about it and politely asked whether they could speed up their decision process.
Now I know that I could just sign with the second company and if the big Swenson He would decide to bless me with and offer I could jump ship. But out of principle I never did that for 7 years of my career. If Im in a situation with multiple offers I always inform all parties (it's kinda a test for them so I could see which one is more serious and wants me to work for them more). Swenson He didnt pass the test.
6 days of silence. I pinged the techlead I interviewed with on LinkedIn about my situation, he assured me that he'l ask his hiring team to get back to me with feedback that day.
2 days of silence. I had to decide to sign or not to sign with a second company. I pinged the techlead again regarding their decision and 10min after received a rejection letter. There was no feedback.
I guess they got pissed off or something. Idk what were they thinking, maybe something along the lines of "Candidate trying to force our 35day recruitment process to go faster? Pinging us so much? Has another offer? What an asshole! ".
Didnt even receive any feedback in the end. Pinged their techlead regarding that but no response. Anyways fuck them. I felt during entire process that they are disrespecting me, I just wanted do see how it ends. Techlead was cool and knowledgeable but recruitment team was incompetent and couldn't even stay in touch properly during entire process. Had I didn't force their hand I bet they would have just ghosted me like they did with others according to their Glassdoor reviews.
Glad I continued to interview for other places, tomorrow Im signing an offer. Fuck Swenson He.
P.S. From my experience as a remote B2B contractor if a company is serious the entire process shouldn't take longer than max 2 weeks. Anything outside of that is pure incompetence. Even more serious companies can organize the required 2-3 meetings in a week if they have to and if they are interested. Hiring process shouldnt take longer than MAX 3 weeks unless you are applying for some fancy slow picky corporate company or a FAANG, which is out of topic for this post. -
When the CTO/CEO of your "startup" is always AFK and it takes weeks to get anything approved by them (or even secure a meeting with them) and they have almost-exclusive access to production and the admin account for all third party services.
Want to create a new messaging channel? Too bad! What about a new repository for that cool idea you had, or that new microservice you're expected to build. Expect to be blocked for at least a week.
When they also hold themselves solely responsible for security and operations, they've built their own proprietary framework that handles all the authentication, database models and microservice communications.
Speaking of which, there's more than six microservices per developer!
Oh there's a bug or limitation in the framework? Too bad. It's a black box that nobody else in the company can touch. Good luck with the two week lead time on getting anything changed there. Oh and there's no dedicated issue tracker. Have you heard of email?
When the systems and processes in place were designed for "consistency" and "scalability" in mind you can be certain that everything is consistently broken at scale. Each microservice offers:
1. Anemic & non-idempotent CRUD APIs (Can't believe it's not a Database Table™) because the consumer should do all the work.
2. Race Conditions, because transactions are "not portable" (but not to worry, all the code is written as if it were running single threaded on a single machine).
3. Fault Intolerance, just a single failure in a chain of layered microservice calls will leave the requested operation in a partially applied and corrupted state. Ger ready for manual intervention.
4. Completely Redundant Documentation, our web documentation is automatically generated and is always of the form //[FieldName] of the [ObjectName].
5. Happy Path Support, only the intended use cases and fields work, we added a bunch of others because YouAreGoingToNeedIt™ but it won't work when you do need it. The only record of this happy path is the code itself.
Consider this, you're been building a new microservice, you've carefully followed all the unwritten highly specific technical implementation standards enforced by the CTO/CEO (that your aware of). You've decided to write some unit tests, well um.. didn't you know? There's nothing scalable and consistent about running the system locally! That's not built-in to the framework. So just use curl to test your service whilst it is deployed or connected to the development environment. Then you can open a PR and once it has been approved it will be included in the next full deployment (at least a week later).
Most new 'services' feel like the are about one to five days of writing straightforward code followed by weeks to months of integration hell, testing and blocked dependencies.
When confronted/advised about these issues the response from the CTO/CEO
varies:
(A) "yes but it's an edge case, the cloud is highly available and reliable, our software doesn't crash frequently".
(B) "yes, that's why I'm thinking about adding [idempotency] to the framework to address that when I'm not so busy" two weeks go by...
(C) "yes, but we are still doing better than all of our competitors".
(D) "oh, but you can just [highly specific sequence of undocumented steps, that probably won't work when you try it].
(E) "yes, let's setup a meeting to go through this in more detail" *doesn't show up to the meeting*.
(F) "oh, but our customers are really happy with our level of [Documentation]".
Sometimes it can feel like a bit of a cult, as all of the project managers (and some of the developers) see the CTO/CEO as a sort of 'programming god' because they are never blocked on anything they work on, they're able to bypass all the limitations and obstacles they've placed in front of the 'ordinary' developers.
There's been several instances where the CTO/CEO will suddenly make widespread changes to the codebase (to enforce some 'standard') without having to go through the same review process as everybody else, these changes will usually break something like the automatic build process or something in the dev environment and its up to the developers to pick up the pieces. I think developers find it intimidating to identify issues in the CTO/CEO's code because it's implicitly defined due to their status as the "gold standard".
It's certainly frustrating but I hope this story serves as a bit of a foil to those who wish they had a more technical CTO/CEO in their organisation. Does anybody else have a similar experience or is this situation an absolute one of a kind?2 -
To me this is one of the most interesting topics. I always dream about creating the perfect programming class (not aimed at absolute beginners though, in the end there should be some usable software artifact), because I had to teach myself at least half of the skills I need everyday.
The goal of the class, which has at least to be a semester long, is to be able to create industry-ready software projects with a distributed architecture (i.e. client-server).
The important thing is to have a central theme over the whole class. Which means you should go through the software lifecycle at least once.
Let's say the class consists of 10 Units à ~3 hours (with breaks ofc) and takes place once a week, because that is the absolute minimum time to enable the students to do their homework.
1. Project setup, explanation of the whole toolchain. Init repositories, create SSH keys for github/bitbucket, git crash course (provide a cheat sheet).
Create a hello world web app with $framework. Run the web server, let the students poke around with it. Let them push their projects to their repositories.
The remainder of the lesson is for Q&A, technical problems and so on.
Homework: Read the docs of $framework. Do some commits, just alter the HTML & CSS a bit, give them your personal touch.
For the homework, provide a $chat channel/forum/mailing list or whatever for questions where not only the the teacher should help, but also the students help each other.
2. Setup of CI/Build automation. This is one of the hardest parts for the teacher/uni because the university must provide the necessary hardware for it, which costs money. But the students faces when they see that a push to master automatically triggers a build and deploys it to the right place where they can reach it from the web is priceless.
This is one recurring point over the whole course, as there will be more software artifacts beside the web app, which need to be added to the build process. I do not want to go deeper here, whether you use Jenkins, or Travis or whatev and Ansible or Puppet or whatev for automation. You probably have some docker container set up for this, because this is a very tedious task for initial setup, probably way out of proportion. But in the end there needs to be a running web service for every student which they can reach over a personal URL. Depending on the students interest on the topic it may be also better to setup this already before the first class starts and only introduce them to all the concepts in a theory block and do some more coding in the second half.
Homework: Use $framework to extend your web app. Make it a bit more user interactive with buttons, forms or the like. As we still have no backend here, you can output to alert or something.
3. Create a minimal backend with $backendFramework. Only to have something which speaks with the frontend so you can create API calls going back and forth. Also create a DB, relational or not. Discuss DB schema/model and answer student questions.
Homework: Create a form which gets transformed into JSON and sent to the backend, backend stores the user information in the DB and should also provide a query to view the entry.
4. Introduce mobile apps. As it would probably too much to introduce them both to iOS and Android, something like React Native (or whatever the most popular platform-agnostic framework is then) may come in handy. Do the same as with the minimal web app and add the build artifacts to CI. Also talk about getting software to the app/play store (a common question) and signing apps.
Homework: Use the view API call from the backend to show the data on the mobile. Play around with the mobile project to display it in a nice way.
5. Introduction to refactoring (yes, really), if we are really talking about JS here, mention things like typescript, flow, elm, reason and everything with types which compiles to JS. Types make it so much easier to refactor growing codebases and imho everybody should use it.
Flowtype would make it probably easier to get gradually introduced in the already existing codebase (and it plays nice with react native) but I want to be abstract here, so that is just a suggestion (and 100% typed languages such as ELM or Reason have so much nicer errors).
Also discuss other helpful tools like linters, formatters.
Homework: Introduce types to all your API calls and some important functions.
6. Introduction to (unit) tests. Similar as above.
Homework: Write a unit test for your form.
(TBC)4 -
So, after having my mental breakdown with the 500k LoC Zend Frameshit PHFuck 5.5 with 0 test project, for a whole year; and after moving to a better job, I now inherited a React/Node/GraphQL project with a shitty architecture. It's so shit technical debt can almost be payed with actual cash... or flesh, ass-for-arch.
However, line test coverage is over 90%, so I guess it is an improvement.1 -
I have just been invited to a Technical Test Server for the game I currently play most, but I have some development in progress! God my life is full of hard choices!
Spoiler: I'm playing on the TTS right now :x -
This has annoyed me.
I sent my CV off to a company, they came back quite quickly and wanted to give me a phone interview. It had some technical questions, which I did well on and they gave me a test.
I liked the look of the company so I did the test asap, and passed the test.
They then invited me in for interview and all went find and dandy.
They then wanted me to come back in to met the rest of the team, so I thought things were going well.
Buy nope, they've emailed to say I wouldn't be a good fit right now, and have limited feedback. All throughout the process they seemed very keen, now I'm confused af.4 -
**random rant**
So next week I have a technical interview with TripleByte and I'm supposed to spent the next 2 days sorta preparing. Just woke up and had this thought tho:
What's the point? Yes I think I could try to get a better job but been trying for years (banking tech area) but now it feels like I'm at a "local optimum" sort of a sweet spot. Team/company could be smarter/more efficient but...
I've got my own place in a city that's also near NYC. It takes me 20 minutes to get to my current office, fairly flexible with the 9-5 work day, I can work remotely. I get enough money.
And then finding a new job === technical interviews about stuff you will rarely use and usually with no feedback like a pass-fail test where they only tell you if you pass or fail (and for me it always feels skewed towards fail the moment i walk since I'm deaf).
But at this point, I feel more like "you need to convince me to work for you". In my head, the plan is mostly to just have a nice chat and wing the technical questions just to see how good i am without any prep (i.e. poring thru Cracking the Coding Interview or Big O concepts, sorting...).2 -
After going through the regular process of talking to HR/Recruitment and passing the casual interview with a team-mate for cultural compatibility, I got the task of grilling a candidate on some technical matters. This being a PHP job, we got to talking about PSRs (PHP Standards Recommendations).
As he seemed to take pride in his knowledge of PSRs, I decided to focus more closely on that.
So we got to a recomendation regarding dependency injection containers. Nothing special, and he seemed to know his stuff. At that point, he made a statement that parts of that recommendation were a bit stupid.
Now, I hate to put people in their place, but his statement did not match what that specific PSR stated. So I gently tried to correct him. The candidate, being on fire thus far, pointed out that I should trust him on this, as he clearly knew his stuff.
Again, I didn't like having to do this, but I also did not like him having a misconception about a topic he was, otherwise, really on top of...
So I asked him to trust *me*, as I was one of the writers who contributed to the standard.
The true test here, of course, wasn't if he knew all the minutia of every standard but how he would react to being corrected.
We, as developers, are wrong all the time. Its how we learn and evolve. So being able to accept that is vital.
Sadly, he did not respond too well and sunk into a bit of a sullen silence. At first I though maybe I'd scared him or that he was afraid of having made a gaff but it soon turned out he genuinly did not like being wrong.
Sadly, I had to advise against hiring him.2 -
Email: "Thanks for applying to this position, after you complete this technical test, please let us know via email."
Me: Dude! I didn't even apply for that position, stop spamming 😒3 -
About 95% of developer jobs in my country are unevenly split between the administrative and commercial capitals, with an overwhelming majority favouring the commercial capital. I live in the administrative one. Any dev jobs outside both states pay a fraction of what is tenable
Not having much luck with my search, I reluctantly applied for this php role advertised in one of the other states. I wasn't even expecting them to write back cuz the pay is piss poor. it's on site, about 400km away. For some context the salary is 120k but the tfare to and from there is in the neighbourhood of 70 grand
Anyway, the employer wrote back to me on WhatsApp, sending a full stack sample project for me to complete in 36 hours, which frankly, I found pitiful and absurd. Call me entitled, Arrogant, etc. But I didn't anticipate a cv and github like mine, from a company requiring relocation from the capital for a paltry retainer, would demand I complete a sample project. For 120k ffs. I was already making more than that years ago when our inflation hadn't ballooned 30x over
I haven't been able to bring myself to start the project. Not like I know much else to do with my life, I just slipped into a catatonic state shortly after reading it. EVERYBODY I started software with a decade ago, is either outside the country now or earning too much fx to bother with departure. I'm not envious of them, just asking for something decent to get by or not live in penury. Comfortable enough to afford basics without breaking the bank
Shortly after leaving my last workplace, I made a dark joke that: the best ones who leave, get better jobs. The average ones are either retained or land similarly mediocre positions. But the truly incompetent employees wind up in the village, farming
One detail I left out is that this sample project guy is located in the same state as my hometown. In a sense, I made a self fulfilling prophecy
He's going to request I turn in my solution tomorrow but I might just come clean about his sample project catching me off guard. I did an assessment this morning for a coy advertising a senior developer role. 4 segments, not one single one technical /code. Just boring shits about OCEAN, time management, communication. I checked my results when I was done and saw I'd done a previous test with these same guys 5 months ago. I shockingly aced the topics back then but didn't get hired anyway
This time around, almost none of the scores ramped above 501 -
Started porting one application written in php to:
Golang(and some libraries to make certain sht simpler like GORM and Gorilla amongst a couple of others, most shit is STD shit already built in)
Java Spring(I know it well, but wanted to try this particular app in it, lots of boilerplate although the coded is solid AF)
.NET Core API, which I separated in a series of modules for the domain interface, the persistence logic, the actual api etc, I really dig it. It has a basic React frontend in Typescript whereas the other 2 versions are using the standard Go html/template package and the Twig interface for Spring.
My favorite thus far is Golang. I find it extremely easy to extend, the language reads good enough for a retard like myself to make sense of it fairly easy, really easy to test and experiment with it, any idea I get for something to add(say users and stuff) took me less than 30 mins to figure out while reading the actual documentation, as in the base documentation or just the source code.
I know the language is retard proof, and I am highly enjoying this. Not to say that the other two are bad, not at all, been using C# and Java for years now, but I highly appreciate being able to concentrate on functionality rather than all the fucking architectural boilerplate needed to run basic shit in the other two frameworks. Thus far Golang has been a breath of fresh air the likes Clojure gives me, while not even being a profound or mind blowing language in terms of features(since other than the interface{} and goroutines i can't think of shit) and have not reached a scenario in which I am stuck or dying to have generics one bit for the overall business logic.
The app is growing like crazy in terms of code since the original php application was huge to begin with, but dear me this shit is as simple as it can get without being too technical. Might move it to production once all usability tests pass and force the rest of the staff to learn it. I have one lead dev that damn near refuses to touch anything other than php, and a very eager to try shit out content administrator that comes from a Java and C# background.
all I want to say is how much I love go haha4 -
Last week I had an initial interview for a mid-senior C# position, and I got asked to do a technical test to check on my actual skills.
The problem is that the skills required to meet all the criteria in said test are far beyond my actual knowledge, so I'm 100% sure I'm going to fail the test.
Now, the question is, should I be honest with the person that's going to review whatever I manage to do, and tell them upfront that I've never done this or that? Should I even try to do it on the test, even if it's the first time I try to do some of the points mentioned on the criteria?
It's the first time this happens to me, and I'm tempted to just tell them I don't feel capable of completing it, and leave it there.10 -
Customer: The quality of the software you’re delivering is going down
Me: That’s because we’re developers, support, and spend all day on meetings without mentioning that deadlines are defined by you, not the technical team
Project Manager: I have added more members to the team so you can deliver faster
Me: That’s just slowing us down because this inherited code is shit, there’s no documentation and we’re always in a rush, without time for a proper ramp up
Customer: *throws money to our faces* I’ll remove two weeks to this delivery so we can test it better
Me: …1 -
Technical interview to solve a fairly simple problem. I proved that I am an idiot.
Really don't want to work for a company that doesn't test new hires well and hires idiots. Ironic :D10 -
I have an onsite technical interview test tomorrow. I have no clue what to expect as I have always done it online.
Should I expect it to be the same system but me just doing the online test in their offices 🙄?
NB: After the test I have an interview with the hiring manager.3 -
Heard nothing back from an interview I attended 3 weeks ago. I'm sure this sort of thing is common, but it's never happened to me before.
It's so shitty and unprofessional.
The interview was a joke anyway, bouncing between business questions (strictly non-technical, as I learned that one of the interviewers thought Bootstrap and JS were the same), a written test for a Junior (testing to see if you knew arrays started at 0), then random technical questions which didn't allow me to prove what I could actually do.
So what the fuck are you recruiting for here, a business person, Junior, Mid or Senior developer?!
Total fucking bullshit.
Surely the best way to test a candidate is to let them try to fix a recent bug from your app?
Annoying because I know I can do the job.
Fuck you and your shitty fucking questions. -
TL;DR: I should just stick to Python. I'm not touching front-end stuffs.
I got promoted to moderator of the subreddit of the game I play. Got greeted by a list of task involving tweaking the stylesheet (CSS). I said fine, I screwed around with CSS before I can screw with this again. So now I'm in charge of the whole op. Alone. Yay /s.
The objective is just dark-theme-ing the thing because white hurts (we all know that). So I fired up Firefox, made a test subreddit, cloned the whole stylesheet and sprites and started screwing around with my editor and Inspector Tool. And it hit me: One element refused to render (I don't if that's the correct technical term), and I don't even know why the fuck it didn't render. 15 minutes fuzzing through and it still gave a middle finger. Fine. Fuck you. Full revert, back to original. Then I changed the original sheet one change at a time, reloading after every changes. After changing everything, it suddenly work. What the fuck. Why the fuck. How the fuck. How the bloody fuck. How in the bloody fuck.
(""Fucks" per minute" sure is an effective measure of code quality)2 -
There was this tech guy in our project. I don't really know how techy nor what his role was, but I do know he was a techie.
Lately we'd noticed he was behaving more and more managerish. Orchestrating resources over slack, scheduling meetings, the managerial slang... Bulletpoints... It was obvious what's going to happen - he was striving for a manager's chair. Cool. He seemed like a guy who can indeed do this well. And the fact that he's a techie was promising - he should understand so many things.
Boy did that come around and bite us in our asses. Turns out this guy is a googler. If we are working on some case [as we always are] he jumps in and offers his opinion, although he is far from our technical area. We explain how/why it is not a good idea. Then he does some googling and comes back with a different idea! And insists on testing it out... FTR, a single test in our project could take from 1 to 6 hours. And he's a manager now!! We can't just ignore his requests...
Allright, we do that testing. Results are far from satisfying. We continue investigating. He does as well. We'd like to try something out, but there he comes with a new idea! And ofc we are asked to test it out as well.
Our own testing is postponed again.
A few days like this one pass by. In a daily meeting we are blamed for taking that long to do our investigation and we are questioned as engineers.
Superb...
Honestly? I'm having second thoughts about this new role. It's supposed to be fun and challenging and all, but this kind of shit is just too much...7 -
Been tasked with writing a simple Magento module as part of a technical test. It's doable but damn, it's a bit intimidating lol. Part of the test is rewriting the Core while I'm at it to display some extra stuff regarding this module.
Then I have another test after that. And who knows how many more with the rest of this week's interviews 😱1 -
This rant is about a company that I applied for through my college. There were 3 steps for selection
1- Aptitude test
2 -2 Technical Interviews
3 - HR Interview
30 Students cleared the first round and were asked to wait for interview call.
The interviews were planned a week after the test and during that week I fell ill, and still I somehow managed to go to the interview and due to being sick I wasn't able to speak clearly, I coughed whenever I tried to speak.
Still I managed to clear my first Interview because the Interviewer co-operated with me and was patient when I coughed while speaking.
But then came the second Interview, the interviewer here was such a dick that when I coughed I was asked why did I even come for Interview?
Whenever I coughed he was like don't waste my time hurry up.
I am really happy that I wasn't selected in that company because I won't work in a company where people don't even have the etiquettes for speaking with someone.
so at the end all I want to say is FUCK YOU CUNTS from *** labs2 -
Oddly enough, i have simultaneously been less busy and more productive since working 66% remotely.
I find myself with more time that feels "wasted" or not busy, but my metrics show that I have more production, better results, and far nicer documentation. A bunch of us also sat down and did a bunch of coursework on really putting together a domain script library for one click onboarding of new servers or new client setups. We spun up a bunch of new virtual environments that literally solved headaches that had existed for years that never got dealt with because of too many other tickets.
Some of our web clients freaked out at us because the business is moving away from doing maintenance of legacy web work (small to midsize businesses). But it didn't matter. Rather than respond with a "make them happy," the response was "well, we will get rid of them as clients. We need to focus our energy on the essential service sectors we support."
Hell, we even got an automated test that has been broken apparently since 2018 to work again.
Granted, the incoming workload has slowed down. But it's still interesting to me to see that despite the slowdown, there isn't any concern; its still paying the bills and we are getting rid of technical debt everywhere. Tbh, this has really been a good reality check.1 -
So... I just got to the next fase where I'm being asked to do a technical test. What they ask is for me to develop an Android App with 4 different tabs:
- First tab I need to receive data from a github url, parse it and show it on a recyclerview, save it on a database, and be able to search it.
- Second tab has to show 50 elements in a recyclerview, with a header that has to fill the entire screen and when the user scrolls down, the image has to fix to the top of the screen, and never go back when you scroll up.
and two more exercises with variations but almost same difficulty.
..... to deliver at 10 a.m at the 26th of October.
......It was 07:00 p.m when I got the email
FUCK MY LIFEundefined i'm so fucked fml always gonna let me down never gonna get this job never gonna run around and change jobs -
How unlucky and annoyed the guy would be who cleared 4 technical rounds including a fucking technical test and gets rejected in the useless HR interview.3
-
rent / question (there is a question at the end and I'd appreciate your opinion)
8 months ago, I agreed to help a not too distant relative of mine to do his master thesis at the company where I work. He was supposed to build something really MVP, but useful for us and I'd help him get some scientific questions out of it, and provide him with (computing) resources to test his theories / implementations under simulated and much heavier load.
Since then, he didn't get done anything even remotely useful, always just stuck on very rudimentary issues, claimed things are almost ready, I wrote a quick smoke test to prove that the whole application blows up when you touch it, in short - a disaster and went over to radio silence.
In the meanwhile, we didn't need it anymore, so 1.5 months ago, I got in touch with him again, with an even more technical proposal, something, at least I'd think, that's even cooler to do. He asked me some question about hypothetical load, the system should be able to handle eventually, to come up with alternative implementations to compare them against each other. He said that his exam period is going to be over soon and he'll get back to me with some initial version.
2 weeks ago, I got back in touch with him, trying to urge him, to get finally started and get something done. If he'd actually sit down and do it during the holidays as a "full time job", he'd be probably done in 2 weeks. Last week, he came back to me and said he has an initial PR ready to review.
I was excited about it, but basically froze when I realized what he did. He deleted all his previous work - some infrastructure stuff which took us basically 3 months of back and forth to get running - and as far as I could see, all the new code were only auto generated clients based on a swagger specification. In short - I could do it in less then an hour. If you really have no idea what you're doing, it might take you half a day, but definitely nowhere near to a week.
His brother, which a good friend of mine, thinks I'm being too hard on him. His argument was, that it's too hard, and he has to do it in C#, but he only knows Java (I gave him access to some of our repositories to copy paste code together, he didn't need to invent anything. I also prefer C# but wrote my master thesis in Java) Personally, I'm just pissed because he promises stuff that he never does. I totally understand him - I was like that as a student as well, I guess karma is a ... but still, he's wasting my time.
Right now I'm thinking how to get out of this, without having even more time wasted. I doubt he'd ever deliver anything useful. He got plenty of input from me about what he could consider for his scientific question, how to measure performance, ... He can keep his credentials to access our test environment with the test data, but I won't give him access to any additional computing resources, to compare how his solutions might scale on our company's cost. (mainly it's not the money, but I'd have to provide that stuff, and probably help him set it up)
does it sound like a fair deal (saying, I'm done with you. You can finish your topic on your own, but don't expect any help from me)? or am I being a dick about it and too demanding?1 -
Any of you are annoyed by your non-technical manager work practices?
Every release I feel like our manager's goal is to have our planning and results look good in front of higher management, no matter if it is true or not.
Oh this big task could not be done because we had to plan 4 months in advance with no info and poorly done requirements? Well let's just push it to the next release we can't have unfinished tasks logged in.
Oh we don't have time to work on tech debt and refactoring, there are too many features and bugfixes to do. Well maybe that is why there are so many bugs, eh?
Oh your automated test results need to all look perfect, does not matter if your test are even good or actually doing anything in the first place, as long as it passes.
Also, I was promised agile and got a waterfall-like bullshit process instead that barely works.
Anyways just morning rambling.1 -
Current task: take a word document of test cases and turn them into code.
My issue with this: the document appears to have been written by a drunk 10 year old with no knowledge of the system or development in general.
Half of the English makes no sense in the document, let alone the technical points.
My favorite mistake that is all over this document, "this will not cause an error but will reboot the system" they're the same thing in our context, raising the error reboots the system.
I want to cry. -
Hey guys, first time writing here.
Around 8 months ago I joined a local company, developing enterprise web apps. First time for me working in a "real" programming job: I've been making a living from little freelance projects, personal apps and private programming lessons for the past 10 years, while on the side I chased the indie game dev dream, with little success. Then, one day, realized I needed to confront myself with the reality of 'standard' business, where the majority of people work, or risk growing too old to find a stable job.
I was kinda excited at first, looking forward to learning from experienced professionals in a long-standing company that has been around for decades. In the past years I coded almost 100% solo, so I really wanted to learn some solid team practices, refine my automated testing skills, and so on. Also, good pay, flexible hours and team is cool.
Then... I actually went there.
At first, I thought it was me. I thought I couldn't understand the code because I was used reading only mine.
I thought that it was me, not knowing well enough the quirks of web development to understand how things worked.
I though I was too lazy - it was shocking to see how hard those guys worked: I saw one guy once who was basically coding with one hand, answering a mail with another, all while doing some technical assistance on the phone.
Then I started to realize.
All projects are a disorganized mess, not only the legacy ones - actually the "green" products are quite worse.
Dependency injection hell: it seems like half of the code has been written by a DI fanatic and the other half by an assembly nostalgic who doesn't really like this new hippy thing called "functions".
Architecture is so messed up there are methods several THOUSANDS of lines long, and for the love of god most people on the team don't really even know WHAT those methods are for, but they're so intertwined with the rest of the codebase no one ever dares to touch them.
No automated test whatsoever, and because of the aforementioned DI hell, it's freaking hard to configure a testing environment (I've been trying for two days during my days off, with almost no success).
Of course documentation is completely absent, specifications are spread around hundreds of mails and opaquely named files thrown around personal shared folders, remote archives, etc.
So I rolled my sleeves up and started crunching as the rest of the team. I tried to follow the boy-scout rule, when the time and scope allowed. But god, it's hard. I'm tired as fuck, I miss working on my projects, or at least something that's not a complete madness. And it's unbearable to manually validate everything (hundreds of edge cases) by hand.
And the rest of the team acts like it's all normal. They look so at ease in this mess. It's like seeing someone quietly sitting inside a house on fire doing their stuff like nothing special is going on.
Please tell me it's not this way everywhere. I want out of this. I also feel like I'm "spoiled", and I should just do like the others and accept the depressing reality of working with all of this. But inside me I don't want to. I developed a taste for clean, easy maintainable code and I don't want to give it up.3 -
!rant
[Update on previous rant at the bottom]
So I had the technical test last friday. I did not try to implement any automated test as it is not my forte.
I had three hours to showcase my knowledge of data structures and OOP so I did that.
The test was somewhat long actually, so I left out one part that I did not have time to implement: validation of input files.
Today I got feedback, everything went well, they liked my code and I only got two negatives: Error handling and automated tests xD
Now I'm going to the second phase: phone interviews and they are gonna asks the whys of my implementation.
I'll have to explain why I did not implement automated tests and the girl on the phone told me "they didn't like it much that you had no tests because tests are very important for us".
I guess I'll have to come clean and say that I'm not very strong on that but willing to learn, so I didn't want to risk it doing something I'm not really good at.
I hope it ends up well.
prev rant:
https://devrant.com/rants/1607302/...4 -
Some had teased me a bit on my previous meme so let me tell my anecdote...
I have to tell you a rather funny anecdote that happened to me during a job interview..
To put you in context, I am a front/back developer and the language where I perform best is JS. I started learning JS at an early age during an open source project to make animations on websites then I also quickly moved to the backend using NodeJS. I gained a lot of experience by going to small start-ups and this time if I wanted to try my luck on big companies in the field of video games.
So I wanted to present some projects to my interlocutor who seemed to be someone with an important position in the company, about 26 years old and we talked about the JS language. I showed him all my projects including those where I was doing free/open source and also in the field of video games such as volunteering like the back off https://mylolmmr.com And suddenly he called out to me and said "JS is not a real language".
I must confess that I was quite disturbed by his assertion and did not understand his condescension or his belittlement. This mind...
Especially since I find it extremely misleading to say that the JS language is not a real language when you know its advantages and disadvantages, but I did not dare to express myself on this subject and we continued the interviews, even though he saw that it bothered me.
The funny thing is that once the interview is over and I decide to go home and I receive a call from the company in question who wanted me to take a technical test telling me that the oral interview was successful...
I reassure you right away, I refused.. For a question of salary which was extremely low and obviously the bad experience with this famous director.3 -
I'm tired. I don't want to do these tests anymore. These vague test scenarios I have to decrypt on my own lest asking business shows signs of weakness. I'm slow to test and going way beyond the hours the client estimated and you folks just accepted. How can I finish this when I get pulled to meetings which I am not the decision maker but I'm supposed to be the technical one to help them decide. In between this testing I get emails to help check on issues I'm not even a part of. Production issues I can understand because those have a feel of critical and priority but if you pull me to that I lose time testing. I'm trying. But I'm truly very slow at this. I'm a slow tester for this set of test cases. I'm hating myself every minute as the hours inch to the deadline which is today. I want to sleep but I want to finish as well. Shitty days of drone work that could have been given to somebody else but I can't say no to because you guys accepted. Someone from management just see please, don't give this to me. But you can't see. You probably don't even understand. They asked, you caved because you can't see the list of tasks and level of detail that comes with each thing they ask. This testing is a ridiculous use of my time but I can't say that to the client. You could have. I want to. I truly want to say "Fuck these tests". I tried to push back. But the client of course reasoned back and it was understandable to ask. To do what's good and what's best. How can I say no to that?! I'm almost depleted. I'll just finish this somehow.
-
Job Interviews and technical tests...
Why when interviewing for full stack Angular(typescript ) / C# do they expect devs to be as good at C# as a 100% dedicated C# dev.
Why do they expect them to be as good as a 100% dedicated jQuery/pure javascript dev when 50% of the job is for Angular/typescript. WTF?
Full stack devs typically are constantly jumping around between tech stacks so they're always "working it out"
You hire a generalist because you want a generalist. Don't interview and test them like they're 2 specialists combined into 1.2 -
Application process:
Interview with internal recruiter
Coding test that doesn't even remotely resemble real world problems
Technical phone screen
Phone call with vp of engineering
More "formal" technical screen
In person interview
FFS, either you want me or you don't. Stop wasting my time. -
Having a lot of bad experiences while working as intern in startups and about to join a MNC, i wanted to share my work life balance and technical demands that i expect from a company. These are going to be my list of checkpoints that i look forward , let me know which of them are way too unrealistic. also add some of yours if i missed anything :
Work life balance demands ( As a fresher, i am just looking forward for 1a, 2a and 8, but as my experience and expertise grows, i am looking forward for all 10. Would i be right to expect them? ):
1a 8 hr/day. 1b 9h/day
2a 5days/week. 2b 6 days/week
3 work from home (if am not working on something that requires my office presence)
4 get out of office whenever i feel like i am done for the day
5 near to home/ office cab service
6 office food/gym service
7 mac book for working
8 2-4 paid leaves/month
9 paid overtime/work on a holiday
10.. visa sponsorship if outside india
Tech Demands (most of them would be gone when i am ready to loose my "fresher " tag, but during my time in internship, training i always wished if things happened this way):
1. I want to work as a fresher first, and fresher means a guy who will be doing more non tech works at first than going straight for code. For eg, if someone hires me in the app dev team, my first week task should be documenting the whole app code / piece of it and making the test cases, so that i can understand the environment/ the knowledge needed to work on it
2. Again before coding the real meaningful stuff for the main product, i feel i should be made to prepare for the libraries ,frameworks,etc used in the product. For eg if i don't know how a particular library ( say data binding) used in the app, i should be asked to make a mini project in 1-2 days using all the important aspects of data binding used in the project, to learn about it. The number of mini tasks and time to complete them should be given adequately , as it is only going to benefit the company once am proficient in that tech
3. Be specific in your tasks for the fresher. You don't want a half knowledgeable fresher/intern think on its own diverging from your main vision and coding it wrong. And the fresher is definitely not wrong for doing so , if you were vague on the first place.
4. most important. even when am saying am proficient , don't just take my word for it. FUCKIN REVIEW MY CODE!! Personally, I am a person who does a lot of testing on his code. Once i gave it to you, i believe that it has no possible issues and it would work in all possible cases. But if it isn't working then you should sit with me and we 2 should be looking, disccussing and debugging code, and not just me looking at the code repeatedly.
4. Don't be too hard on fresher for not doing it right. Sometimes the fresher might haven't researched so much , or you didn't told him the exact instructions but that doesn't mean you have the right to humiliate him or pressurize him
5. Let multiple people work on a same project. Sometimes its just not possible but whenever it is, as a senior one must let multiple freshers work on the same project. This gives a sense of mutual understanding and responsibility to them, they learn how to collaborate. Plus it reduces the burden/stress on a single guy and you will be eventually getting a better product faster
Am i wrong to demand those things? Would any company ever provide a learning and working environment the way i fantasize?3 -
Hey! Just curious, is it normal that a technical test/challenge takes me more than a day to do?
I have been interviewed for a front-end role, and was given a react challenge. They said that it shouldn't take more than 2 hours ('hopefully' is what they added at the end). But i've been doing this challenge for a day now and it's only 60-70% done.
It's not complicated, and I do know how to do it, and, even, do it properly, it just takes a lot of time for me to code, i.e. develop components, change webpack when needed, read react materialize-ui (css framework) docs, then destructure json response from the api they provided and put this information on a page, then try to compile to the right format (they want single .html element with inline js and css as a deliverable).
So my question is, am I shit or is it unreasonable for a company to ask do so much coding or a little bit of both?
What's your experience usually when looking for a job in 'hip' and 'cool' startups?4 -
So... I have a technical test today (in 7 hours) as part of a job interview. I have a lot of experience in Java but none in TDD or test automation.
I'm pretty sure they use TDD, so they'll probably value it in my review.
Should I try to learn some TDD in the next two hours and apply it in my technical test?
or Should I not, avoiding messing all up and go with my tools and skills totally honest?5 -
As part of a technical test, I've been asked to test and report bugs in the production application of the company. Is that normal? Or are they making me do free work for them?.
So far I've only seen challenges like this to be done on a custom application for test.7 -
Working on a test assignment for an interview with a company. There's a time limit of 3 days and I absolutely hate how quickly I have to do everything (I don't have much free time because of some family obligations). I'm just copying stuff from a tutorial because I find it very difficult to start projects from scratch. Analysis paralysis gets in the way. I'll be hired as a senior so people will expect me to make technical decisions all the time and this scares me but I'm greedy and I like the extra money. Part of me wishes I could find a junior job and just work on very basic stuff.
-
Job Interview Help!
Hi Devs! Applying for a junior front end developer job here and have been called by a recruiter. He's explained he will:
"be asking some technical questions, so it might be worth a quick bit of revision on your JavaScript knowledge and terms!"
Has anyone come across these before and what level of knowledge would I be expected to know for a junior role?
I'm going to do the test either way as it'll be great experience but a bit of prep is always good! -
Somebody: (whinwy) we need something to log into nonprivileged technical accounts without our rootssh proxy. We want this pammodule pam_X.so
me: this stuff is old (-2013) and i can't find any source for it. How about using SSSD with libsss_sudo? Its an modern solution which would allow this with an advantage of using the existing infrastructure.
somebody: NO I WANT THIS MODULE.
me: ok i have it packaged under this name. Could you please test it by manipulating the pam config?
Somebody: WHAT WHY DO I NEED TO MANIPULATE THE PAMCONFIG?
me: because another package on our servers already manipulates the config and i don't want to create trouble by manipulate it.
Somebody: why are we discussing this. I said clearly what we need and we need it NOW.
we have an package that changes the pam config to our needs, we are starting to roll out the config via ansible, but we still use configuration packages on many servers
For authentication as root we use cyberark for logging the ssh sessions.
The older solution allowed additionally the login into non-rootaccounts, but it is shut down in the next few weeks after over half an year of both systems active and over half an year with the information that the login into non-privileged accounts will be no more.7 -
It started when life caught me off guard. It was one of those transition moment when you realized you are no longer a college student and you need to get a job.
I was clueless that time (still clueless - smh) that I didn't prepare my CV nor interviews. I got into panic mode and ask help from career service in my college (I rarely ask for help, and when I did that, I am really desperate).
Long story short, I got a job from the career service's connection. I don't think I did well in both the interview and technical test (of course, no prep or whatsoever, what do you expect?) but seems like we both in need of each other (maybe because my grades when I was in college is good... and maybe because my starting salary is low enough... and maybe because there was no better candidate at that moment) that I get picked.3 -
Is HackerRank a good site to prepare for technical interviews? And I guess the general question is how to best prepare?
The problems are interesting but it seems most of the Medium+ ones require knowledge of a specific approach or the large test cases will terminate with timeouts or out of memory.
Been sitting on this for a week. Just implemented the recursive versionwhich is better but now times out.
https://hackerrank.com/challenges/...6 -
Got a technical test coming up for a job. Had never been asked to do one before so I don't know what to expect 😅
(test at home and no time limit by the way so that's less pressure I guess) -
My previous job was Engineer ( Ops part of DevOps), supporting the devs with VMs, configurations, dev and test environments, CI maintenance, DBA, DB-dev and such, it was sexy.
In my current company, I have no technical role, but today's task: build a small webpage in sharepoint in HTML.
And the perv part is: it's still bettet than having no Technical task at all...2 -
So, I’m currently a software tester (please don’t hate me) who is looking to move into development. I’ve been teaching myself programming and have been applying for junior dev jobs.
But it’s been tough, places I’ve been applying for want candidates who have had at least 1 year experience developing in a previous role.
I’ve had an interview for a junior role, but they wanted someone with more experience (and it was my first technical interview so I may have made a few mistakes)
I don’t want to be testing software manually forever (seriously, the manual regression test pack where I work is 1000+ test cases), I find programming more interesting and fun.
What can I do devRant?
Onwards and upwards with the applications. 👍4 -
The following piece of advice will be for those aspiring for an IT service desk position:
When companies are looking to hire service desk agents, they're primarily looking for socially skilled people with strong communicative skills, rather than primarily technically skilled people. When I first joined the IT world, I went on different interviews for that position and across all of them there was one truth: all the interviewers were eyeballs-focused on my social and communication skills and a mere thin layer of technical skills was required (depending on how technical the service desk). In fact, I immediately got aggressively dismissed twice for two of those when I filled in a Myers-Briggs personality test according to my Sheldon-type personality (selfish, condescending etc). Conversely, when I applied for a new position and I faked that test into answering everything focused positively on the social aspect, I was an immediate top candidate.
Here's a definition from the ITIL Foundation course, chapter Service Management: Because of how lateral the function of the service desk has become today (not only used to solve technical issues, but also company-wide issues), the most important and valued skills when hiring a service desk agent are fully focused on empathy and soft skills and none of those are technical skills. This is because the service desk has people that are the front window of your company and thus you can't make social mistakes as to protect your company's reputation. That risk has to be minimized and you need the ideal people. The people who in fact solve the technical problems are behind a back-office and they are contacted by the service desk agents.
In the beginning, when I did my first service desk job, I also thought: "Oh, I'm going to have to convince them I'm this technical wizard". In the end I got hired for being able to explain technology in human language and because in the interview I successfully communicated and explained ideas to both the team manager and the CEO, not because I knew what goes on inside a computer. This is a very important distinction.
My friends have also been in service desk positions and ironically they were the most successful when they were empathetic slimeballs (saying: "of course, anything for you" while not meaning it, constantly making jokes), rather than people with integrity (those got fired for telling the customer they were wrong while being unfriendly).
I hope this helps.8 -
Need advice about switching to contracting.
TL;DR;
So I had 2 years of exp as an android dev, then I had a 1.5 year gap from doing android and now for the past 6 months Ive been doing android again fulltime. Im thinking of switching to contracting due to my debts and boring project and life crushing slow corporate processes in my current fulltime job, so I need tips and advices as to where should I start looking for new contracting gigs and in general what should I pay attention to. If it helps, I am based in EU, but am open to any EU/US gigs.
Now the full story:
Initially when I joined my current fulltime job after a break I had zero confidence, lowered my and employers expectations, joined as a junior but quickly picked up the latest standards and crushed it. Im doing better than half devs in my scrum team right now and would consider myself to be a mid level right now.
Asked for a 50% bump, manager kinda okayed it but the HQ overseas is taking a very long time to give me the actual bump. I have been waiting for 10 weeks already (lots of people in the decision chain were on and off vacations due to summer, also I guess manager sent this request to HQ too late, go figure). Anyways its becoming unnaceptable and I feel like its time for a change.
Now since I have mortgage and bills to pay, even with the bump that I requested that would leave me with like maximum 700-800 bucks a month after all expenses. I have debts of around 20k and paying them back at this rate would take 3 years at least and sounds like a not viable plan at all.
Also it does not help that the project Im working on is full of legacy and Im not learning anything new here. Corporate life seems to be very slow, lots of red tape kills creativity and so on. I remember in startups I was cooking features left and right each sprint, in here deploying a simple popup feature sometimes takes weeks due to incompetence in the chain. I miss the times where I worked in startups, did my job learned nre skills and after 6 months could jump on another exciting gig. Im not growing here anymore.
So because my ADD brain seems to be suited much better for working in startups, and also I need to make more money quick and I dont see a future in current company, I am thinking of going back to contracting. All I need right now is to build a few side apps, get them reviewed by seniors and fill my knowledge gaps. Then I plan of starting interviewing as a mid level or even a senior for that matter, since I worked with actual seniors and to be honest I dont think getting up to their level would be rocket science.
Only difference between mid and senior devs that I see atleast in my current company is that seniors are taking on responsibility more often, and they also take care of our tools, such as CD/CI, pipeline scripts, linters and etc. Usually seniors are the ones who do the research/investigations and then come up with actual tasks/stories for mids/juniors. Also seniors introduce new dependencies and update our stack, solve some performance issues and address bottlenecks and technical debt. I dont think its rocket science, also Ive been the sole dev responsible for apps in the past and always did decent work. Turns out all I needed was to test myself in an environment full of other devs, thats it. My only bottleneck was the imposter syndrome because I was a self taught dev who worked most of my career alone.
Anyways I posted here asking for some tips and advices on how to begin my search for new contract opportunities. I am living in EU, can you give me some decent sites where I could just start applying? Also I would appreciate any other tips opinions and feedback. Thanks!3 -
A friend of mine gone through 6 interviews, 2 Technical Interviews with tests, 1 personality test, the overall of all of this process was positive . As the recruiter feedback of each step of the recruitment process.
Yet they didn't hire him because they wanted a "Senior senior" as they said.
What does that mean ?
(he already has 6 years of experience and a bachelor's degree. The job is based in holland)5