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 - "code challenge"
-
"You gave us bad code! We ran it and now production is DOWN! Join this bridgeline now and help us fix this!"
So, as the author of the code in question, I join the bridge... And what happens next, I will simply never forget.
First, a little backstory... Another team within our company needed some vendor client software installed and maintained across the enterprise. Multiple OSes (Linux, AIX, Solaris, HPUX, etc.), so packaging and consistent update methods were a a challenge. I wrote an entire set of utilities to install, update and generally maintain the software; intending all the time that this other team would eventually own the process and code. With this in mind, I wrote extensive documentation, and conducted a formal turnover / training season with the other team.
So, fast forward to when the other team now owns my code, has been trained on how to use it, including (perhaps most importantly) how to send out updates when the vendor released upgrades to the agent software.
Now, this other team had the responsibility of releasing their first update since I gave them the process. Very simple upgrade process, already fully automated. What could have gone so horribly wrong? Did something the vendor supplied break their client?
I asked for the log files from the upgrade process. They sent them, and they looked... wrong. Very, very wrong.
Did you run the code I gave you to do this update?
"Yes, your code is broken - fix it! Production is down! Rabble, rabble, rabble!"
So, I go into our code management tool and review the _actual_ script they ran. Sure enough, it is my code... But something is very wrong.
More than 2/3rds of my code... has been commented out. The code is "there"... but has been commented out so it is not being executed. WT-actual-F?!
I question this on the bridge line. Silence. I insist someone explain what is going on. Is this a joke? Is this some kind of work version of candid camera?
Finally someone breaks the silence and explains.
And this, my friends, is the part I will never forget.
"We wanted to look through your code before we ran the update. When we looked at it, there was some stuff we didn't understand, so we commented that stuff out."
You... you didn't... understand... my some of the code... so you... you didn't ask me about it... you didn't try to actually figure out what it did... you... commented it OUT?!
"Right, we figured it was better to only run the parts we understood... But now we ran it and everything is broken and you need to fix your code."
I cannot repeat the things I said next, even here on devRant. Let's just say that call did not go well.
So, lesson learned? If you don't know what some code does? Just comment that shit out. Then blame the original author when it doesn't work.
You just cannot make this kind of stuff up.105 -
Interviewer: Welcome, Mr X. Thanks for dropping by. We like to keep our interviews informal. And even though I have all the power here, and you are nothing but a cretin, let’s pretend we are going to have fun here.
Mr X: Sure, man, whatever.
I: Let’s start with the technical stuff, shall we? Do you know what a linked list is?
X: (Tells what it is).
I: Great. Can you tell me where linked lists are used?
X:: Sure. In interview questions.
I: What?
X: The only time linked lists come up is in interview questions.
I:: That’s not true. They have lots of real world applications. Like, like…. (fumbles)
X:: Like to implement memory allocation in operating systems. But you don’t sell operating systems, do you?
I:: Well… moving on. Do you know what the Big O notation is?
X: Sure. It’s another thing used only in interviews.
I: What?! Not true at all. What if you want to sort a billion records a minute, like Google has to?
X: But you are not Google, are you? You are hiring me to work with 5 year old PHP code, and most of the tasks will be hacking HTML/CSS. Why don’t you ask me something I will actually be doing?
I: (Getting a bit frustrated) Fine. How would you do FooBar in version X of PHP?
X: I would, er, Google that.
I: And how do you call library ABC in PHP?
X: Google?
I: (shocked) OMG. You mean you don’t remember all the 97 million PHP functions, and have to actually Google stuff? What if the Internet goes down?
X: Does it? We’re in the 1st world, aren’t we?
I: Tut, tut. Kids these days. Anyway,looking at your resume, we need at least 7 years of ReactJS. You don’t have that.
X: That’s great, because React came out last year.
I: Excuses, excuses. Let’s ask some lateral thinking questions. How would you go about finding how many piano tuners there are in San Francisco?
X: 37.
I: What?!
X: 37. I googled before coming here. Also Googled other puzzle questions. You can fit 7,895,345 balls in a Boeing 747. Manholes covers are round because that is the shape that won’t fall in. You ask the guard what the other guard would say. You then take the fox across the bridge first, and eat the chicken. As for how to move Mount Fuji, you tell it a sad story.
I: Ooooooooookkkkkaaaayyyyyyy. Right, tell me a bit about yourself.
X: Everything is there in the resume.
I: I mean other than that. What sort of a person are you? What are your hobbies?
X: Japanese culture.
I: Interesting. What specifically?
X: Hentai.
I: What’s hentai?
X: It’s an televised art form.
I: Ok. Now, can you give me an example of a time when you were really challenged?
X: Well, just the other day, a few pennies from my pocket fell behind the sofa. Took me an hour to take them out. Boy was it challenging.
I: I meant technical challenge.
X: I once spent 10 hours installing Windows 10 on a Mac.
I: Why did you do that?
X: I had nothing better to do.
I: Why did you decide to apply to us?
X: The voices in my head told me.
I: What?
X: You advertised a job, so I applied.
I: And why do you want to change your job?
X: Money, baby!
I: (shocked)
X: I mean, I am looking for more lateral changes in a fast moving cloud connected social media agile web 2.0 company.
I: Great. That’s the answer we were looking for. What do you feel about constant overtime?
X: I don’t know. What do you feel about overtime pay?
I: What is your biggest weakness?
X: Kryptonite. Also, ice cream.
I: What are your salary expectations?
X: A million dollars a year, three months paid vacation on the beach, stock options, the lot. Failing that, whatever you have.
I: Great. Any questions for me?
X: No.
I: No? You are supposed to ask me a question, to impress me with your knowledge. I’ll ask you one. Where do you see yourself in 5 years?
X: Doing your job, minus the stupid questions.
I: Get out. Don’t call us, we’ll call you.
All Credit to:
http://pythonforengineers.com/the-p...89 -
Got this from a recruiter:
We are looking for a **Senior Android Developer/Lead** at Philadelphia PA
Hiring Mode: Contract
Must have skills:
· 10-12 years mobile experience in developing Android applications
· Solid understanding of Android SDK on frameworks such as: UIKit, CoreData, CoreFoundation, Network Programming, etc.
· Good Knowledge on REST Ful API and JSON Parsing
· Good knowledge on multi-threaded environment and grand central dispatch
· Advanced object-oriented programming and knowledge of design patterns
· Ability to write clean, well-documented, object-oriented code
· Ability to work independently
· Experience with Agile Driven Development
· Up to date with the latest mobile technology and development trends
· Passion for software development- embracing every challenge with a drive to solve it
· Engaging communication skills
My response:
I am terribly sorry but I am completely not interested in working for anyone who might think that this is a job description for an Android engineer.
1. Android was released in September 2008 so finding anyone with 10 years experience now would have to be a Google engineer.
2. UIKit, CoreData, CoreFoundation are all iOS frameworks
3. Grand Central Dispatch is an iOS mechanism for multithreading and is not in Android
4. There are JSON parsing frameworks, no one does that by hand anymore
Please delete me from your emailing list.49 -
This is more just a note for younger and less experienced devs out there...
I've been doing this for around 25 years professionally, and about 15 years more generally beyond that. I've seen a lot and done a lot, many things most developers never will: built my own OS (nothing especially amazing, but still), created my own language and compiler for it, created multiple web frameworks and UI toolkits from scratch before those things were common like they are today. I've had eleven technical books published, along with some articles. I've done interviews and speaking engagements at various user groups, meetups and conferences. I've taught classes on programming. On the job, I'm the guy that others often come to when they have a difficult problem they are having trouble solving because I seem to them to usually have the answer, or at least a gut feel that gets them on the right track. To be blunt, I've probably forgotten more about CS than a lot of devs will ever know and it's all just a natural consequence of doing this for so long.
I don't say any of this to try and impress anyone, I really don't... I say it only so that there's some weight behind what I say next:
Almost every day I feel like I'm not good enough. Sometimes, I face a challenge that feels like it might be the one that finally breaks me. I often feel like I don't have a clue what to do next. My head bangs against the wall as much as anyone and I do my fair share of yelling and screaming out of frustration. I beat myself up for every little mistake, and I make plenty.
Imposter syndrome is very real and it never truly goes away no matter what successes you've had and you have to fight the urge to feel shame when things aren't going well because you're not alone in those feelings and they can destroy even the best of us. I suppose the Torvald's and Carmack's of the world possibly don't experience it, but us mere mortals do and we probably always will - at least, I'm still waiting for it to go away!
Remember that what we do is intrinsically hard. What we do is something not everyone can do, contrary to all the "anyone can code" things people do. In some ways, it's unnatural even! Therefore, we shouldn't expect to not face tough days, and being human, the stress of those days gets to us all and causes us to doubt ourselves in a very insidious way.
But, it's okay. You're not alone. Hang in there and go easy on yourself! You'll only ever truly fail if you give up.32 -
This was at a hackathon which my study organises yearly. It's a 24 hours challenge and you've got to work in teams. It's always from 12 (noon) to 12 (noon the other day).
Another group of programmers was pulling their hair out because of their code not working, it kept crashing and they didn't see it after more than an hour (half of the team had difficulties with keeping their eyes open and it was about 3-4am so we were already programming nearly non stop for about 15-16 hours).
Walked by and offered to take a look:
"YES PLEASE FUCKING HELP"
Took a look and about two seconds later:
"oh you're missing a hashtag there *points*"
All programmers at once: MOTHERFUCKER! (or in Dutch: GODVERDOMME!) (motherfucker contextualizes the situation better imo)
I think I made their entire hackathon at that moment 😊25 -
I tutor people who want to program, I don't ask anything for it, money wise, if they use my house as a learning space I may ask them to bring cookies or a pizza or something but on the whole I do it to help others learn who want to.
Now this in of itself is perfectly fine, I don't get financially screwed over or anything, but...
Fuck me if some students are horrendous!
To the best of my knowledge I've agreed to work with and help seven individuals, four female three male.
One male student never once began the study work and just repeatedly offered excuses and wanted to talk to me about how he'd screwed his life up. I mean that's unfortunate, but I'm not a people person, I don't really feel emotionally engaged with a relative stranger who quite openly admits they got addicted to porn and wasted two years furiously masturbating. Which is WAY more than I needed to know and made me more than a little uncomfortable. Ultimately lack of actually even starting the basic exercises I blocked him and stopped wasting my time.
The second dude I spoke to for exactly 48 hours before he wanted to smash my face in. Now, he was Indian (the geographical India not native American) and this is important, because he was a friend of a friend and I agreed to tutor however he was more interested in telling me how the Brits owed India reparations, which, being Scottish, I felt if anyone was owed reparations first, it's us, which he didn't take kindly too (something about the phrase "we've been fucked, longer and harder than you ever were and we don't demand reparations" didn't endear me any).
But again likewise, he wanted to talk about politics and proving he was a someone "I've been threatened in very real world ways, by some really bad people" didn't impress me, and I demonstrated my disinterest with "and I was set on fire once cos the college kids didn't like me".
He wouldn't practice, was constantly interested in bigging himself up, he was aggressive, confrontational and condescending, so I told him he was a dick, I wasn't interested in helping him and he can help himself. Last I heard he wasn't in the country anymore.
The third guy... Absolute waste of time... We were in the same computer science college class, I went to university and did more, he dossed around and a few years later went into design and found he wanted to program and got in touch. He completes the code schools courses and understandably doesn't quite know what to do next, so he asks a few questions and declares he wants to learn full stack web development. Quickly. I say it isn't easy especially if it's your first real project but if one is determined, it isn't impossible.
This guy was 30 and wanted to retire at 35 and so time was of the essence. I'm up for the challenge, and so because he only knows JavaScript (including prototypes, callbacks and events) I tell him about nodejs and explain that it's a little more tricky but it does mean he can learn all the basis without learning another language.
About six months of sporadic development where I send him exercises and quizzes to try, more often than not he'd answer with "I don't know" after me repeatedly saying "if you don't know, type the program out and study what it does then try to see why!".
The excuses became predicable, couldn't study, playing soccer, couldn't study watching bake off, couldn't study, couldn't study.
Eventually he buys a book on the mean stack and I agree to go through it chapter by chapter with him, and on one particular chapter where I'm trying to help him, he keeps interrupting with "so could I apply for this job?" "What about this job?" And it's getting frustrating cos I'm trying to hold my code and his in my head and come up with a real world analogy to explain a concept and he finally interrupts with "would your company take me on?"
I'm done.
"Do you want the honest unabridged truth?"
"Yes, I'd really like to know what I need to do!"
"You are learning JavaScript, and trying to also learn computer science techniques and terms all at the same time. Frankly, to the industry, you know nothing. A C developer with a PHD was interviewed and upon leaving the office was made a laughing stock of because he seemed to not know the difference between pass by value and pass by reference. You'd be laughed right out the building because as of right now, you know nothing. You don't. Now how you respond to this critique is your choice, you can either admit what I'm saying is true and put some fucking effort into studying cos I'm putting more effort into teaching than you are studying, or you can take what I'm saying as a full on attack, give up and think of me as the bad guy. Your choice, if you are ready to really study, you can text me in the morning for now I'm going to bed."
The next day I got a text "I was thinking about what you said and... I think I'm not going to bother with this full stack stuff it's just too hard, thought you should know."23 -
Lads, I will be real with you: some of you show absolute contempt to the actual academic study of the field.
In a previous rant from another ranter it was thrown up and about the question for finding a binary search implementation.
Asking a senior in the field of software engineering and computer science such question should be a simple answer, specifically depending on the type of job application in question. Specially if you are applying as a SENIOR.
I am tired of this strange self-learner mentality that those that have a degree or a deep grasp of these fundamental concepts are somewhat beneath you because you learned to push out a website using the New Boston tutorials on youtube. FOR every field THAT MATTERS a license or degree is hold in high regards.
"Oh I didn't go to school, shit is for suckers, but I learned how to chop people up and kinda fix it from some tutorials on youtube" <---- try that for a medical position.
"Nah it's cool, I can fix your breaks, learned how to do it by reading blogs on the internet" <--- maintenance shop
"Sure can write the controller processing code for that boing plane! Just got done with a low level tutorial on some websites! what can go wrong!"
(The same goes for military devices which in the past have actually killed mfkers in the U.S)
Just recently a series of people were sent to jail because of a bug in software. Industries NEED to make sure a mfker has aaaall of the bells and whistles needed for running and creating software.
During my masters degree, it fucking FASCINATED me how many mfkers were absolutely completely NEW to the concept of testing code, some of them with years in the field.
And I know what you are thinking "fuck you, I am fucking awesome" <--- I AM SURE YOU BLOODY WELL ARE but we live in a planet with billions of people and millions of them have fallen through the cracks into software related positions as well as complete degrees, the degree at LEAST has a SPECTACULAR barrier of entry during that intro to Algos and DS that a lot of bitches fail.
NOTE: NOT knowing the ABSTRACTIONS over the tools that we use WILL eventually bite you in the ASS because you do not fucking KNOW how these are implemented internally.
Why do you think compiler designers, kernel designers and embedded developers make the BANK they made? Because they don't know memory efficient ways of deploying a product with minimal overhead without proper data structures and algorithmic thinking? NOT EVERYTHING IS SHITTY WEB DEVELOPMENT
SO, if a mfker talks shit about a so called SENIOR for not knowing that the first mamase mamasa bloody simple as shit algorithm THROWN at you in the first 10 pages of an algo and ds book, then y'all should be offended at the mkfer saying that he is a SENIOR, because these SENIORS are the same mfkers that try to at one point in time teach other people.
These SENIORS are the same mfkers that left me a FUCKING HORRIBLE AND USELESS MESS OF SPAGHETTI CODE
Specially to most PHP developers (my main area) y'all would have been well motherfucking served in learning how not to forLoop the fuck out of tables consisting of over 50k interconnected records, WHAT THE FUCK
"LeaRniNG tHiS iS noT neeDed!!" yes IT fucking IS
being able to code a binary search (in that example) from scratch lets me know fucking EXACTLY how well your thought process is when facing a hard challenge, knowing the basemotherfucking case of a LinkedList will damn well make you understand WHAT is going on with your abstractions as to not fucking violate memory constraints, this-shit-is-important.
So, will your royal majesties at least for the sake of completeness look into a couple of very well made youtube or book tutorials concerning the topic?
You can code an entire website, fine as shit, you will get tested by my ass in terms of security and best practices, run these questions now, and it very motherfucking well be as efficient as I think it should be(I HIRE, NOT YOU, or your fucking blog posts concerning how much MY degree was not needed, oh and btw, MY degree is what made sure I was able to make SUCH decissions)
This will make a loooooooot of mfkers salty, don't worry, I will still accept you as an interview candidate, but if you think you are good enough without a degree, or better than me (has happened, told that to my face by a candidate) then get fucking ready to receive a question concerning: BASIC FUCKING COMPUTER SCIENCE TOPICS
* gays away into the night53 -
Interviewer: For this next code challenge you will not be allowed to use the internet, or an IDE.
Dev: …
Interviewer: OR a keyboard OR a mouse. I will be verbalizing the code to you and you need to memorize it and tell me where the bugs are.
Dev: …
Interviewer: We must do this exercise to know how you are as a dev without any performance enhancing “aid”. This way we can understand where you are truly at skill-wise, and what you are truly worth from a compensation perspective.
Dev: …
Dev: If I get a job with you will I be allowed to use the internet and an IDE and a keyboard/mouse?
Interview: Of course you would! Getting anything done without those is just about impossible. We just need to evaluate you without them to see how good you REALLY are.
Dev: …20 -
Seven months ago:
===============
Project Manager: - "Guys, we need to make this brand new ProjectX, here are the specs. What do you think?"
Bored Old Lead: - "I was going to resign this week but you've convinced me, this is a challenge, I never worked with this stack, I'm staying! I'll gladly play with this framework I never used before, it seems to work with this libA I can use here and this libB that I can use here! Such fun!"
Project Manager: - "Awesome! I'm counting on you!"
Six months ago:
====================
Cprn: - "So this part you asked me to implement is tons of work due to the way you're using libA. I really don't think we need it here. We could use a more common approach."
Bored Old Lead: - "No, I already rewrote parts of libB to work with libA, we're keeping it. Just do what's needed."
Cprn: - "Really? Oh, I see. It solves this one issue I'm having at least. Did you push the changes upstream?"
Bored Old Lead: - "No, nobody uses it like that, people don't need it."
Cprn: - "Wait... What? Then why did you even *think* about using those two libs together? It makes no sense."
Bored Old Lead: - "Come on, it's a challenge! Read it! Understand it! It'll make you a better coder!"
Four months ago:
==============
Cprn: - "That version of the framework you used is loosing support next month. We really should update."
Bored Old Lead: - "Yeah, we can't. I changed some core framework mechanics and the patches won't work with the new version. I'd have to rewrite these."
Cprn: - "Please do?"
Bored Old Lead: - "Nah, it's a waste of time! We're not updating!"
Three months ago:
===============
Bored Old Lead: - "The code you committed doesn't pass the tests."
Cprn: - "I just run it on my working copy and everything passes."
Bored Old Lead: - "Doesn't work on mine."
Cprn: - "Let me take a look... Ah! Here you go! You've misused these two options in the framework config for your dev environment."
Bored Old Lead: - "No, I had to hack them like that to work with libB."
Cprn: - "But the new framework version already brings everything we need from libB. We could just update and drop it."
Bored Old Lead: - "No! Can't update, remember?"
Last Friday:
=========
Bored Old Lead: - "You need to rewrite these tests. They work really slow. Two hours to pass all."
Cprn: - "What..? How come? I just run them on revision from this morning and all passed in a minute."
Bored Old Lead: - "Pull the changes and try again. I changed few input dataset objects and then copied results from error messages to assertions to make the tests pass and now it takes two hours. I've narrowed it to those weird tests here."
Cprn: - "Yeah, all of those use ORM. Maybe it's something with the model?"
Bored Old Lead: - "No, all is fine with the model. I was just there rewriting the way framework maps data types to accommodate for my new type that's really just an enum but I made it into a special custom object that needs special custom handling in the ORM. I haven't noticed any issues."
Cprn: - "What!? This makes *zero* sense! You're rewriting vendor code and expect everything to just work!? You're using libs that aren't designed to work together in production code because you wanted a challenge!?? And when everything blows up you're blaming my test code that you're feeding with incorrect dataset!??? See you on Monday, I'm going home! *door slam*"
Today:
=====
Project Manager: - "Cprn, Bored Old Lead left on Friday. He said he can't work with you. You're responsible for Project X now."24 -
Currently on an internship, PHP mostly, little bit of Python and the usual web stuff, and I just had the BEST FUCKING DAY EVER.
Wake up and find out I'm out of coffee, oh boy here we go.
Bus leaves 10 minutes late, great gonna miss my train.
Trains just don't wanna ride today, back in a bus I go, what's normally a 10 minute train travel is now a 90 minute bus ride.
Arrive at internship, coffee machine is broke, non problem, I'll just lose it slowly.
NOW HERE COMES THE FUCKING GOOD PART!!
Alright, so I'm working on a CMS that can be used just about on any device you want, mobile or desktop, it's huge, billion's of rows of scientific data. Very specific requirements and low error margins. Now, yesterday I was really enjoying myself here until today, Project manager walks in, comes to my desk and hands me a Samsung Gear S3, an Apple watch and some cheap knockoff. He tells me that before the Friday deploy, THE ENTIRE CMS SHOULD WORK ON THOSE WATCHES!
I mean, don't get me wrong, I like a challenge but it's just not right, I mean, I'm still not sure what the right way to handle tables on phones is, but smart watches, just no. Besides that, I've never worked with any Apple devices, let alone WatchOs, nor have I worked with Android Wear.
Also, Project Manager is a total dickhead, he's the kinda guy that prefers a light theme, doesn't clean up his code, writes 0 documentation for an API, 1 space = tab, pure horror.
So after almost flipping my desk, I just called my school coach to announce I'm leaving this internship. After a brief explanation he decides to come over, and guess what, according to the Project Manager I wasn't supposed to do that, I was supposed to test if it would be possible.
FUCKING ASSFUCKFACE9 -
A huge project came my way at work. Old spaghetti code, no source control, no test env and every other possible challenge you could think of. Based on my initial quote a deadline of June 19th was approved. Two days ago the president of the company tells my boss it needs to be done by Friday, no excuses. Horrible timing since I'm moving tomorrow and am off all next week. Not to mention I'm the only dev at the company that understands/knows how to work on this code. We also don't have a budget to contract out. Literally not possible to do in 2 days. I proposed a "quick fix" solution and new design which was approved. I Spent 2 straight days working on it with overtime, no lunch hour, and the president checking on me every hour for status updates. Managed to implement my "quick fix" and just put it live 2 hours ago. President approved, and said "thanks". He then sent an email to the company and all our agents across the country anouncing the change. In the email he directly thanks the Marketing dept and the "senior leadership team" for "making the quick turnaround of this request possible". He proceeds to name specific people responsible for making this happen. No where does he mention my name or my department. Not that I'm actually surprised but it would have been nice to get some recognition considering this literally wouldn't have worked without me. Guess I should be used to it by now. I'm also now on call during my week off in case anything breaks.12
-
I'm hiring and I'm fucking done with recruiters buttering up skills etc and sending me BS candidates.
Interview earlier today...
CV: MySql skill level 10 (out of 10)
Reality: Can't write a simple JOIN!
Yesterday...
CV: PHP 6+ years exp, self proclaimed ninja/jedi/oracle.
Reality:
[Me]: Write me a function to map an array to x.
[Ninja]: What's an array?
I've come to the conclusion that the type of dev I want on my team is highly unlikely to be looking for work much less using some piece of shit shady agent to find work so I need to hunt him / her down personally and can use the phenomenally large recruiters fee as a hiring bonus / incentive.
Only problem now is finding quality full stack devs in the area (Johannesburg, South Africa).
I'm thinking of posting a 'challenge' job add to filter out good candidates - some kind of code challenge to be solved that gives them my contact info. Any one have any creative ideas I could try?31 -
tl;dr: spent 12 hours creating an api for a job interview challenge. Got rejected after 4 weeks with no real feedback, and all I can do is rant!
So I was in the interview process with a company that was a great fit for my background.
Got through a couple of phone screens, and was given a coding challenge consisting of writing a web API with a couple of endpoints and a filter function.
I'm like, ok no problem, I happen to have created apis for some mobile apps in the past, and I pick Django rest framework to get the job done.
Implemented it on a Sunday, wrote a medium size Readme.md and some unit tests and submit. Took almost four weeks and a partial resubmission to get a rejection with no specific feedback.
Now I'm shamelessly butthurt and I have nothing else to do but rant! Worse part is I looked back at the code and in my opinion is solid AF, so I put it on my public GitHub cause fuck it!6 -
Although she hates HTML, I had my girlfriend try to (re)create some kind of interface as a challenge. She remade the Mirror's Edge Catalyst menu - and she did well, I guess. (ofc her code is dirty and stuff - and it's far from responsive, but damn it looks smooth xD)14
-
Here's a true story about a "fight" between me and my project manager...
I've been working as a Frontend developer for nearly two years, managed to acquire a decent amount of knowledge, in some cases well above the rest of my coworkers, and one day I got into a bit of a disagreement with my project manager.
Basically he wanted me to copy/paste some feature from another project (needless to say, that... "thing" has more bugs than an ant farm), and against his orders I started doing that feature from scratch, to build a solid foundation from the very start.
I had a lengthy deadline to deliver that feature, they were expecting me to take some time to fix some of the bugs as well, but my idea was to make it bug-free from the moment the feature was released. Both my method and the one I should be copying worked the exact same, but mine was superior in every way, had no bugs, was scalable and upgradeable with little effort, there was no reason not to accept it.
We use scrum as our work methodology, so we have daily meetings. In one of those, the project manager asked me how was the progress on that new feature, and I told him I was just polishing up the code and integrating it with the rest of the project, to make sure everything was working properly. I still had a full day left before the deadline set for that feature, and I was expecting to take about half an hour to finish up a couple lines of code and test everything, no issues so far...
But then he exploded, and demanded to know why wasn't I copying the code from the other project, to which I answered "because this way things will work better".
Right after he said that the feature was working on the other project, copying and pasting it should take a few minutes to do and maybe a couple of extra hours to fix any issues that might have appeared...
The problem here is, the other project was made by trainees, I honestly can't navigate through 3 pages without bumping into an average of 2 errors per page, I was placed into this new project because they know I do quality code, and they wanted this project to be properly made, unlike the previous one, so I was baffled when he said that he preferred me to copy code instead of doing "good" code...
My next reply was "just because something has been made and is working that doesn't mean that it has been properly made nor will work as it should, I could save a few hours copying code (except I wouldn't save any, it would take me more time to adapt the code than to do it from scratch) but then I'll be wasting weeks of work because of new bugs that will be reported over time, because trust me, they will appear... "
I told him this in a very calm manner, but everybody in the meeting room paused and started staring at me, not many dare challenge that specific project manager, and I had just done that...
After a few seconds of silence the PM finally said... "look, if you manage to finish your task inside the set deadline I'll forget we ever had this conversation, but I'll leave a note on my book, just in case..."
I finished that task in about 30 mins, as expected, still had 7 hours till deadline, and I completely forgot about that feature until now because it has never given any issues whatsoever, and is now being used for other projects as well.
It was one of my proudest/rage inducing moments in this project, and honestly, I think I have hit my PM with a very big white glove because some weeks after this event the CEO himself came to the whole team to congratulate us on the outstanding work being made so far, in a project that acted against the PM's orders 90% of the time.11 -
===rant
So I have been freelancing as web developer for 5 years. I was also playing basketball professionally so I was only working part-time, building websites here and there, small android apps to learn the job and I was also reading a lot to challenge my brain.
When I stopped playing basketball about a year ago, I thought I would really enjoy coding full time so I pursued a job.
With no formal education and just a basketball background on paper, in the collapsed Greek economy, as you may assume chances of landing a job are minimal.
After about 40 resumes sent I only got an internship. It was a 4 month, part-time, no pay deal, and then the company would decide if they would like to hire me later.
The company had 4 employees and they are one of the largest software distribution businesses in my area. They resell SaaS bought from a third company, bundled with installation support, initial configuration, hardware support, whatever a client may need.
I was the only one with any ability to code whatsoever. The other people were working mostly on customer support with the occasional hardware repair.
After the 4 month period they owner (small company, owner was also manager and other roles) told me that they are very happy with my work and would like to keep me part-time with minimum pay.
Just to give you and idea if the amounts of money involved, in Greece, after taxes, my salary was 240euros per month. And the average cost of surviving (rent, cheapest food possible, no expenses on anything but super basics) is about 600euros.
I told him I needed more to live and he told me ok, we will reevaluate a few months later, at the end of May 2017.
I just accepted it without having many options. The company after all was charging clients 30euros per hour for my projects so I kept thinking that if I worked a lot and delivered consistently I would get a full time job and decent money.
And I delivered. In the following months I made a Magento extension, some WordPress themes, a C# application to extract data from the client's ERP and import it to a third application, a click to call application to use Asterisk to originate calls from the client's ERP, a web application to manage a restaurant's menu and many more small projects. Whatever they asked, I delivered.
On time, version controlled, heavily documented solutions (my C# ones are not exactly masterpieces but it was my first time with the language and windows).
So when May ended I was pretty excited to hear they wanted to keep me full time. I worked hard for it, I was serious, professional, I tried a lot to learn things so I can deliver, and the company recognized that. YAY.
So the time comes to talk money. The offer was 480euros per month. Double my part-time pay, minimum wage. I asked for about 700. Manager said it's hard but I will see what I can do. So we agreed to keep the deal for June while they are working on a better offer.
During the first half of June I finished my last project, put all my work on a nice folder with a nice readme on every project's directory, with their version control and everything.
The offer never improved, so I said no deal, and as of today, I am jobless.
I am stressed as fuck and excited as fuck at the same time.
I will do my best to survive in the shitstorm that is called Greece.
Bring it on.9 -
The shirt from the google code in challenge came :D
I'll probably wear it inside only since it's one of those tight and small ones. I like longer and looser shirts because small and tight ones are too revealing.50 -
Always take the challenge.
Didn't know front end - took tasks that were front end oriented, took me longer but I learned.
Didn't know what goes on in the legacy code - took the tasks and dived right in the filth.
Fear the day the challenges will be over.14 -
"Your resumé looks really good. We would really like to hire you. But you need to do this completly job unrelated test/coding challenge first."
----
"Is the test Android related?"
"Yes"
*Opens Test* -> "what ist the complexity of this function (written in c)"
*Scrolls*
"Implement algorithm xyz in Go lang"
*Closes test and breaks something*
----
"You will need to Code on a small Android projekt so we can see how you work"
"OK, how much time will i need to plan for it?"
"Our lead dev decided to make it small so its only 4-5 days."
----
What is it with all this stupid hiring test these days? And what do these recruiter think?8 -
POSTMORTEM
"4096 bit ~ 96 hours is what he said.
IDK why, but when he took the challenge, he posted that it'd take 36 hours"
As @cbsa wrote, and nitwhiz wrote "but the statement was that op's i3 did it in 11 hours. So there must be a result already, which can be verified?"
I added time because I was in the middle of a port involving ArbFloat so I could get arbitrary precision. I had a crude desmos graph doing projections on what I'd already factored in order to get an idea of how long it'd take to do larger
bit lengths
@p100sch speculated on the walked back time, and overstating the rig capabilities. Instead I spent a lot of time trying to get it 'just-so'.
Worse, because I had to resort to "Decimal" in python (and am currently experimenting with the same in Julia), both of which are immutable types, the GC was taking > 25% of the cpu time.
Performancewise, the numbers I cited in the actual thread, as of this time:
largest product factored was 32bit, 1855526741 * 2163967087, took 1116.111s in python.
Julia build used a slightly different method, & managed to factor a 27 bit number, 103147223 * 88789957 in 20.9s,
but this wasn't typical.
What surprised me was the variability. One bit length could take 100s or a couple thousand seconds even, and a product that was 1-2 bits longer could return a result in under a minute, sometimes in seconds.
This started cropping up, ironically, right after I posted the thread, whats a man to do?
So I started trying a bunch of things, some of which worked. Shameless as I am, I accepted the challenge. Things weren't perfect but it was going well enough. At that point I hadn't slept in 30~ hours so when I thought I had it I let it run and went to bed. 5 AM comes, I check the program. Still calculating, and way overshot. Fuuuuuuccc...
So here we are now and it's say to safe the worlds not gonna burn if I explain it seeing as it doesn't work, or at least only some of the time.
Others people, much smarter than me, mentioned it may be a means of finding more secure pairs, and maybe so, I'm not familiar enough to know.
For everyone that followed, commented, those who contributed, even the doubters who kept a sanity check on this without whom this would have been an even bigger embarassement, and the people with their pins and tactical dots, thanks.
So here it is.
A few assumptions first.
Assuming p = the product,
a = some prime,
b = another prime,
and r = a/b (where a is smaller than b)
w = 1/sqrt(p)
(also experimented with w = 1/sqrt(p)*2 but I kept overshooting my a very small margin)
x = a/p
y = b/p
1. for every two numbers, there is a ratio (r) that you can search for among the decimals, starting at 1.0, counting down. You can use this to find the original factors e.x. p*r=n, p/n=m (assuming the product has only two factors), instead of having to do a sieve.
2. You don't need the first number you find to be the precise value of a factor (we're doing floating point math), a large subset of decimal values for the value of a or b will naturally 'fall' into the value of a (or b) + some fractional number, which is lost. Some of you will object, "But if thats wrong, your result will be wrong!" but hear me out.
3. You round for the first factor 'found', and from there, you take the result and do p/a to get b. If 'a' is actually a factor of p, then mod(b, 1) == 0, and then naturally, a*b SHOULD equal p.
If not, you throw out both numbers, rinse and repeat.
Now I knew this this could be faster. Realized the finer the representation, the less important the fractional digits further right in the number were, it was just a matter of how much precision I could AFFORD to lose and still get an accurate result for r*p=a.
Fast forward, lot of experimentation, was hitting a lot of worst case time complexities, where the most significant digits had a bunch of zeroes in front of them so starting at 1.0 was a no go in many situations. Started looking and realized
I didn't NEED the ratio of a/b, I just needed the ratio of a to p.
Intuitively it made sense, but starting at 1.0 was blowing up the calculation time, and this made it so much worse.
I realized if I could start at r=1/sqrt(p) instead, and that because of certain properties, the fractional result of this, r, would ALWAYS be 1. close to one of the factors fractional value of n/p, and 2. it looked like it was guaranteed that r=1/sqrt(p) would ALWAYS be less than at least one of the primes, putting a bound on worst case.
The final result in executable pseudo code (python lol) looks something like the above variables plus
while w >= 0.0:
if (p / round(w*p)) % 1 == 0:
x = round(w*p)
y = p / round(w*p)
if x*y == p:
print("factors found!")
print(x)
print(y)
break
w = w + i
Still working but if anyone sees obvious problems I'd LOVE to hear about it.38 -
Interviewer: Here is the interview challenge. Tell me what the expected output is. You have 5 minutes.
** 100 line class with 4 async methods that contain if/thens nested 4 layers deep that call each other and log things to the console
Dev: Ok wow this is a bit of a maze to work through but I’ll try my best.
** 1 minute later of reading through the code
Interviewer: One minute has elapsed. There is now 4 minutes remaining.
Dev: Actually could you please not interject with time updates like that while I’m reading code? It makes the challenge harder than necessary. Just letting me know when the time is up would be fine.
Interviewer: Ok.
** ~2 minutes later trying to comb through this spaghetti mess
Interviewer: What do you think are you getting close to figuring it out?
Dev: …5 -
spent 7-8 months looking for work (did a few freelance jobs in the mean time), spent what's worth of days on LinkedIn.. no reply at all, talked to recruiters got declined over the phone after 2-3 mins of call time..
Applied to a company branch in my home country nailed the 4+1(code challenge) interviews, will be leaving this Saturday morning (in 2days) now the bloody bastards start to reply and send offers for positions they have, when I clearly have to decline as I don't want to be left empty handed..
fuck you Sam, Jake and the other pricks that decided it is OK to reply after 3-4 months.. go fuck yourselves with a horse's dick you piece of crap.. After you're done, go shoot yourselves with the gun for ugly dumb animals!!! Hate you!
Kind regards, dev-nope!3 -
Any coding challenge that doesn’t start with modifying an existing code base ignores what 95% of software engineering is.2
-
I just had a rather stressful morning. I should've known something was up by the sounds of thunder as I walked into the office.
I sat down and checked my emails. There was an email from the boss who was away on a business trip. The subject read, "CRITICAL BUG" and my name was mentioned. "Great...No time for coffee", was my first thought.
I began searching commits to see when and how the bug came to be. "SHIT! It was my fault", I said aloud.
(A bit of backstory, I am Irish, working in Germany with a B2 level of the German language.)
I now had to communicate the problem quickly with a senior developer who is Russian. He can't speak English well and I would not expect him to speak it. We are in Germany after all. I tried my best to communicate the issue, but I found it so difficult to understand his German in a Russian accent. Normally, in the office I speak German except when it is urgent and I must explain a problem in greater detail through English. I got past that obstacle, however, the real challenge of fixing the bug awaited.
After 2 hours of coding, I had a solution and committed it to the master branch. All the while, I had been replying to the bosses emails with updates, probably with many grammer mistakes.
We have no dedicated testers here and the code is written in a way which makes it very difficult to test (i.e. it was written many years ago). When I had initially written the code, I tested rigorously and found no issues.
Just needed to rant. I need a coffee break now...4 -
Me: I'm going to be one of the grand finalists in the google code in challenge no matter what! I will complete as many challenges as I can per day.
Also Me: *forgets it existed after a week*
Me now: *just got reminded of it* Uhh, there's too many challenges and they are too much work... I'll try again next year.18 -
Like most people I needed some extra cash during uni, so I proceeded to learn CSS + Photoshop (yeah, I know). Followed by PHP and WordPress.
It can be a very shitty platform until you realize that you can stop combining plug-ins from all over the place with dubious code quality and roll your own.
Anyhow I kept at it until I was able to join a niche company doing a quite popular caching plug-in for WP (yeah, W3 Total) when I suddenly became *very* interested in anything and everything performance.
This landed me a very cozy consulting gig in the Nordics - they were using WP for an elephant-traffic website and had run into a myriad of perf issues.
Fixing them and breaking the monolith awarded me with skills in nodejs, linux, asynchronous caching among others.
I was soon in charge with managing the dev boxes for the entire team, and when the main operations dude left, I was promoted to owning the entire platform. (!) Tinkering with Linux for most of my life really came in handy here. (remember Debian potato?)
Used saltstack + aws cloudformation to achieve full parity between all environments. Learned myself some python and all various tips and tricks which in the end amounted to 90% reduction in time-to-first-byte and considerable cost savings.
By the end of the 2yr contract I had turned myself into a fullstack systems engineer and never looked back.
Lawyers not getting along resulted in us having to abandon NewRelic, so I got to learn and deploy the ELK stack as a homegrown replacement, which was super-fun.
Now I work in the engineering effectiveness department of a Swedish fintech unicorn where all languages under the Sun are an option (tho we prefer Python), so the tech stack is unlimited. Infinite tools and technologies, but with strong governing principles and with performance always in mind so as to pick the right tool for the job.
It's like that childhood feeling when you've just dumped a ton of Lego on the floor and are about to build something massive.
I guess the morale here is however disappointed you feel by your current stack - don't. Always strive to make things better, faster, more decoupled, easier to test, etc. and always challenge yourself to go outside the comfort zone.6 -
So a few years ago when I was getting started with programming, I had this idea to create "Steam but for mods". And just think about it - 13 and a half years old me which knew C# not even for a half of a year wanted to create a fairly sizable project. I wasn't even sure how while () or foreach () loops worked back in the day.
So I've made a post on a polish F1 Challenge '99-'02 game forum about this thing. The guy reached out to me and said: "Hey, I could help you out". This is where all started.
I've got in touch with him via Gadu-Gadu (a polish equivalent of ICQ). So I've sent him the source code... Packed in .ZIP file... By Zippyshare… And just think how BAD this code was. Like for instance, to save games data which you were adding they were stored in text files. The game name was stored in one .txt file. The directory in another. The .exe file name in yet another and so on. Back then I thought that was perfectly fine! I couldn't even make the game to start via this program, because I didn't know about Working Directory).
The guy didn't reply to me anymore.
Of course back then it wasn't embarrassing to me at all, but now when I think about it... -
Dear Product owners / Company Owners / Whoever requesting a feature:
Devs like to know they are adding value to whatever product they are working on. Every time you request a stupid no value added request, you kick the dev's soul.
After several hits the developer will stop caring about the software and eventually will get the job done, but oh boy, the amount of tech debt/trash code the dev is gonna leave behind will be horrendous.
Then the next developer, not only takes the hit from another stupid request, he/she will see the crappy code the past sad developer left and will take a double hit. Of course all of them start proactive and try to fix previous blood trails but sadness will catch them eventually.
If you want you're apps/products/reports to be good in a long run don't make stupid requests.
BAs, Stop being Expensive Email Forwarders and challenge a request, understand the process and then hand it to the developer.
Us developers are sensible cute ponies. Treat us well or expect poor quality projects8 -
Back in the day, I joined a little agency in Cape Town, small team small office with big projects, projects they weren’t really supposed to take on but hey when the owner of a tech business is not a tech person they do weird things.
A month had passed and it was all good, then came a project from Europe, Poland to be specific. The manager introduced me to the project, it was a big brand - a segment of Lego, built on Umbraco (they should change the name to slowbraco or uhmmm..braco somewhere there) the manager was like so this one is gonna be quite a challenge and I remember you said you are keen on that, I was like hell yeah bring it on (genuinely I got excited) now the challenge was not even about complexity of the problem or code or algorithms etc you get my point… the challenge was that the fucking site was in polish - face palm 1 - so I am like okay code is code, its just content, and I already speak/familiar with 13 human languages so I can’t fail here ill get around it somehow. So I spin up IIS, do the things and boom dev environment is ready for some kick ass McCoding. I start to run through the project to dig into the previous dev’s soul. I could not relate, I could not understand. I could not read, I could not, I could not. - face palm 2 - This dude straight up coded this project in polish variable names in polish, class names in polish, comments in freaking polish. Look, I have no beef with the initial guy, its his language so why not right? sure. But not hey this is my life and now I should learn polish, so screw it, new tab - google translate, new notes, I create a dictionary of variables and class etc 3 days go by and I am fucking polish bro. Come at me. I get to read the previous devs soul through his comments, what a cool dude, his code wasn’t shit either - huge relief. So I rock on and make the required changes and further functionality. The project manager is like really, you did it? I am like yeah dude, there it is. Then I realise I wasn’t the first on this, this dude done tried others and it didn’t go down well, they refused. - face palm 3 -
Anyway, now I am a rock star in the office, and to project managers this win means okay throw him in the deep - they move me to huge project that is already late of course and apparently since I am able to use google translate, I can now defeat time, let the travelling begin. - face palm 4 - I start on the project and they love me on it as they can see major progress however poland was knocking on the door again, they need a whole chunk of work done. I can’t leave the bigger project, so it was decided that the new guy on Monday will start his polish lessons - he has no idea, probably excited to start a new job, meanwhile a shit storm is being prepared for him.
Monday comes, hello x - meet the team, team meets x
Manager - please join our meeting.
I join the meeting, the manager tells me to assist the new dev to get set up.
Me: Sure, did you tell him about he site?
Manager: Yes, I told him you knocked it out the park and now we just need to keep going
Me: in my head (hmm… that’s not what I was asking but cool I guess he will see soon enough -internal face palm 5 - ) New dev is setup, he looks at the project, I am ask him if he is good after like an hour he is like yeah all good. But his face is pink so I figured, no brother man is not okay. But I let him be and give him space.
Lunch time comes, he heads out for lunch. 1hr 15mins later, project manager is like, is the new dude still at lunch.
We are all like yeah probably. 2hrs pass 3hrs pass Now we are like okay maybe something happened to him, hit by a car? Emergency? Something… So I am legit worried now, I ask the manager to maybe give him a ring. Manager tries to call. NOTHING, no response. nada.
Next day, 8am, 9am, 10am no sign of the dude. I go to the manager, ask him what’s up. Manager: he is okay. However he said he is not coming back.7 -
I was so busy studying for final exams that I forgot the Google code-in challenge existed.
I only completed two tasks before I forgot about it haha.
Rip. There's goes my dream of being a finalist. At least there's always next year ;)4 -
My worst interview ever was my first interview fresh out of college. After the initial phone screen, they asked me to drive 2 hours to their office to give me a "code challenge."
The challenge was to spend 4 hours writing a simple rest API for a blog type thing, but the catch was to not use any existing libraries for data access and instead write an entirely database agnostic DAL. Then after I finished they sat me in a conference room with 3 of their engineers and the CEO to just tear apart my code.
For a JUNIOR position to someone fresh out of college.
I guess I defended it well, because they asked to continue the process l, but after that I found a different position.4 -
As a consultant, you get tasked with a variety of stuff. Last few weeks been struggling to maintain an old C++ application that was written by a complete tool of an a$$hole with zero knowledge on how to write maintainable and production quality code. It would hardly run without a crash. First it was a challenge I had to accept, but as I stabilized the code and just fell over even more traps, I had to admit defeat and review my approach.
Rewrite is something I would choose last, but this one ticked all the marks worthy of a rewrite. So, the customer is a very friendly researcher and gladly spent 15 hours with me explaining all the math and concepts - just a delight for a programmer to have such a customer. Two days in, with a DDD approach - a functional, more precise, faster and stable application.
Sometimes there is no rant to share, it's rare to have that perfect communication with a customer that is so dedicated that he spends so much time teaching you his speciality and actually understand your approach. DDD was really a lifesaver here, by using it's key concepts and ubiquitous language. The program is essentially 8000 lines of math, but wrapping it up with value objects and strong domain models made me understand his domain and him mine. It also allowed me to parallelize the computations, giving me a huge performance boost. Textbook approach, there will not be many like this!4 -
devRant, got a code challenge for you.
Manager calls at 18:00...
Write an algorithm that gives the optimum result!
I'll go first with my O(1) solution:
Don't answer.
I'd be interested to see whoever can beat the big O of my solution!!!!!
#moreclownwellnessthirstythursdays19 -
Biggest challenge I overcame as dev? One of many.
Avoiding a life sentence when the 'powers that be' targeted one of my libraries for the root cause of system performance issues and I didn't correct that accusation with a flame thrower.
What the accusation? What I named the library. Yep. The *name* was causing every single problem in the system.
Panorama (very, very expensive APM system at the time) identified my library in it's analysis, the calls to/from SQLServer was the bottleneck
We had one of Panorama's engineers on-site and he asked what (not the actual name) MyLibrary was and (I'll preface I did not know or involved in any of the so-called 'research') a crack team of developers+managers researched the system thoroughly and found MyLibrary was used in just about every project. I wrote the .Net 1.1 MyLibrary as a mini-ORM to simplify the execution of database code (stored procs, etc) and gracefully handle+log database exceptions (auto-logged details such as the target db, stored procedure name, parameter values, etc, everything you'd need to troubleshoot database errors). This was before Dapper and the other fancy tools used by kids these days.
By the time the news got to me, there was a team cobbled together who's only focus was to remove any/every trace of MyLibrary from the code base. Using Waterfall, they calculated it would take at least a year to remove+replace MyLibrary with the equivalent ADO.Net plumbing.
In a department wide meeting:
DeptMgr: "This day forward, no one is to use MyLibrary to access the database! It's slow, unprofessionally named, and the root cause of all the database issues."
Me: "What about MyLibrary is slow? It's excecuting standard the ADO.Net code. Only extra bit of code is the exception handling to capture the details when the exception is logged."
DeptMgr: "We've spent the last 6 weeks with the Panorama engineer and he's identified MyLibrary as the cause. Company has spent over $100,000 on this software and we have to make fact based decisions. Look at this slide ... "
<DeptMgr shows a histogram of the stacktrace, showing MyLibrary as the slowest>
Me: "You do realize that the execution time is the database call itself, not the code. In that example, the invoice call, it's the stored procedure that taking 5 seconds, not MyLibrary."
<at this point, DeptMgr is getting red-face mad>
AreaMgr: "Yes...yes...but if we stopped using MyLibrary, removing the unnecessary layers, will make the code run faster."
<typical headknodd-ers knod their heads in agreement>
Dev01: "The loading of MyLibrary takes CPU cycles away from code that supports our customers. Every CPU cycle counts."
<headknod-ding continues>
Me: "I'm really confused. Maybe I'm looking at the data wrong. On the slide where you highlighted all the bottlenecks, the histogram shows the latency is the database, I mean...it's right there, in red. Am I looking at it wrong?"
<this was meeting with 20+ other devs, mgrs, a VP, the Panorama engineer>
DeptMgr: "Yes you are! I know MyLibrary is your baby. You need to check your ego at the door and face the facts. Your MyLibrary is a failed experiment and needs to be exterminated from this system!"
Fast forward 9 months, maybe 50% of the projects updated, come across the documentation left from the Panorama. Even after the removal of MyLibrary, there was zero increases in performance. The engineer recommended DBAs start optimizing their indexes and other N+1 problems discovered. I decide to ask the developer who lead the re-write.
Me: "I see that removing MyLibrary did nothing to improve performance."
Dev: "Yes, DeptMgr was pissed. He was ready to throw the Panorama engineer out a window when he said the problems were in the database all along. Didn't you say that?"
Me: "Um, so is this re-write project dead?"
Dev: "No. Removing MyLibrary introduced all kinds of bugs. All the boilerplate ADO.Net code caused a lot of unhandled exceptions, then we had to go back and write exception handling code."
Me: "What a failure. What dipshit would think writing more code leads to less bugs?"
Dev: "I know, I know. We're so far behind schedule. We had to come up with something. I ended up writing a library to make replacing MyLibrary easier. I called it KnightRider. Like the TV show. Everyone is excited to speed up their code with KnightRider. Same method names, same exception handling. All we have to do is replace MyLibrary with KnightRider and we're done."
Me: "Won't the bottlenecks then point to KnightRider?"
Dev: "Meh, not my problem. Panorama meets primarily with the DBAs and the networking team now. I doubt we ever use Panorama to look at our C# code."
Needless to say, I was (still) pissed that they had used MyLibrary as dirty word and a scapegoat for months when they *knew* where the problems were. Pissed enough for a flamethrower? Maybe.6 -
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 -
oh you want a code challenge for the interview? sure let me do that just like the 5 other companies i've had to do that for
like dude, look at any one of my multiple websites, saas apps, or mobile apps i've shipped. obviously i know what i'm doing7 -
If you know Fortran and are familiar with fluid dynamics, NASA has a challenge out for people to optimize some of their Fortran code.10
-
Pro tip for job candidates:
If you push a code challenge to a live hosting service like github pages or S3, don’t give the reviewers a link to the repo!! Instead put the link into the home page and send the reviewer only a link to the live hosted page.
Why?
Because, if you host with github pages, you’re required to use the project path as the domain root. If the reviewer pulls your project and doesn’t bother to read your readme file with the link at the top, he’ll complain that he couldn’t figure out why your project isn’t hosted from the root domain, and he’ll pass on your application.
True story.2 -
Debate (with rant-ish overtones):
FYI, while it is a debate, its a practiseSafeHex debate, which means there is a correct answer, i'm just interested in your responses/thoughts.
Ok lets kick off. So the remote team I work with had an opening for a new iOS developer (unrelated to anything to do with me). They interviewed and hired a guy based off his "amazing" take home challenge.
The challenge consists of 4 screens and was for a senior level position. For the challenge the interviewee created a framework (a iOS library) for each screen, included all the business logic for each screen inside, each one needs to be built separately, exposed some API/functions from each one and then created a main project to stitch it all together.
Now, my opinion is, this is highly unscalable and a ridiculous approach to take as it would add so much unnecessary overhead, for no benefit (I am correct btw).
The interviewee said he did it like this to "show off his skills and to stand out". The remote team loved it and hired him. The challenge said "show us the code standard you would be happy to release to production". I would argue that he has only demonstrated 1 extra skill, and in exchange delivered something that is unscalable, going to be a nightmare to automate and require huge on-boarding and a paradigm shift, for no reason. To me thats a fail for a senior to not realise what he's doing. This person will be required to work alone (in part), make architecture decisions, set the foundation for others etc. Having someone who is willing to just do mad shit to show off, is really not the type of person suited to this role.
Debate!11 -
First Hackathon ends today. Long story short: I was the only programmer of the team, we only had 2 days to develop it (of which we spent the first day doing research, so 1 day of coding), so guess what it's shit.
I basically took a bootstrap theme, hardcoded some data. Put some js on top for interactions and a node js backend, to interface some APIs. Just by looking at the code you'll get cancer, but the others of the team where impressed, how good it looked an worked...
Let's hope the judges aren't familliar with coding as well (our challenge got two judges whereof one works at a bank as some guy whearing a suite and sponsoring stuff... Ao chances should be ok)
Honestly fuck this. Not one team (afaik) has pfoduced anything close to being finished...10 -
keyboard shortcuts.
If you threw your mouse away, could you still code very fast?
I learned all the kb shortcuts 2 years ago..
Coding shortcuts in sublime are the best
Best skill I every owned..speed of pc use is drastically improved
Put me up against any normal user and I'll have 10 typical computer tasks done before he finishes one
Could you throw away your mouse for a day?
If you can't.. I challenge you to try. Probably the best skill for getting jobs? Just guessing24 -
Theres a debate in my company about whether or not to be using RxSwift on iOS apps. I'm not 100% convinced. Today we had two submissions for a coding challenge come in. One uses nearly all the same Rx modules this company does, one was vanilla Swift.
Just by chance noticed the vanilla app writer contributed ~5k lines of code to the challenge overall. Including libraries, the Rx one contributed ~45k.
That to me is just bat shit crazy. It would want to be the most amazing, time saving, bug reducing thing the world has ever seen to justify that volume of code.4 -
Anyone else suffer from this.
Have a brilliant idea, start computer, open you IDE, write a few lines of code as proof of concept and then just loose interests coz it's no longer a challenge !6 -
Communication.
I started coding at Engineering school (so like 4 yrs ago) and even if there were projects by group, I kinda learned it all the way by myself so I actually learned to code alone. And to resolve my issues alone.
And it costs me a job right after my internship. Was a big problem since I was almost alone (someone worked also on it but they was on multiple project at the same time so not 100% available).
That was one of my biggest fear in my career and one of my biggest challenge too in my personal development.
And so, like 8 months later, I got a job, I'm in a big team and no more problem of communication. That's something I'm very proud of. But I'm still young in my career.1 -
Clicks "Exploitation and Enumeration" category.
Clicks "Python (HARD)" challenge.
"What is a key that passes the code?"
Opens Python file and sees one line of nested lambda expressions spanning 1,846 characters (no spaces)
*Cries*8 -
Biggest challenge was to accept that no matter where you go, what you do, you will have to deal with stupid people.
They come in all ranges, starting from hr, interns, juniors, coworkers, code reviewers, seniors, managers, boss, clients.
And in order to grow in life, you have to learn to deal with them. Better even if you could make them a little less stupid.2 -
"not sure if we can meet those salary requirements, but I'll get back to you"
JK they just send me the code challenge, no idea of what salary to expect. scratch that one off the list.
meanwhile in another prospect i have had not just multiple interviews, but then add on two additional 'prep' and 'post' interviews for each of the ORIGINAL interviews i have to do with the recruiting company REEEEEEEEEEEEE
honestly it's not a good reflection of what is really valued at these companies - paper pushing over getting to work... ok
WEVE ALREADY TALKED FOR HOURS JUST MAKE A DESICION: GIVE ME AND OFFER, OR DON'T AAAAAAAAAAAAAAAAAAAA2 -
New mobile challenge I created:
... treat this as production code and show us your best practises and thought processes ... please list and explain any third party libraries used.
First submission:
I've used library X, although it has a major UI defect when rotating the device, it should be good for a simple test.
... wrong2 -
After years of working with managed code, having to work with a microcontroller in C and that only has 1kb of SRAM is being a big fucking challenge.5
-
The past couple of days have been, like:
- I can’t focus on my side project
- I can’t bring myself to study for the AWS certification exam I’m taking next week
- I haven’t had the will to do a single code challenge
- It’s hard to write cover letters for jobs when no one has responded to a single job application I’ve done in the past couple of weeks
- Even doing things that traditionally give me joy ... bring me no joy.
Is this what burnout feels like?9 -
daily.
me: i looked into the customer dev's project and even though it's C#, i can use it as a source of inspiration for my own C++ library.
PM: okay, maybe we can even still use it, so that you use a C# dll with your C++ code.
me: ...
other colleague: that's a bad idea. it can already be a challenge to use unmanaged c++ in dotnet, but the other way round it's even more difficult. C# and C++ are languages that behave quite differently and it will be hard to implement a correctly working interface.
PM: okay. well... then please analyze this project's complexity in terms of LOC and create a class diagram, so we get an idea of how complex it is.
me: sure.
PM: hmm... maybe we should split this topic. since dev x will also rely on your library, analyze this project together with him, each of you look at another part of the classes.
me: that's.... i think that's a bad idea. implementing this functionality in this library is my job, not of dev X. he won't be involved in implementing any of the funcionalities and for him, it shouldn't matter how this works.
PM: yeah, but since we are prototyping, maybe we should just violate the "separation of concerns" rule.
me (internally): (ノಠ益ಠ)ノ彡┻━┻
in the end i could convince him to do it my way, but for fuck's sake... when was the last time he actually succesfully implemented something? 🤦♀️ -
That feel when my solution runs way faster than world average
PS: the puzzle is SAWAYAMA WONDERDISC3 -
Do you ever just think of a feature you want to implement in your program, thinking it's going to be a challenge and then you realize "oh, my program is set up in such a way that makes adding this feature literally one additional line and one modified line of code, without making the code messy"?5
-
Sometimes it's better to burn a bridge so you don't even think about crossing it in the future.
See, I left a company some years ago because I didn't see my future in it and all management combined had a collective intelligence of a chicken.
However, I got a call from them a couple of months ago asking me if I could return. The salary was double and the working arrangement seemed fine. On paper. WFH. Flexibile hours...
Since I actually liked the project itself for its technical challenge, I accepted the return offer. What a bad idea that was.
Of course, the things that made me leave for the first time had only gotten worse. Bad leadership, idiot developers in team leader positions. Tech debt higher than Mount Everest. Bad infra that makes you want to off yourself every time you work on it. The whole circus.
Seriously, the "senior" team leader will happily merge code that includes assert(true == true), but hold up a well written MR because he has a personal vendetta with the developer.
Personally, I always check him whenever he starts being an ass. But the poor juniors are in hell. They're terrified.
Now I'm leaving again, but this time I've made sure I can't come back.3 -
💥🦆 Unofficial devRant Clone Jam 2023 🦆💥
Retoor has a challenge hackathon for you. 🧑💻 Post here: https://kbin.melroy.org/m/drbboard/...
Pick your tech stack, announce it in your comment by the link above, and code your own DEVRANT CLONE in 8 hours. There is only a week for y'all, but don't overdo it and write the thing just in 8 hours. If you need more time, announce that too. Address to the post for all the rules.
Code competition start! 🏁21 -
Man, contributing to open source projects seems very intimidating to me.
I have never contributed to one of those repos on Github with a shit-ton of stars and a load of watchers. Made up my mind to start sometime around the start of September. Looked up a repo that I was very excited to contribute to. Went through their really large codebase, tried to understand as much as I could (They have a fair amount of documentation, but I just can't understand a lot of design decisions that were taken). Looked up one of the open issues marked for newbies, went through the relevant code to understand where and how I would have to make my changes in the code, and was about to start... when a seasoned contributor submitted a pull request.
This same occurrence has repeated itself 3 times now. If you mark an issue for beginners, maybe let the beginners handle them? Also, if you plan to contribute to an issue, why not announce your intention to do so? Get the issue assigned to you, so no one else ends up wasting their time coming up with a solution.
I would love to recommend this to the contributing team, but I am just way too scared to initiate a conversation with these guys. I mean, they are way more experienced and knowledgeable than me (some of them are even famous!).
I am definitely out of my depth with this project, and maybe should look for an easier one, but I really want to rise up to the challenge. Guess I'll stick around then, just waiting for my chance. :|3 -
Dependency Injection Frameworks are absolute shit. I have yet to encounter one that doesn't make code take hours to understand or debug, and usually requires a debugger to even begin to unravel it. Not to mention the "context" god objects that just are glorified versions of passing an array from function to function. You guys aren't avoiding global state you're just making it a clusterfuck. Stop being stupid for 2 minutes software development "progress" challenge. Level: impossible.19
-
It's interesting to me... a lot of the rants I see here are all like "just started this new job and this place is SO fucked". Talking about how there's no process, no source control, terrible code, etc.
I say it's interesting because most of the time the thought that goes through my head is "that sounds fun as hell!"
Like, spend as many years at a place as I have, a place where there's SO much process and SO many controls and all of that... you know, the whole "big enterprise" mindset... and the idea of being able to come in to a place that's kind of wild west and actually work to FIX the place, to have freedom to change direction and innovate and not be locked in to all sorts of rules, is kind of exciting.
(you know, assuming it's a place and a position where that's possible at all... but at this point in my career, I'd only take a position where I had that kind of authority from the start, and as long as I have the authority then I'm happy to take on the responsibility and I'm up for the challenge)8 -
1. Coding gets me naturally high. Mentally sound and sharpens my focus.
2. Beating a challenge by code is fun. And watching something I spent much time on working is great. Like setting up all those dominos to watch them cascade and fall down one after another...bliss!
3. People think I'm smart because I can type instructions into inanimate objects and make lights flash on the screen.3 -
With all of us complaining about white spaces and this weeks challenge being to write a block of code...shouldn't devRant have a "tab" key on mobile?2
-
"Biggest challenge you overcame as a dev?"
Overcame? I wish! I'm in the midde of fixing the worst legacy code clusterfuck I have ever seen...
Yes, it's even wayyyy worse than WorstPress...
There are days where my coworkers hear profuse laughter coming out of my lone bureau, some of them might already be thinking that I've gone mad. Maybe I have... bwahahahaha3 -
This will definitely trigger many but the truth regardless of how you feel is the greatest programmers are those who understand both the hardware level and software .. only then are you more than a dev or programmer.. you are an engineer...
I challenge the devs who dis believe to go out and learn to build circuits, write optimized, efficient bare metal code.: no sdk.. no api... no drivers ..remove the unneeded abstraction layers that have blinded you...build it yourself, expand your potential and understanding..
Not only will you become more valuable overall, but you will write better code as you are more conscious of performance and space and physics of the physical layer.
I’m not talking about Arduino or raspie
Those who stand strong that high level abstraction languages and use of third party apis is a sufficient sustainable platform of development are blind to reality.. the more people who only know those levels, the less people pushing the industry of the low level.., which is the foundation of everything in the industry.. without that low level software the high level abstractions and systems cannot run
Why did we have huge technology advancements from 70s to early 2000s.... because more people in our industry understood the hardware layer..: wrote the software at the less abstracted layers..
Yeah it takes longer todo things at that low level abstraction.. but good robust products that change the world and industry don’t take a few week or months to build.....
Take this with what you will... I’m just trying to open the eyes of the blind developers to the true nature and reality of our industry23 -
Junior, junior, junior. I'm like -junior. We want a junior with 3 years experience. How is someone supposed to get to the 3 years experience if there aren't any jobs accepting juniors will no professional experience. I can code, , albeit not professionally, that's why I want a job, to learn in a professional setting, but the junior jobs all want past experience.
Maybe one day. Maybe never. For now I'll just keep rolling on the grind in my shitty factory job. Moving boxes from one place to another with the toughest mental challenge being which way to stack said boxes.2 -
!rant
Been working on a custom html partial injector (js/jquery only) as both a personal challenge and utility to use for my website scaffold. Being a challenge, i decided not to look at any implementation from another JS framework. I won't lie, i had it 'working' at least 5 times now, but this time, after about 3-4 days, i think i got it for real. And the cool thing? It's a bit less code than my original implementation even with my generous whitespace and verbosity. And it even unwraps nicely so it looks like a regular html page in the dev tools.
I love when things finally work as they should--God knows i question my motives before then.2 -
My company is (supposedly) all about collaborative work, pair programming, getting on calls and cRaCKinG tHinGs ToGEtheR. Also (and rightfully so) we’re not supposed to approve any PRs if tests weren’t created/updated.
Of course that applies to all but the old timers in the company who simply act like lone cowboys. They fall off the face of the earth for two-three days then reappear with monster PRs full of untested code.
Leave it up to the plebe then to try to make sense of the mess they’ve created, to challenge them with the fact that the PRs are lacking tests (only to be met with excuses about not having anymore time to spend on the subject).
Reprimand the plebe for not reviewing PRs thoroughly enough. Leave it up to them to fix the resulting bugs.
I’ve lost all trust in our managers, tech leads, lead devs and their guidelines and rules that only apply to others but rarely to themselves. These people that then have the audacity to criticize the tech team in it’s entirety for not being rigorous enough in its processes.
Fuck them all7 -
In today's episode of kidding on SystemD, we have a surprise guest star appearance - Apache Foundation HTTPD server, or as we in the Debian ecosystem call it, the Apache webserver!
So, imagine a situation like this - Its friday afternoon, you have just migrated a bunch of web domains under a new, up to date, system. Everything works just fine, until... You try to generate SSL certificates from Lets Encrypt.
Such a mundane task, done more than a thousand times already... Yet... No matter what you do, nothing works. Apache just returns a HTTP status code 403 - Forbidden.
Of course, what many folk would think of first when it came to a 403 error is - Ooooh, a permission issue somewhere in the directory structure!
So you check it... And re-check it to make sure... And even switch over to the user the webserver runs under, yet... You can access the challenge just fine, what the hell!
So you go deeper... And enable the most verbose level of logging apache is capable of - Trace8. That tells you... Not a whole lot more... Apparently, the webserver was unable to find file specified? But... Its right there, you can see it!
So you go another step deeper and start tracing the process' system calls to see exactly where it calls stat/lstat on the file, and you see that it... Calls lstat and... It... Returns -1? What the hell#2!
So, you compile a custom binary that calls lstat on the first argument given and prints out everything it returns... And... It works fine!
Until now, I chose to omit one important detail that might have given away the issue to the more knowledgeable right away. Our webservers have the URL /.well-known/acme-challenge/, used for ACME challenges, aliased somewhere else on the filesystem - To /tmp/challenges.
See the issue already?
Some *bleep* over at the Debian Package Maintainer group decided that Apache could save very sensitive data into /tmp, so, it would be for the best if they changed something that worked for decades, and enabled a SystemD service unit option "PrivateTmp" for the webserver, by default.
What it does is that, anytime a process started with this option enabled writes to /tmp/*, the call gets hijacked or something, and actually makes the write to a private /tmp/something/tmp/ directory, where something... Appeared as a completely random name, with the "apache2.service" glued at the end.
That was also the only reason why I managed fix this issue - On the umpteenth time of checking the directory structure, I noticed a "systemd-private-foobarbas-apache2.service-cookie42" directory there... That contained nothing but a "tmp" directory with 777 as its permission, owned by the process' user and group.
Overriding that unit file option finally fixed the issue completely.
I have just one question - Why? Why change something that worked for decades? I understand that, in case you save something into /tmp, it may be read by 3rd parties or programs, but I am of the opinion that, if you did that, its only and only your fault if you wrote sensitive data into the temporary directory.
And as far as I am aware, by default, Apache does not actually write anything even remotely sensitive into /tmp, so...
Why. WHY!
I wasted 4 hours of my life debugging this! Only to find out its just another SystemD-enabled "feature" now!
And as much as I love kidding on SystemD, this time, I see it more as a fault of the package maintainers, because... I found no default apache2/httpd service file in the apache repo mirror... So...8 -
If is funny when you see a code challenge that requieres to reverse and array and you use ruby.
array.reverse! #fucking done5 -
Guys may i have your opinion please.
Should i take a job opportunity seriously if they are asking me to do an AngularJS code challenge?
Taking into consideration that AngularJS became outdated or legacy few months ago.
What do you think35 -
The convo between my friend and me back then
He: dude I heard you can code can you help me with this coding challenge on codechef
Me: bro, I try to let's check the problem
After 15-30 min we solve the question together
Then after 3 days or so he again meets me
He: do you know about Kali Linux
Me: no man not heard of Linux but what is Kali seems interesting
He: trying to hack WiFi
Me: *getting excited* bro teach me
He: I'm learning too
That day he got to know he can't hack WiFi and I got to know that my friend doesn't know jack shit about Linux, also Linux is awesome
But that moment changed my whole engineering life, I got to learn about Linux and I'm getting good at it every single day since then.
It's been 3 year since I met that fucker.
Tagging my amigo @ashwini0529 -
My biggest personal challenge as a dev is learning and retaining, as well as keeping current, any particular language. I swear I really did build a career as an HTML/JS/CSS programmer. I have a resume that shows I did. But for some reason, lately, every time I open an editor I feel like I'm starting over from 22 years ago. Everything I do nowadays is copy/paste from StackOverflow, hiring another dev to help out, or cribbing code from past projects. I'd love to be able to just open Sublime and start coding like a badass like I imagine other coders do, but I just can't even get started. WTF is wrong with me?
-
The Advent of Code is back on... Timezone doesn't help much with leaderboard in my case but I created a private one... join if you like, the code is: 414048-6ec978bd (to join: https://adventofcode.com/2018/...)
The advent is here: https://adventofcode.com/2018/
LETS FUCKING CODE!!!!7 -
I think that would be config tool for F1 Challenge ‘99-‘02 game which was called VMT Engine. It introduced me to modding community, the VMT Engine project taught me A LOT about software development.
The origin of this tool was I posted on F1 2014 VMT development forum thread “Hey! Wouldn’t it be cool if there was a tool that let you change tires type?”, so the VMT leader said “Why don’t you do it?”...So I did it 😐
I’m actually still updating the source code to this day1 -
First real dev project was a calculator for a browser game, that calculates the optimal number/combination of buildings to build. I got bored constantly doing it manually, so I made this program as a fun and useful challenge. It involved basic math, and I did it in VB.
Second one was a stats tracking page for my team in another browser game, that let us easily share and keep track of stuff. It allowed us to minmax our actions and reduced the downtime between actions of different players. HTML, CSS, JS, PHP, MySQL.
Third one was a userscript for the same game that added QoL features and made the game easier to play. JS
Fourth was for the first game, also a QoL feature userscript, that added colors/names, number limit validation to inputs, and optimization calculators built in the interface. It also fixed and improved various UI things. Also had a cheating feature where I could see the line of sight of enemies in the fog of war (lol the dev kept the data on the page even if you couldnt see the enemies on the map), but I didnt use it, it was just fun to code it. JS
From there on, I just continued learning and doing more and more complex shit, and learning new languages.2 -
Ok. Sap is a cool rompany, right? Im at a coding camp at it. The final challenge will be presented to the parents and the saps ceo. BUT YO U ONLY GIVE ME FUCKING 5 HOURS TO CODE IT??? ARE YOU FUCKING NUTS? YOU EXPECT ME TO USE A RANDOM ALGO OR WHAT??? I WANTED TO IMPLEMENT A ROOMBA ALGO, BUT WE DONT HAVE ENOUGH TIME!!!!!!!!!!!!!!!!!!!!!!5
-
Being a programmer and addicted to porn is a challenge, thus most work is in front of the screen. It's like trying to stop drugs but you work in a drug factory...
I've realized that it highly affects my ability to focus on code.
And btw, don't come with this is a reddit nofap comment, it's applicable here thus its for developers.18 -
“We will send you a code challenge :)”
Or if we are being serious, I like it when we discuss projects I or they have worked on and what was interesting and challenging about them, and what was done to overcome obstacles and why. I really like when we discuss potential options and why one was taken over another one. -
!rant
Restarted #100daysofcode.
Gonna finish this time no matter what 💪✊.
It's the challenge where you do code every day for 100days.
I am not kinda well right now but it's perfect opportunity
I got the time I always wanted for coding
So no excuses anymore.
Hope you guys also having some adventures coding time 😉😂8 -
Just finished the invite code challenge. it was incredibly difficult
Even with hints from forums 😢 but I'm in anyways☺4 -
Recently, I failed a lot. Most of them were interviews. Some failed at code challenge. Some of them were leet code type challenge. Some failed at less quality vs other people. Used to be ashamed or angry. Now able to embrace it. Thanks to jack ma's documentary. Start to integrated his philosophy into life.1
-
so i have to practice on codewars for homework and my code.. doesnt work! what a surprise. i was wondering if anyone could tell me whats wrong since yall are professionals. its probably a stupid mistake. this is the challenge: Implement a method that excepts three integer values a, b, c. The message return true if a triangle can be built with the sides of given length and false in any other case.13
-
I don't want to use Visual Basic!
I'm a 17 year old boy and I have a couple of years of experience with coding. At school we had to choose between a couple of things to do 2 hours every week. One of them was about computers and programming. Sounds fun, right?
The teacher is letting us code in Visual Basic in MS Excel. I tried to explain him that I know how to code, but he still wants me to listen to him.
He doesn't even use any indentation! I can't look at it and I don't want to use VB it sucks just let me use js or anything else but not VB! Why won't you just accept I'm 10 times better than you! Just let me do my thing!
Now he thinks he can challenge me with a password strength checker. I want to use js, some regex to make it very short and efficient and a nicely styled web page. But now I'll be forced to use a horrible programming language (VB) I never used before!24 -
Sometimes it's a challenge to show how much work I've accomplished to a non-techie (<- any good nicknames for such people?).
I mean yes it looks like it's pretty simple but there were like ~5000 new lines of code and 2 weeks of work put into getting this thing working perfectly, looking sexy, and moving efficiently all while making sure it protects our infra from idiots like you!2 -
The worst rejection was one after a first interview and a subsequent 3 hour code challenge. I was super nervous as it was my first code challenge in an interview that was one of my first. I wasn't confident when I submitted my work, but the time was up and so there wasn't much to be done.
The rejection was simple. Pure silence. No arguments, or feedback. Just didn't hear nothing back and that didn't help my fresh out of university self-confidence.1 -
That moment when first coding challenge is a mathematical expression evaluator with custom unary operators but your code does not meet the standard because it did not cure cancer.
The fuck you mean I had no unit tests. You specifically told me that you don't want a lot of code. F@$#&#k -
FredBoat, largest open source discord bot.
Making all the things work + making it scale when demand kept climbing was a challenge where we had to learn simple stuff like postgres, working with 3rd party apis, generally good coding patterns and maintainable code, but also rather advanced stuff like making the garbage collector play nice, profiling memory leaks and optimizing the hot path, as well as high level topics like cutting the codebase into scalable domains and services. -
I don't feel ready to search for jobs. I don't feel that coding is for me.
There is this guy that wanted to study physics and changed to System Information. He is more logical and rational than me. I'm too "emotional" to code, I get stressed easily when something isn't working.
I'm doing this because I wanted to challenge and prove myself that I could be more. I could have been a teacher, but I thought that it wasn't enough for me and I wanted to go further.
Every day I'm outside of my comfort zone and I don't know where this path will lead me and I'm scared and at the same time, I'm hoping for a happy end.
Maybe my brain is not made for coding, maybe it is more on the database side. But I'm sure of one thing: this year I'll give my best and everything at my current internship to get better at coding with Android Studio, Windows Form, Angular and React. My results will determine if I''m a good fit for coding.
Remember one thing: not everyone can easily learn how to code, but you will never know if you don't try it. Go out of your comfort zone in your life and you will meet a whole new world.2 -
My biggest dev epiphany was also my dumbest one. We were working on a payment system for a roadside rescue company where an employee would register payments "in the field".
The challenge was automating input with typeahead and autocompletes in order to lessen the workload as manual input had to be an absolute minimum; this will be used by truck drivers/mechanics as they are trying to hurry to the next customer who has been waiting for 3 hours longer than we said we'd take.
We managed to make the invoice path first (customer has not paid, employee logs personalia needed for billing), but when it came to "paid on site" we almost upended the entire system trying to find a way to fetch user personalia outside of the invoice path.
Neither of us realized it during the days we were banging our heads against it. Realizing we don't need to make an invoice for a job that has been paid for was equal parts relief and utter embarrassment.
Probably my greatest lesson in how important it is to pull my head out of the code once in a while, and to ask myself what I'm trying to do and why. -
Just remembered that I still had a foobar invite link in my email inbox 😋
The challenges are odd though, first challenge was super easy (basically an idiot check), but while I was able to convert 3 cans of energy drink into a functional solution in half an hour, the verification utility is not very verbose at all. So in Python 3.7.3 in my Debian box it worked just fine, yet the testing suite in Foobar was failing the whole time. After sending an email to my friend that gave the link (several years ago now, sorry about that! 😅) asking if he knew the problem, I found out that Google is still using Python 2.7.13 for some reason. Even Debian's Python is newer, at 2.7.16. To be fair it does still default to Python 2 too. But why.. why on Earth would you use Python 2.7 in a developer oriented set of challenges from a massive company, in 2020 when Python 2 has already been dead for almost a whole year?
But hey now that it's clear that it's Python 2.7, at least the next challenges should be a bit easier. Kind of my first time developing in SnekLang regardless actually, while the language doesn't have everything I'd expect (such as integer square root, at least not in Debian or the foobar challenge's interpreter), its math expressions are a lot cleaner than bash's (either expr or bc). So far I kinda like the language. 2-headed snake though and there's so much garbage for this language online, a lot more than there is for bash. I hate that. Half the stuff flat out doesn't work because it was written by someone who requires assistance to breathe.
Meh, here's to hoping that the next challenges will be smooth sailing :) after all most of the time spent on the first one (17.5 hours) was bottling up a solution for half an hour, tearing my hair out for a few hours on why Google's bloody verification tool wouldn't accept my functioning code (I wrote it for Python 3, assuming that that's what Google would be using), and 10 hours of sleep because no Google, I'm not scrubbing toilets for 48 hours. It's fair to warn people but no, I'm not gonna work for you as a cleaning lady! 😅
Other than the issues that the environment has, it's very fun to solve the challenges though. Fuck the theoretical questions with the whiteboard, all hiring processes should be like this!1 -
After learning a bit about alife I was able to write
another one. It took some false starts
to understand the problem, but afterward I was able to refactor the problem into a sort of alife that measured and carefully tweaked various variables in the simulator, as the algorithm
explored the paramater space. After a few hours of letting the thing run, it successfully returned a remainder of zero on 41.4% of semiprimes tested.
This is the bad boy right here:
tracks[14]
[15, 2731, 52, 144, 41.4]
As they say, "he ain't there yet, but he got the spirit."
A 'track' here is just a collection of critical values and a fitness score that was found given a few million runs. These variables are used as input to a factoring algorithm, attempting to factor
any number you give it. These parameters tune or configure the algorithm to try slightly different things. After some trial runs, the results are stored in the last entry in the list, and the whole process is repeated with slightly different numbers, ones that have been modified
and mutated so we can explore the space of possible parameters.
Naturally this is a bit of a hodgepodge, but the critical thing is that for each configuration of numbers representing a track (and its results), I chose the lowest fitness of three runs.
Meaning hypothetically theres room for improvement with a tweak of the core algorithm, or even modifications or mutations to the
track variables. I have no clue if this scales up to very large semiprime products, so that would be one of the next steps to test.
Fitness also doesn't account for return speed. Some of these may have a lower overall fitness, but might in fact have a lower basis
(the value of 'i' that needs to be found in order for the algorithm to return rem%a == 0) for correctly factoring a semiprime.
The key thing here is that because all the entries generated here are dependent on in an outer loop that specifies [i] must never be greater than a/4 (for whatever the lowest factor generated in this run is), we can potentially push down the value of i further with some modification.
The entire exercise took 2.1735 billion iterations (3-4 hours, wasn't paying attention) to find this particular configuration of variables for the current algorithm, but as before, I suspect I can probably push the fitness value (percentage of semiprimes covered) higher, either with a few
additional parameters, or a modification of the algorithm itself (with a necessary rerun to find another track of equivalent or greater fitness).
I'm starting to bump up to the limit of my resources, I keep hitting the ceiling in my RAD-style write->test->repeat development loop.
I'm primarily using the limited number of identities I know, my gut intuition, combine with looking at the numbers themselves, to deduce relationships as I improve these and other algorithms, instead of relying strictly on memorizing identities like most mathematicians do.
I'm thinking if I want to keep that rapid write->eval loop I'm gonna have to upgrade, or go to a server environment to keep things snappy.
I did find that "jiggling" the parameters after each trial helped to explore the parameter
space better, so I wrote some methods to do just that. But what I wouldn't mind doing
is taking this a bit of a step further, and writing some code to optimize the variables
of the jiggle method itself, by automating the observation of real-time track fitness,
and discarding those changes that lead to the system tending to find tracks with lower fitness.
I'd also like to break up the entire regime into a training vs test set, but for now
the results are pretty promising.
I knew if I kept researching I'd likely find extensions like this. Of course tested on
billions of semiprimes, instead of simply millions, or tested on very large semiprimes, the
effect might disappear, though the more i've tested, and the larger the numbers I've given it,
the more the effect has become prevalent.
Hitko suggested in the earlier thread, based on a simplification, that the original algorithm
was a tautology, but something told me for a change that I got one correct. Without that initial challenge I might have chalked this up to another false start instead of pushing through and making further breakthroughs.
I'd also like to thank all those who followed along, helped, or cheered on the madness:
In no particular order ,demolishun, scor, root, iiii, karlisk, netikras, fast-nop, hazarth, chonky-quiche, Midnight-shcode, nanobot, c0d4, jilano, kescherrant, electrineer, nomad,
vintprox, sariel, lensflare, jeeper.
The original write up for the ideas behind the concept can be found at:
https://devrant.com/rants/7650612/...
If I left your name out, you better speak up, theres only so many invitations to the orgy.
Firecode already says we're past max capacity!5 -
I just spend 15min debugging my answer to a code challenge just to notice I forgot to return the value...
What a fantastic waste of time.1 -
https://codingame.com/leaderboards/...
i got 409th place from 2347 participants total, 12th place from my country and 4th place in selected language (pascal)1 -
When you are new to a technology and language, but have to make full use of its feature.
You know, make tests, implement production code, planning deployment, build a CI. All by myself.
No regrets, though. Challenge accepted!1 -
I get that every small victory counts when you’re learning to code, but someone in my class just posted a link asking for feedback on the “coding challenge” they had completed. The link led to a website made from an HTML/CSS/JS template where only the ‘company name’ and hero image had been changed from the original template, nothing else. What exactly are you looking for “feedback” on here??? What was the “coding challenge”?10
-
Did an interview and got some feedback and my coding challenge (I didn't make the cut) . Was surprised at a particular comment on why it was I didn't make the cut and it was about the code not compiling atall. So I went to check the repo and found some code which I oath to have removed lodged into the code base which prevented the reviewer from being able to compile it. How tf it wasn't flagged out when I was compiling before pushing to the repo is beyond me. Now I feel hella stupid and disappointed in myself 🤦🏾♀️ (to be fair it wasn't the only reason I didn't make the cut. The code could have being better)1
-
Today my boss sent me something that smelled fishy to me. While he was trying to simulate Excel's rounding he faced what was to him unexpected behaviour and he claimed that one constructor of the BigDecimal class was "wrong".
It took me a moment why this was happening to him and I identified two issues in his code.
I found one fo the issues funny and I would like to present you a challenge. Can you find a number that disproves his claim?
It's Java if anyone was wondering.
double d = 102.15250;
BigDecimal db = new BigDecimal(d)
.setScale(3, BigDecimal.ROUND_HALF_EVEN);
BigDecimal db2 = new BigDecimal(String.format("%f",d))
.setScale(3, BigDecimal.ROUND_HALF_EVEN);
BigDecimal db3 = BigDecimal.valueOf(d)
.setScale(3, BigDecimal.ROUND_HALF_EVEN);
System.out.println(db); // WRONG! 102.153
System.out.println(db2); // RIGHT! 102.152
System.out.println(db3); // RIGHT! 102.152
P.s. of course the code itself is just a simple check, it's not how he usually writes code.
P.p.s. it's all about the numerical representation types.8 -
Had a nightmare last night where I was called in to do a coding challenge against two other people...on a whiteboard only and no Google or StackOverflow. I couldn't even get one line of code written. The other two guys got a bunch. Too bad one of my real life projects has a lot in common with this nightmare.
-
Be patient seem to be basic, but after many hors of unsucessfull code i'ts a challenge.
So take a break if your need one. -
The Odyssey of the Tenacious Tester:
Once upon a time in the digital kingdom of Binaryburg, there lived a diligent software tester named Alice. Alice was on a mission to ensure the flawless functionality of the kingdom's latest creation – the Grand Software Citadel.
The Grand Software Citadel was a marvel, built by the brilliant developers of Binaryburg to serve as the backbone of all digital endeavors. However, with great complexity came an even greater need for meticulous testing.
Alice, armed with her trusty testing toolkit, embarked on a journey through the intricate corridors of the Citadel. Her first challenge was the Maze of Edge Cases, where unexpected scenarios lurked at every turn. With a keen eye and a knack for uncovering hidden bugs, Alice navigated the maze, leaving no corner untested.
As she progressed, Alice encountered the Chamber of Compatibility, a place where the Citadel's code had to dance harmoniously with various browsers and devices. With each compatibility test, she waltzed through the intricacies of cross-browser compatibility, ensuring that the Citadel would shine on every screen.
But the true test awaited Alice in the Abyss of Load and Performance. Here, the Citadel's resilience was put to the test under the weight of simulated user hordes. Alice, undeterred by the mounting pressure, unleashed her army of virtual users upon the software, monitoring performance metrics like a hawk.
In the end, after days and nights of relentless testing, Alice emerged victorious. The Grand Software Citadel stood strong, its code fortified against the perils of bugs and glitches.
To honor her dedication, the software gods bestowed upon Alice the coveted title of Bug Slayer and a badge of distinction for her testing prowess. The testing community of Binaryburg celebrated her success, and her story became a legend shared around digital campfires.
And so, dear software testers, let the tale of Alice inspire you in your testing quests. May your test cases be thorough, your bug reports clear, and your software resilient against the challenges of the digital realm.
In the world of software testing, every diligent tester is a hero in their own right, ensuring that the digital kingdoms stand tall and bug-free. -
**Front End Job Interview**
Recruiter:We want people that have 7 years in react
Me: Well I have 5 considering react came out in 2014
Recruiter:So why did you come here ?
Me:I’m broke, I need a job and I have skills
Recruiter:Ok then..
Recruiter:For your code question,we want you to make a responsive web page with these frameworks and the source code.
*gives link to source code*
Me:Ok I can finish this in 3-5 days
Recruiter:we expect that you have 2 days to finish this
Me: Ok challenge accepted
*Finished website in 2 days*
Recruiter:This is a well made website, I’m impressed
Me:Thank you, it took time but I did it
Recruiter:You know what that means
Me: What?
Recruiter:Welcome to the club, you start next week
Me:LET’S GOOOOOOOOOOO, WOOOHOO, I’ll make you proud with my skills!!!!.
Moral:If you have a little humor and skills, you WILL get the job
I started the job a week later and it was AMAZING
*Based on a true story*2 -
So, I just started Week of Code 23, this was my first online competition. I got the email to start the first challenge and I clicked the link, then I went to do something else. When I got back I solved the challenge in 5 minutes (or less idk). I clicked submit, and then looked at the leaderboard.
My current position was something around 900 and I took 70+ minutes to complete the assignment xD :p
Bye chances of winning a t-shirt2 -
Finally.... Spent over an hour trying to optimize ~5 lines of code... Guess it was a review on how to use primes for hasig but....
Root cause was I just needed a slightly faster hashing function...
1 test failed from timeout of like maybe 1sec. Test shows passed, then in details shows Timeout...
https://hackerrank.com/challenges/... -
Just wasted 2 hours wondering why my simple bit of code didn't pass the test cases. Turns out what I thought was an add was actually supposed to be an xor. It was a hacker rank challenge. So much for trying to improve myself.
-
My biggest challenge is not telling the people who wrote code I get to maintain that it is a big pile of shit. My fear is I will forget I wrote said code and proceed to complain about said code. Then someone will point it out that I wrote said code. So it is kind of a self preservation strategy.
Also, in meetings, when my boss calls something a "piece of software", I have to refrain from giggling.3 -
I was tinkering around with my linux installation and trying to decide on a new terminal to use, and I ended up compiling st (suckless terminal). On a whim, I decided to look through the source code and see how much of it I would understand.
There was a C header file called arg.h that uses the preprocessor and macros to parse argument flags and songs by setting up a switch statement in a loop, all in under 50 LoC. To use it, just wrap the switch body between ARGBEGIN and ARGEND, and that's it. The comment at the top simply read "copy me if you can", a challenge to future programmers such as myself.
It was the most beautiful, elegant solution I have ever seen. I tried to tell my girlfriend about it, but she just didn't get it. Maybe some of you will appreciate it more:
https://github.com/chjj/st/... -
Today I had a full-day job interview for a junior data scientist position.
First I met the team which was only like half of everyone because apparently everyone was gone on Fridays. However the few there were really nice.
First task is to do some basic data analysis stuff even though I already spent a week on the coding challenge and sent them all my code/tasks. I log into my machine and create a new virtual environment but can't for the life of me figure out how to use the command line in windows to install packages. Turns out there is some problem with their proxy and they have to log me in on that. Then I am struggling on the keyboard because it's for a language different that my mother tongue and it takes me 3x as long to so the most simple things. All my shortcuts are out the window. Haven't a hard time typing parentheses and brackets. Start freaking out and have a panic attack mid task. I'm sweating bullets. I didn't even make it to the simple visualization tasks much less the models at the end. Time gets called and we all go to lunch and I'm freaking out on the inside the entire time. Angry at myself because I know I am better and just couldn't think.
After lunch I present my code and results from a coding challenge I did weeks prior. People from other teams get invited and I end up getting grilled for 2 hours by 15 people. Questions are flying in from all sides. They ask me almost everything I know about machine learning and some more. Under stress I forgot the name of the optimizer I used and couldn't answer some easy stuff because my mind was racing.
Right now I am on the train home and my body physically hurts. I am disappointed with myself and wish I could have shown up better. Never really froze up like this before.2 -
1. Creativity - you can create anything from typing words and a little electricity - office programs, new medicines, predicting cancer from images, robots, planes, satellites, rockets that put people to the Moon or robots to Mars - all use machines programmed with code.
2. Challenge - some of the projects and algorithms are so complicated that full understanding of them is great challenge.
3. Freedom - you only need a laptop and internet and a bit of electricity and you can code from anywhere on Earth or if you’re Astronaut you can even code from space. -
Today after a second interview I was asked to complete a code challenge. They didn't say when they would want it completed by, only just as soon as I was able I guess. Anyways, they said ideally they'd like it to only take me 4-5 hours to complete. What should I use to track time? I was thinking just giving them some WakaTime data or maybe screen record the challenge while I do it. What would you do?8
-
Dealing with clients is probably the biggest personal challenge. I'm not much of a people person, and I find it hard to converse with friends and people I've known for years, let alone clients who are looking for answers for why things aren't working, and wanting you to explain exactly (but in simple terms) why a thing that seems simple is so complicated.
Another challenge, which is somewhat related is expressing myself. This again, stems from not being super great or comfortable in conversations, but as a dev, even among other devs, your opinion on things gets asked a lot. For someone who was used to sticking with the status quo and mostly agreeing with things, stuff like peer code reviews, or giving pointers on how to implement something is a big challenge (but I'm improving)2 -
Wednesday to thursday I had a 24 hour programming challenge at college. Needless to say after 18 hours I lost my train of thought and literally forgot the past 3 lines of code I had written, causing me to re-write them for 15 minutes straight.
Great times. -
There's this depressing and slightly awkward moment when you're a professional software engineer, Google puts up a KIDS in code doodle/coding challenge and you can't work out how to solve the last puzzle in optimal moves...
Fuck.2 -
Do technical recruiters think that developers memorize the technical definitions by heart instead of using them in a seamless way?
What do they want? A dev who knows how to memorize or the one who knows how to implement.
I am really angry and i feel so uncomfortable when they ask me about a specific question and consider it wrong when they don't receive exactly the same answer.
Like one the recruiter told me: well how are you expecting from me to accept you as a developer while you don't know the definition of "technical term".
Dude i learned the hard way by building projects, watching videos, implementation, analysis. I am not going to read 70000 pages to understand the root of a coding language.
You fuckin need the output so focus on this shit.
Damn i feel so angry. Sorry in advance2 -
So I see posts about an interview question/challenge of inverting a binary tree. I don't use trees very often (mainly file related or parsing server nodes), but I thought I would learn how to do this.
I saw a page that started talking about different ways to invert enough to understand that one type of inversion is swapping left and right nodes. So I stopped before they showed how.
Then I created a test program that has a tree structure and also can display a tree before and after modification. This was kind of fun.
So then I wrote the inversion function. It was less than 10 lines of code. Wtf? I thought it would be harder than this.
Then I started wondering where trees were used. So today I have been learning how they are used and why I might need one to solve a problem. One use I intuited was parsing regex or a language. Apparently it is useful there.
What I am learning is that a lot of these interview questions are really test to see if you can comprehend instructions when stressed. Or you will ask questions to clarify the task. It doesn't necessarily test your ability to solve hard problems.
One thing that perplexes me. If inverting a tree is swapping nodes left<->right, then why not leave data in place and just swap roles in the functions. Maybe I completely misunderstood what inversion means or why it would be done. I guess if this is not inverting I have the structure to try other methods now.2 -
Just joined a new company and can only describe the merge process as madness.....is it or am I the one that is mad?!
They have the following branches:
UAT#_Development branch
UAT#_Branch (this kicks of a build to a machine named UAT#)
Each developer has a branch with the # being a number 1 to 6 except 5 which has been reserved for UAT_Testing branch.
They are working on a massive monolith (73 projects), it has direct references to projects with no nuget packages. To build the solution requires building other solutions in a particular order, in short a total fucking mess.
Developer workflow:
Branch from master with a feature or hotfix branch
Make commits to said branch and test manually as there are no automated tests
Push the commits to their UAT#_Development branch, this branch isn't recreated each time and may have differences to all the other UAT#_Development branches.
Once happy create a pull request to merge from UAT#_Development to UAT#_Branch you can approve your own pull request, this kicks off a build and pushes it to a server that is named UAT#.
Developer reviews changes on the UAT# server.
QA team create a UAT/year/month/day branch. Then tell developers to merge their UAT#_branch branches in to the previously created branch, this has to be done in order and that is done through a flurry of emails.
Once all merges are in it then gets pushed to a UAT_Testing branch which kicks off a build, again not a single automated test, and is manually tested by the QA team. If happy they create a release branch named Release/year/month/day and push the changes into it.
A pull request from the release branch is then made to pre-live environment where upon merge a build is kicked off. If that passes testing then a pull request to live is created and the code goes out into production.
Ahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh it's a total mess. I knew when I took on this job it would be a challenge but nothing has prepped me for the scale of the challenge!! My last place it was trunk based development, commit straight to master, build kicks off with automated testing and that just gets pushed through each of the environments, so easy, so simple!
They tell me this all came about because they previously used EntityFramework EDMX models for the database and it caused merge hell.9 -
I'm on vacation.
A friend asked me if I could work on a freelance web project. I was getting bored of summer vacations so I said yes.
It was a website for online lottery and it was already developed by some freelancers.
Owner wanted more freelancers to revamp design and administration panel.
I looked at the site and knew that I had seen the worst design and code of my life.
Frontend was made of two colors only, black and yellow. Out of both, black was more prominent. Moreover it had nothing related to Js as if it was developed as a challenge to be accomplished without java script.
Admin panel and backend was much worse than that. No security practices and deprecated essential libraries.
The nightmare is about to end as I have inducted a much better design from themeforest for frontend.
Backend is in my homebrew php framework.
(Good luck future freelancers 😆)
I'm positive that next edits will be features additions only and no one will blame my code.6 -
That person on here that created an enterprise hello world project, i think i have a new challenge for you:
https://github.com/Droogans/...12 -
So honestly this is kinda like an update on what I am currently doing rather than anything else, but I think it's pretty cool. So I'm in 9th grade right now and we're learning Trigonometry. I grasped the concept on the first day and I began to make a program that would solve a Trig. problem. So far, if you don't know about Java, I have done the 'front-end' part of the program, just flashy text, descriptions, and a bit more. I'm still going to be working on it today, but I just wanted to share because I think I may be working on it for the next few days. I really like this challenge to my self, as it is helping me use the code I have learned to do something for "the real world." Anyways, here it is:
https://github.com/DylanPerez1/... -
I'm currently working front end at my company, and am applying for a backend internship within the same company.
Would it be in appropriate for me to comment a block of code with
# I know there has to be a better way to do this but I haven't found it yet
In my code challenge for the application?
Basically I found a clumsy and ugly solution but I want them to know *i know* it's clumsy and ugly and if I had more time I would come up with something better6 -
Lead dev asks me to take on the restful api aspect to a new internal tool UI I have been building. Happy for the challenge, I spend the 4 days (half of that in my own time), writing out 1k lines of C# that I endeavoured to keep clean, thoroughly decoupled and something I can be proud of.
I give regular updates.
This morning he responds to my last update “we already have most of that code in place”.
This stuff happens a lot. Back of a fagpacket planning and then cries all around when it INVARIABLY goes wrong.
Does this kind of bullshit happen in a properly organised, Agile team? We are about to take on a huge project and frankly I want to save myself the ballache and go find a well oiled team if what I am witnessing isnt just how things are in software land, but as I rather suspect a product of lack of communication and organisation.1 -
> code golf challenge
okay, listening
> easy for beginners
alright, nice, I qualify
> all code must be exactly the same forwards and backwards, >50% of bytes must be run both ways, must run under any OS or system ever made
welp, there goes any hope of being able to fit something into the rules at all
(if you're interested, https://n0.lol/bggp/)15 -
I'm starting a 30 days of code + technical articles challenge
Stay tuned for flames 🔥
I'll be blogging about it on https://dev.to
https://dev.to/jordanirabor/... -
So Google’s Gemini API challenge is currently ongoing and I am looking for idea suggestions.
- The goal is to create an AI enabled platform for web or mobile with Gemini API integration.
- The idea is expected to be unique or creative (unique ideas are favored so I heard)
- I found out the last winner of Google’s Dialogflow competition created a Mobile app for the elderly that provides screen flow guide on usage of some of Google’s product (ie: Youtube, Gmail, Drive etc.). This is just an idea guide and I see why such would win. It’s not a must requirement.
The final code will be open source and surely would credit the original idea owner. I need your ideas fellow devranters. What AI enabled app do you think have the best chance of winning this challenge? I have some time to spare on this one.5 -
OK. We've got this tiny little pet project of mine (work related)…
I rescued it from the git archive, simply put: someone hot glued an elasticsearch scroll + document processor (processing) together.
After a lot of refactoring, I had an simple, much improved (non-parallel) Akka Worker System without an Akka topology / hierarchy.
I left out the hierarchy at first, because I didn't know Akka at all.
I've worked with a lot of process workflows, and some systems that come very close to IPC, so I wasn't completely in the dark.
Topology requires knowledge / creation of a state machine / process workflow. And at that point of time I just had... Garbage. Partially working garbage.
I finished yesterday the rewrite into several actors... Compared to before, there are 8 actors vs 2... And round about 20 classes more. Mostly since I rewrote the Receive Methods of Akka as Command DTOs... And a lot of functions needed to be seperated into layers (which where non existent before)
Since that felt more natural than the previous chaos of passing strings or other primitive types around, or in the worst case just object....
(Yes: Previously an Actor was essentially a class with one or more functions "doEverything" and maybe a few additional functions which did everything - from Rest Client to Processing)).
Then I draw the actual state machine based on everything I've written in the last weeks and thought about how to create the actual topology and where / how parallelizing might make sense.
Innocent me stumbled in the Akka Docs on Akka Typed... (Didn't know it existed, since I'm very new to Java and Akka).
Hm, that sounds an a lot like what I did. In an different way, yes. But not so different that it might be VERY hard to port to.... And I need to change (for implementation of hierarchy) a few classes....
[I should have known at this stage that my curiosity would get the best of me, but yeah. Curiosity killed the cat.]
Actually the documentation is not bad. It's just that upon reading the first more complex examples, my brain decided to go into panic state.
The've essentially combined all classes in one class in all source code examples [which makes sense more sense later], where it is fscking hard for an chaotic brain like mine to extract information....
https://doc.akka.io/docs/akka/...
The thing is: It's not hard to understand… actually very simple.
It was just my brain throwing an fuck you tantrum.
So I've opened more examples in other tabs and cross referenced what happened there and why...
Few frustrated hours later I got that part.... And the part why it's called Akka Typed. It was pretty simple....
Open the gates of hell, bloody satan that was too easy for fucks sake.
Nooooow.... I just need to port my stuff to Akka Typed.
Cause. Challenge accepted, bitch - eh brain. You throw tantrum, you work overtime. -.-
I just cannot decide wether to go FP or OOP.
Now... I'm curious wether FP is that hard... Hadn't dealt with it at large before.
Can someone please stop me... I'm far too curious again. -.- *cries*6 -
#Suphle Rant 3: Road to PHP8, Flow travails
Some primer: Flows is a feature that causes the framework to bypass handling the request now but read it from cache. This cache entry is meant to be populated without warming, based on the preceding request. It's sort of like prefetching but done on the back end
While building Suphle, I made some notes on some chapters about caveats and gotchas I may forget while documenting. One such note was that when users make the Flow request, the framework will attempt to determine who user is, using authentication mechanism defined on the first module (of the modular monolith)
Now, I got to this point during documentation and started wondering whether it's impossible for the originating request to have used a different authentication mechanism, which would result in an empty entry for returning user. I *think* it's possible cuz I've got something else called "route mirroring", where web based routes can be converted to API routes. They'll then return JSON, get served under defined API path, use JWT, all automatically. But I just couldn't connect the dots for the life of me, regarding how any of this could impact authentication on the Flow request
While trying to figure out how to write the test for this or whether it was even necessary (since I had no use case), it struck me that since Flow requests are not triggered by an actual user, any code attempting to read authenticated user will see nothing!
I HATE it when I realize there's ambiguity or an oversight, after the amount of attention and suffering devoted. This, along with a chain of personal troubles set off despondency for a couple of days. No appetite for food or talk. Grudgingly refactored in this update over some days. Wrote some tests, not all passed. More pain. May have to convert them to unit tests
For clarity, my expectation is, I built this. Nothing should be impossible for me
Surprisingly, I caught a somewhat lucky break –an ex colleague referred me to the 1st gig I'm getting in 1+ year. It's about writing a plugin for some obscure forum software. I'm not too excited cuz it's poorly documented and I'll have to do a lot of groping, they use arrays instead of objects etc. There's no guarantee I'll find how to implement all client's requirements
While brooding last night, surfing the PHP subreddit, stumbled on a post about using Rector to downgrade a codebase. I've always been interested in the reverse but didn't have any incentive to fret over it. Randomly googled and saw a post promising a codebase can be upgraded with 3 commands in 5 minutes to PHP 8. Piqued my interest around 12:something AM. Stayed up all night upgrading it, replacing PHPSTAN with Psalm, initializing the guy's project, merging Flow auth with master etc. I think it may have taken 5 minutes without the challenge of getting local dev environment to PHP 8
My mood is much lighter than it was, although the battle is not won yet –image tests are failing. For some weird reason, PHP8 can't read generated test images. Hope I can ride on that newfound lease on life to study the forum and get the features working
I have some other rant but this is already a lot to digest in one sitting. See you in rant #4 -
Ok, so currently in my Java course on Udemy we are going more in-depth into scope and visibility, and I'm currently doing the challenge for it.
So I'm doing it and the challenge is to have every single name of a variable or method be called 'x' (just to better understand scope and vis, he mentions how this is not a good practice AT ALL) with the exceptions of the classes and scanner var (but there is an optional challenge to also make them named x).
Now that I progressed into it, I noticed something. This challenge is literally making me make my code so DRY and outside-the-box-thinking that, what if, this could be a practice?
Not the naming everything in your code the same var name, but doing that at the start and then renaming the variables after coding. Because right now, I feel as though I am using SO MUCH less code than if I had the liberty of naming my classes, methods, and variables different things, it's actually kinda cool.
I'll attach my code from the challenge to this after by it really amazed me how well my code looked compared to my previous challenges and even personal projects!1 -
One day I decided I wanted to build robots.
And not kidding the reason I wanted to build them was because I wanted someone interesting to talk to and stil not kidding I even fantasized about a robot girlfriend... Lame I know I think I was a lonely little guy back then, though even after 7 years or so it doesn't feel as though it's that long ago. Maybe because things didn't change that much. Which is worrying but it's not the topic so I will pass on that future-past worries bullcrapper. After learning how robots worked and what made them function so things gradually led up to me being more interested in machine learning applications and software. I learned Arduino at first, I think I still have some messy circuits and old arduinos around. I only finished one robot though and it couldn't even support it's own weight. The servo motors were taking too many amps that heated up the little arduino even with a fan attached. Provably I should have made use of mechanics for robots books and calculated things first. But even though it couldn't walk properly I still felt success and I loved it like my own kid (me taking it apart was questionable but believe me). After that I focused more on writing code than using my hands to make things which was a pain in the ass if I might add.
After learning arduino and making that failed project of mine. I then picked up C++ wrote hello world program usual things a starter would do. It was the language I wrote my first game which I finished and this time it worked. But I never released it which was partly because I didn't want to spend a hundred bucks on a license for the engine and I also knew that it was a shit game. If I were to describe; lines in different colors come from the top you need to hit the lines with the same colored columns to break them. The columns changed their height and location on random. The lines sped up and gap between them decreased. Now that I think about it it wasn't half bad. But the code was written in game maker studio's version of C so I have no way to salvage it.
But I learned a lot of things from that project and that was the goal, so I would call it a win. I don't remember but after sometime I switched to python. And I'm glad I did, it's fun to code in which was the main reason I coded in the first place. Fun.
Life happens and time passes,
Now I'm waiting to enter college exams in a few months after hopefully passing them. My goal is to get into computer engineering which will be extremely challenging because it's the highest point department in the university I'm aiming at. But hey if the challenge is great the reward is greater right ? To be honest I'm still not sure about my career path. Too many choices. So I will just let my own road called <millions of similarly random events that are actually caused by deterministic reactions, to affect you and your surroundings leading up to a future which only the Laplace's demon can forsee> guide me. Wish me luck.1 -
I wrote my first proper promise today
I'm building a State-driven, ajax fed Order/Invoice creation UI which Sales Reps use to place purchases for customers over the phone. The backend is a mutated PHP OSCommerce catalog which I've been making strides in refactoring towards OOP/eliminating spahgetti code and the need for a massive bootstrapper file which includes a ton of nonsense (I started by isolating the session and several crucial classes dealing with currency, language and the cart)
I'm using raw JS and jquery with copious reorganization.
I like state driven design, so I write all my data objects as classes using a base class with a simple attribute setter, and then extend the class and define it's attributes as an array which is passed to the parent setter in the construct.
I have also populateFromJson method in the parent class which allows me to match the attribute names to database fields in the backend which returns via ajax.
I achieve the state tracking by placing these objects into an array which underscore.js Observe watches, and that triggers methods to update the DOM or other objects.
Sure, I could do this in react but
1) It's in an admin area where the sales reps using it have to use edge/chrome/Firefox
2) I'm still climbing the react learning curve, so I can rapid prototype in jquery faster instead of getting hung up on something I don't understand
3) said admin area already uses jquery anyway
4) I like a challenge
Implementing promises is quickly turning messy jquery ajax calls into neat organized promise based operations that fit into my state tracking paradigm, so all jquery is responsible for is user interaction events.
The big flaw I want to address is that I'm still making html elements as JS strings to generate inputs/fields into the pseudo-forms.
Can anyone point me in the direction of a library or practice that allows me to generate Dom elements in a template-style manner.4 -
so I'm the new guy now, my new team write complicated, deep-for-no-reason IFs instead of a switch, gave me a shitload of resources to get up to date with their standards, insisted to every time make sure my code has been tested, then the first deployment I see THEM do breaks production, because a major fucking app had no tests whatsoever, also half of the team has 30+ years of experience in backend, laughs about TS on the server (which is actually fair) and I'm the frontend guy
challenge accepted4 -
I have a good friend who wants to learn the basics of web development so she can leave her job. We used hang out frequently before the pandemic, so this would be a way for us to talk more. Unfortunately, I’m not sure how I can really help, since I don’t think I’m a good teacher.
My current plan is to send her through the free portions of Codecademy, and then find one-hour code challenges where we can code together via video chat, and then I can show her how I’d do certain parts differently when she’s done.
I feel like this is an OK foundation, but it doesn’t get into much of the other things web developers need, like CMS training and other stuff that just pops up as you work. Do you have any suggestions for 1) how to flesh out this training, 2) how to keep this fun, and not shift the dynamic of our friendship, and 3) how to eventually prove to a future employer that this training is actually useful?
Big ask, so big thanks to those with suggestions!5 -
1. I love the challenge of a good puzzle. There's always something new to solve that I didn't know before, and it rarely requires external knowledge like a crossword...
2. At least in my current life situation, no one I interact with has any idea what I'm doing, so if I feel like working on a solution to side project at work, it wouldn't look any different. It also keeps people from trying to learn about what I'm doing. They leave me alone which is exactly what I want.
3. As my professor once said (and totally stole from someone else), "the people who are the most talented and innovative with their code are probably the laziest in reality". I feel like this is pretty true, at least for me. Sometimes I see a simple repetitive task that I don't feel like doing, and I have the power to create a program to do it for me. Ultimate laziness with a fantastic result. -
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 -
If anyone complains one more time about "windows is built upon a DLL-Hell", i will challenge this specific anyone to implement react into an existing PHP-Project.
Installing matching package versions via npm is the real struggle.
Especially if you decide to be a node psycho who's delivering his react code via webpack.
*projectile vomiting in a straight beam of acid vomit*
Wasted a complete day of my life, dealing with Facebook's naughty shit.... -
Hire are a few tips to up productivity on development which has worked for me:
1) Use a system of at least 16gb ram when writing codes that requires compilation to run.
2) Test your code at most 3 times within an hour. This will combat the bad habit of practically checking changes on every new block you write.
3) Use internet modem in place of mobile hotspot and keep mobile data switched off. This will combat interruptions from your IM contacts and temptations to check your WA status update when working.
4) Implementation before optimisation... This is really important. It's tempting to rewrite a whole block even when other task are pending. If it works just leave it as is and move on to the next bull to kill, you can come back later to optimise.
5) Understand that no language is the best. Sometimes folks claim that PHP is faster than python. Okay I say but let's place a bet and I'll write a python code 10 times faster than your PHP on holiday. Focus more on your skill-set than the language else you'd find yourself switching frameworks more than necessary.
6) Check for existing code before writing an implementation from scratch... I bet you 50 bucks to your 10 someone already wrote that.
7) If it fails the first and then the second time... Don't try the third, check on StackOverflow for similar challenge.
8) When working with testers always ask for reproducible steps... Don't just start fixing bugs because sometimes their explanation looks like a bug when other times it's not and you can end up fixing what's never there.
9) If you're a tester always ask for explanations from the dev before calling a bug... It will save both your time and everybody's.
10) Don't be adamant to switching IDE... VSCode is much productive than Notepad++. Just give it a try an see for yourself.
My 10 cents.1 -
I've just joined a new company out of despair after several month out of jobs without being able to even get interviews.
I've been warned about the code being a bit behind with modern Android stack, they needed to migrate from rx to coroutine and compose is not a priority at the moment.
Fine with it, I like handling and planning migration, that's a nice challenge.
But if only that were the only problems !! Far from it, the code is a formidable mess, I've never seen so much amateurism... Most of it was written from the previous Lead Dev who stayed there for years and touched everything with their very bad practices.
I don't even know where to start honestly...
While the code is in Kotlin, it stink Java. Nothing wrong about Java, but if you code in kotlin, you need to understand what kotlin try to achieve. And that's not the case here. There is freaking nullable everywhere, for no reason at all, the data classes contains lot of var in their constructors, equals are override to compare only one or 2 params and no hashcode override with it.
Sealed class, what for ?! Let me just write a List<Pair<Enum, Any>> and cast your any depending on the enum !
Oh and you know what, let's cast everywhere, no check, and for once no null safe, there is enough nullable in the code !
What about the reactive part ? well let's recreate a kind of broken eventbus with rx ! Cause why not ?!
The viewmodel observable don't contain data, they just contain enum for the progress of the states we're checking.
In the viewmodel function we update that enum states and emit it to be observed and make the data available as a var for the view to pick it up when needed.
But why put the business logic in the viewmodel, let's put in the views, and grab and check the variable contain in the viewmodel whenever it fits.
Testing the business logic ? uh let me just test my variable initialisation in the viewmodel instead.
The vm, the views, make about 2000 lines, the test over 3000, and not a single test really test the business logic in it ! I've made big refactoring we're all the tests stayed green, while the function are full of side effects ! WTF ?!
Oh and what about that migration from rx to coroutine ? well better not break the existing code and continue writting like rx, everything is cold flow ! We just need to store a boolean saying if we already did our call to the data layer then we decide to start our flow or not.
As for the RecyclerView, having too many viewHolder is just so annoying, let's put all our different views in one, and hide what we don't need.
Keystore has been push on the repo, but it's private no ? So who cares ?!
And wait i'm not done ! Some of the main brick of the apps depends on library that hasn't been updated for years, and you know what... yes they were hosted on Jcenter and it's only now that they decide to do something about it, we we're warned about the sunset of jcenter 2 years ago !!!!
So what about compose ? What do you want with compose ?! there is no design system in that app obviously, so don't even think about it !
And there... among all of that mess, I'm supposed to do code review... how the fuck do you do a code review when all the code that is around stink ?!
And there is so much more but by now I'm afraid you're thinking i'm just pissing on the old code like everyone... but damn I guarantee, that's the worst code I've ever seen, and i've work on more than 15 app from small to big on different contract with a lot of legacy code, but nothing that bad !1 -
So in Udemy, I am learning about OOP in Java, and the next lecture is a big challenge in making a program with all the knowledge I have learned. I understand each concept, its just its a lot to memorize, however, I get the jist of it (You've ever had that feeling?). Anyways, I started writing notes on what each concept basically was and I began with composition. Now honestly I love composition and I just learned it a while ago. It is actually the most confusing thing I have learned in Java so far, as a few months ago when I was practicing Java I didn't understand it at ALL and I stopped coding for like half a year after (I'm back bebe don't worry). So I make my notes on composition and I realize, dang, I understand this a lot more than I thought. I thought this because what I did was make a file in Eclipse (not a class, a file) and I just started writing code without auto-complete like I was a mad lad. I made classes, fields, and I FEEL like I made my point about composition with the notes I also jotted down. Anyways, this was a part story and part what do you guys think of my notes on Composition. I think they are good and actually kinda detailed. Anyways thanks for reading this!
https://pastebin.com/bqL0CWjM -
I am currently playing dumb with a potential hire and it's just so much fun I don't know if I should stop.
We gave the dev a little coding challenge to code a small expense tracking app. Nothing fancy, just to see how he well he could do on his own. We told him to take as much time as he requires.
He submitted it and I tried to run it. It worked alright but I could not register or login.
I debugged the issue with him for a while and told him I would look at it later since I am tied up with other tasks..
We are communicating via an IM.
Him: Or how did you run the project. I wish I was there to run it for you. Lol
Me: dotnet run. start without debugging
Him: From the cmd?
At this point I about to get pissed. Where else would I run 'dotnet run' from??
Me: I would hope so
Him: I always run it from the cmd. With administrative privileges
Me: Really?? Where can I find cmd?
Him: Yes. Do you use a Mac?
Me: nope. I am using windows2 -
So looks like I got a job in a tech company. I won't be coding much but I guess I'd be debugging the errors and reporting them to devs.
I think I'll like this job:
1) Pay is better than I expected considering my long gap in the industry as an employee. Honestly, I don't care about the pay.
2) I like the challenge in debugging things.
3) I don't like coding under pressure and deadlines. Besides, I want to reserve my desire for coding on my side projects - mostly solutions to issues I face. If I go for a developer job, the last thing I would wanna do is
code again after the work. I'd probably go insane with such a life.
4) Recently I realised that I'm not that much of a coding geek as people around me make it seem. I had attended a hackthon and almost every single dev out there had their laptop covered in stickers. They also had grasp on diverse stacks meanwhile I'm quite picky on stacks I even care to read about.
5) I'd have to be a bit more outgoing and interactive with people than my usual self. So yeah, I'll be pushing my comfort zone.
6) Most importantly, this job aligns with the dream job with great pay and freedom that I'm eyeing for. -
I really am in a love/hate relationship with programming...
I had some free time so I decided to do the Google foo bar challenge. For testing purpose, I code in sublime text and then copy the code in the browser.
Yesterday, I spent most of the afternoon doing one challenge. I figured out how to approach the problem, which was kinda easy, and coded it in about 10 minutes. For some reason, what worked perfectly in sublime text worked without throwing any errors in the browser, but 4 of the 5 test done by Google failed.
Today, after spending a good hour tweaking some stuff in the hope that it would work, the browser editor started throwing indentation errors...
Deleted the code in the browser, copy-pasted the exact same code from sublime : All test passed!
That's a couple of hours I'm never getting back. -
A question, how do I overcome the mindset of doing code challenge in hacker rank every day? 1. Hard to understand the challenge about. 2. Even easy question, very unwilling to do it. 3. If gets stuck, should I look at the answer?
-
{TL:DR/ a super non web dev non frontend non interested person aka me somehow cracked the interview(through wrong practices i guess) landed into an internship that would have gone to a better person.I cracked the interview but am shit scared if i could stand the job}
- So 3 days ago i was talking to my friend regarding random stuff, when he told about needing a front end dev for making static template based html pages for their company.
- (I haven't ever worked in deep with web dev, just generated a few websites using mardown to html convertors, and was recently trying to learn flask/bootstrap/js) I was in need of some work so immediately requested him to talk about me in their company.
- yesterday i get an interview call from the hr of that company . She ask what i know, what they want and if i could do. I honestly tell them about my experience with web dev( with some maybe's)
- moments later , she adds me to a group with another guy, and gives us both a task to use create a clone of same website in 2 days.
- The website is a super graphically designed web page with lots of animations, custom mouses and what not. I could sense the basic elements out of it , like the nav bar and the carousals, but those animations were way beyond my knowledge. yet i start working on it
- I try with taking the clever top down approach of cloning the website and fixing its structure. It has such long code files of 10k+ lines, but i was still able to clean the css and html files and some of js code to make the website work
- later my friend calls and tells me that the other guy is a 1st year student / his brother and he doesn't know much stuff so he's kinda like me.
- He shows me a video of his code that he sent to him. That guy took the honest, bottom up approach, used the design as inspiration and was trying hard to create the similar design and animations via js.
- among other things, he also tells me that this challenge is super difficult and the level of difficulty in the work is certainly going to be lesser than this.
- In my task, I was super stuck at js because i haven't learned it much, therefore after spending 1.5 days, i made a submission without the main thing, i.e one particular carousal working
- later I get a call from another friend (B) of mine and while discussing random things, i show him my code over anydesk and ask him if he could somehow get my code to work. He asks for some time and sends me a complete refactored version of code with the same design but fully working carousal and other stuff.
- meanwhile i get to see the other guy's code and he had legit made all the designs and functions by himself, but his code looked less polished and different from the design.
- I pushed my friend(B)'s refactored version and added a comment on the group the carousal in mu code is now working.
- later at night my friend1 calls and tells me that their company was considering my submission and i would be getting the selection call
- I feel like a crazy fraud who somehow cracked the interview but is going to get his ass whipped. Where and how can i learn js, and jquery?5 -
You work in a team, for a team to move forward successfully the team should work in sync. A team always has a goal and a plan to get to it. There are times when the team needs to take a different direction therefore the set path should always be available for change because our environments dictate it.
We all have different styles of working and different opinions on how things should work. Sometimes one is wrong and the other is right, and sometimes both are wrong, or actually sometimes both are right. However, at the end of it all, the next step is a decision for the team, not an individual, and moving forward means doing it together. #KickAssTeam
The end result can not come in at the beginning but only at the end of an implementation and sometimes if you’re lucky, during implementation you can smell the shit before it hits the fan. So as humans, we will make mistakes at times by using the wrong decisions and when this happens, a strong team will pull things in the right direction quickly and together. #KickAssTeam
Having a team of different opinions does not mean not being able to work together. It actually means a strong team! #kickAssTeam However the challenging part means it can be a challenge. This calls for having processes in place that will allow the team members to be heard and for new knowledge to take lead. This space requires discipline in listening and interrogating opinions without attachment to ideas and always knowing that YOUR opinion is a suggestion, not a solution. Until it is taken on by the team. #KickAssTeam We all love our own thinking. However, learning to re-learn or change opinions when faced with new information should become as easy to take in and use.
Now, I am no expert at this however through my years of development I find this strategy to work in a team of developers. It’s a few questions you ask yourself before every commit, When faced with working in a new team and possibly as a suggestion when trying to align other team members with the team.
The point of this article, the questions to self!
Am I following the formatting standard set?
Is what I have written in line with official documentation?
Is what I am committing a technical conversion of the business requirement?
Have I duplicated functionality the framework already offers?
I have introduced a methodology, library, heavily reusable component to the system, have you had a discussion with the team before implementing?
Are your methods and functions truly responsible for 1 thing?
Will someone you will never get to talk to or your future self have documentation of your work?
Either via point number 2, domain-specific, or business requirements documentation.
Are you future thinking too much in your solution?
Will future proof have a great chance of complicating the current use case?
Remember, you can never write perfect code that cures every future problem, but what you can do perfectly is serve the current business problem you are facing and after doing that for decades, you would have had a perfect line of development success.1 -
So I'm a 4th year computer science student, and my school has mandatory Co-Op requirements, of which I need to complete an internship for 3 semesters. I have already completed 2 semesters at a tech company, and have continued to work part time for them for the past year. Though, for my last co-op block I wanted to try to go for a bigger more well known company that would look good on my resume after graduation. For several reasons, I was looking for something in the Boston area and I came across two companies that seemed like great places to work at, so I began preparing.
For both companies, the process was very similar: I applied, got a phone interview, completed a coding assignment, made it to the final technical interview. For both technical interviews, I did some research and found the typical prompts that these companies ask. I took a look at both of them and they both involved a relatively simple challenge that involved string manipulation in the language of your choice. Before both interviews I practiced these challenges to make sure I could do them, it was no problem, could do each of them my first try in about 15 minutes. However, when it came to sitting down with their engineers, it was totally different.
Even though I literally practiced the problem before hand, I for some reason kept blanking on things during both interviews. For some reason I was finding it extremely challenging to talk and code at the same time. The first company interview went very well except for the coding portion in which they gave me feedback saying "I didn't seem confident in my coding skills", which is why I didn't get that position. For the second interview I couldn't even finish the assignment in the full hour even though I practiced it beforehand and did it in 15 minutes on my own. It is very frustrating because I feel that out of all the aspects involved in an interview, coding is in reality my strongest, but it just seems completely different when I have to explain what I'm doing while I'm doing it.
Has anyone else experienced this sort of thing? If so, how did you get past it/prepare for it?1 -
I could calculate the percentage of a value from a total set right from the top of my head. This includes large numbers like for example; finding the percentage of 1040 from 75000 = 1.377%, 344 from 5400 = 6.37% and so on...
But most times when I come across scenarios to apply such calculations on code I find myself googling for formulas and then I wonder; how am I able to come to a valid result when faced with similar challenge but could not recall or tell the formula my funny brain is deriving it's results from.
Maybe my brain isn't even using a formula. :/
So I guess because from pondering on how I arrived at results, I could tell I'm starting from an "if"...
Like:
If 25 of 100 = 25%
and 45 of 250 = 18%
Then 450 of 2400 will equal 18.7...%
Ask me what formula was used in the first "if" condition and I can't tell because that's common sense for me.2 -
How do people check code quality during interview process online? I believe I write a very good one after 9years+ experience but never got passed...
-
I am participating in LeetCode challenge for April and May month. I thought :thinking_face: it would be a great help for every Kotlin developer to share LeetCode challenge solution in Kotlin. I am looking forward your help to optimize the current code or suggest me better approach. I will keep updating the repository on daily basis as challenge goes on.
https://github.com/manishandroid/...
https://github.com/manishandroid/... -
I need an idea for a JS coding challenge for a job interview that a poor unlucky person is going to take after me, 'cause i'm leaving..
Requirements: it must be simple, but not simple enough for my other two colleagues. Aka no webpack, no framework, plain js inside a webpage.
My other two colleagues don't even know how to do an array.forEach() or literally how to code in general. They are copy-pastah programmers.
How can i do that without offending anyone?3 -
So I have a few projects that I've been planning out for a while. Looking to start one over Christmas, build it up and launch early-ish next year.
I would say I'm well versed in RoR. Not great at explaining things but in terms of writing code I got that. Just not that great of a speaker haha more of a doer.
I also use JS a lot and some Node.
But I think I want to challenge myself at least for one of the projects. I've jumped around languages and frameworks alot job wise as I've had too. Never had the opportunity there to focus and hone in on the one language or stack. Which I do want to try and try and focus on a stack or language in 2020 to hone it in, focus on only a few things.
So I was thinking of using TypeScript and Vue with firebase. But that seems close to what I've been doing already. If I was to build the first project with RoR I can get a production ready app within a few days maybe even less because how easy it is to use and previous experience of course.
The first project is just a simple jobs board similar to we work remotely.
I've also heard good things about go and rust, asp.net. I'm open to all ideas. -
I have never seen core coding questions here so this is one of my shots in the dark-- this time, because I have a phobia for stackoverflow, and specifically, discussing this objective among wider audience
Here it goes: Ever since elon musk overpriced twitter apis, the 3rd-party app I used to unfollow non-followers broke. So I wrote a nifty crawler that cycles through those following me and fish out traitors who found me unpleasant enough to unfollow. Script works fine, I suspect, because I have a small amount I'm following
The challenge lies in me preemptively trying to delete some of the elements before the dom can overflow. Realistically, you want to do this every 1000 rows or so. The problem is, tampering with the rows causes the page's lazy loader to break. Apparently, it has some indicator somewhere using information on one of the rows to determine details of the next fetch
I've tried doing many things when we reach that batch limit:
1) wiping either the first or last
2) wiping only even rows
3) logging read rows and wiping them when it reaches batch limit
4) Emptying or hiding them
5) Accessing siblings of the last element and wiping them
I've tried adding custom selectors to the incoming nodes but something funny occurs. During each iteration, at some point, their `.length` gets reset, implying those selectors were removed or the contents were transferred to another element. I set the MutationObserver to track changes but it fetches nothing
I hope there are no twitter devs here cuz I went great pains to decipher their classes. I don't want them throwing another cog that would disrupt the crawler. So you can post any suggestions you have that could work and I will try it out. Or if it's impossible to assist without running the code, I will have no choice but to post it here4 -
For years now I've been "dreaming in code" but in the stupid way, which is only appropiate.
I try to explain it to myself and *I* can't understand it.
One, by some oniric enchantment, is capable of communicating signals through use of some symbolic language; and any time one speaks, they are affecting all that follows.
So a sequence of these, of any size, corresponds to some kind of program, and the self is some sort of collection of mutable structures being affected by them. And new symbols arise from within the self, corresponding to sequences of previously spoken symbols.
This process in itself can be satisfying, for the mere challenge of engaging with it's bottomless complexity, but it also suffers from a complete lack of purpose.
What does it mean? It's all undefined, yet doing something, so it must *mean* something. But what is it doing? One simply cannot grasp it!
I go to bed at night and traverse my tree, I recognize it, I've been working on it for years. Time is different there, you can just keep infinitely building shit, it never ends. Then I wake up and everything makes sense, for a little while.
But what I see isn't quantifiable; I can't turn it into a representation that works outside of a dream. Does it give me some vague ideas for the "actual" code I'm working on, yes of course. Yet it's all so... elusive, I can never put it into words. How exactly I could think of this? Well, it's in my tree, I know it because I wrote it as I slept. But how?
Fucking brains, maan.1