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 - "job matching"
-
!rant
This was over a year ago now, but my first PR at my current job was +6,249/-1,545,334 loc. Here is how that happened... When I joined the company and saw the code I was supposed to work on I kind of freaked out. The project was set up in the most ass-backward way with some sort of bootstrap boilerplate sample app thing with its own build process inside a subfolder of the main angular project. The angular app used all the CSS, fonts, icons, etc. from the boilerplate app and referenced the assets directly. If you needed to make changes to the CSS, fonts, icons, etc you would need to cd into the boilerplate app directory, make the changes, run a Gulp build that compiled things there, then cd back to the main directory and run Grunt build (thats right, both grunt and gulp) that then built the angular app and referenced the compiled assets inside the boilerplate directory. One simple CSS change would take 2 minutes to test at minimum.
I told them I needed at least a week to overhaul the app before I felt like I could do any real work. Here were the horrors I found along the way.
- All compiled (unminified) assets (both CSS and JS) were committed to git, including vendor code such as jQuery and Bootstrap.
- All bower components were committed to git (ALL their source code, documentation, etc, not just the one dist/minified JS file we referenced).
- The Grunt build was set up by someone who had no idea what they were doing. Every SINGLE file or dependency that needed to be copied to the build folder was listed one by one in a HUGE config.json file instead of using pattern matching like `assets/images/*`.
- All the example code from the boilerplate and multiple jQuery spaghetti sample apps from the boilerplate were committed to git, as well as ALL the documentation too. There was literally a `git clone` of the boilerplate repo inside a folder in the app.
- There were two separate copies of Bootstrap 3 being compiled from source. One inside the boilerplate folder and one at the angular app level. They were both included on the page, so literally every single CSS rule was overridden by the second copy of bootstrap. Oh, and because bootstrap source was included and commited and built from source, the actual bootstrap source files had been edited by developers to change styles (instead of overriding them) so there was no replacing it with an OOTB minified version.
- It is an angular app but there were multiple jQuery libraries included and relied upon and used for actual in-app functionality behavior. And, beyond that, even though angular includes many native ways to do XHR requests (using $resource or $http), there were numerous places in the app where there were `XMLHttpRequest`s intermixed with angular code.
- There was no live reloading for local development, meaning if I wanted to make one CSS change I had to stop my server, run a build, start again (about 2 minutes total). They seemed to think this was fine.
- All this monstrosity was handled by a single massive Gruntfile that was over 2000loc. When all my hacking and slashing was done, I reduced this to ~140loc.
- There were developer's (I use that term loosely) *PERSONAL AWS ACCESS KEYS* hardcoded into the source code (remember, this is a web end app, so this was in every user's browser) in order to do file uploads. Of course when I checked in AWS, those keys had full admin access to absolutely everything in AWS.
- The entire unminified AWS Javascript SDK was included on the page and not used or referenced (~1.5mb)
- There was no error handling or reporting. An API error would just result in nothing happening on the front end, so the user would usually just click and click again, re-triggering the same error. There was also no error reporting software installed (NewRelic, Rollbar, etc) so we had no idea when our users encountered errors on the front end. The previous developers would literally guide users who were experiencing issues through opening their console in dev tools and have them screenshot the error and send it to them.
- I could go on and on...
This is why you hire a real front-end engineer to build your web app instead of the cheapest contractors you can find from Ukraine.
19 -
My linkedin profile = ~7 years as an iOS developer. All of my job titles are "iOS Developer", "iOS Engineer" or "Mobile lead".
Recruiter: Hi, your profile looks great, I have a number of open roles matching your skills. Would you be free for a call to discuss your salary expectations, skills, what you are looking for etc.
Me: Hi, sorry I don't have time for a call right now, here are answers to your questions. Can you send me on any iOS job specs you have and i'll review. <answers>
Recruiter: Sorry I have no open iOS roles at this time.
Bitch ... ima find you and make you understand5 -
(c) Creative Tim. Worth to read pips!
How to land a programming job
1. ABC (Always Be Coding) - The more you code, the better you'll get.
2. Master at least one multi-paradigm language - Some good candidates are C#, C++, Java, PHP, Python, and Ruby.
3. Re-invent the wheel - You should implement the most common data structures in your language choice.
4. Solve word problems - Pick those that test your ability to implement recursive, pattern-matching, greedy, dynamic programming, and graph problems
5. Make coding easy - At least, make it look easy.
6. Be passionate - If you don't care, then nobody else will.
7. Don't make assumptions - Ask questions if you're not sure.11 -
I told my boss I'd been offered a job somewhere else with a better position and pay and he presented a reasonable counter-offer in under two hours which included an on-paper promotion and matching payrise.
I stayed. 🙃12 -
> Root struggles with her ticket
> Boss struggles too
> Also: random thoughts about this job
I've been sick lately, and it's the kind of sick where I'm exhausted all day, every day (infuriatingly, except at night). While tired, I can't think, so I can't really work, but I'm during my probationary period at work, so I've still been doing my best -- which, honestly, is pretty shit right now.
My current project involves legal agreements, and changing agent authorization methods (written, telephone recording, or letting the user click a link). Each of these, and depending on the type of transaction, requires a different legal agreement. And the logic and structure surrounding these is intricate and confusing to follow. I've been struggling through this and the project's ever-expanding scope for weeks, and specifically the agreements logic for the past few days. I've felt embarrassed and guilty for making so little progress, and that (and a bunch of other things) are making me depressed.
Today, I finally gave up and asked my boss for help. We had an hour and a half call where we worked through it together (at 6pm...). Despite having written quite a bit of the code and tests, he was often saying things like "How is this not working? This doesn't make any sense." So I don't feel quite so bad now.
I knew the code was complex and sprawling and unintuitive, but seeing one of its authors struggling too was really cathartic.
On an unrelated note, I asked the most senior dev (a Macintosh Lisa dev) why everything was using strings instead of symbols (in Rails) since symbols are much faster. That got him looking into the benchmarks, and he found that symbols are about twice as fast (for his minimal test, anyway), and he suggested we switch to those. His word is gold; mine is ignorable. kind of annoying. but anyway, he further went into optimizing the lookup of a giant array of strings, and discovered bsearch. (it's a divide-and-conquer lookup). and here I am wondering why they didn't implement it that way to begin with. 🙄
I don't think I'm learning much here, except how to work with a "mature" codebase. To take a page from @Rutee07, I think "mature" here means the same as in porn: not something you ever want ot see or think about.
I mean, I'm learning other things, too, like how to delegate methods from one model to another, but I have yet to see why you would want to. Every use of it I've explored thus far has just complicated things, like delegating methods on a child of a 1:n relation to the parent. Which child? How does that work? No bloody clue! but it does, somehow, after I copy/pasted a bunch of esoteric legacy bs and fussed with it enough.
I feel like once I get a good grasp of the various payment wrappers, verification/anti-fraud integration, and per-business fraud rules I'll have learned most of what they can offer. Specifically those because I had written a baby version of them at a previous job (Hell), and was trying to architect exactly what this company already has built.
I like a few things about this company. I like my boss. I like the remote work. I like the code reviews. I like the pay. I like the office and some socializing twice a year.
But I don't like the codebase. at all. and I don't have any friends here. My boss is friendly, but he's not a friend. I feel like my last boss (both bosses) were, or could have been if I was more social. But here? I feel alone. I'm assigned work, and my boss is friendly when talking about work, but that's all he's there for. Out of the two female devs I work with, one basically just ignores me, and the other only ever talks about work in ways I can barely understand, and she's a little pushy, and just... really irritating. The "senior" devs (in quotes because they're honestly not amazing) just don't have time, which i understand. but at the same time... i don't have *anyone* to talk to. It really sucks.
I'm not happy here.
I miss my last job.
But the reason I left that one is because this job allows me to move and work remotely. I got a counter-offer from them exactly matching my current job, sans the code reviews. but we haven't moved yet. and if I leave and go back there without having moved, it'll look like i just abandoned them. and that's the last thing I want them to think.
So, I'm stuck here for awhile.
not that it's a bad thing, but i'm feeling overwhelmed and stressed. and it's just not a good fit. but maybe I'll actually start learning things. and I suppose that's also why I took the job.
So, ever onward, I guess.
It would just be nice if I could take some of the happy along with me.7 -
Once I got zero in an exam just because I chose to make a function for a piece of code I had to use repeatedly. I went to my lab teacher and asked her what was wrong about my code to which she replied "This code is wrong because there should not be this function in this class". She was our lab instructor and turned out she marked us by matching our code with code given to her by our lecturer. I quietly returned to my seat and started thinking about how did she get this job.8
-
So for everyone looking for a job, that keeps getting rejection or crickets I'll give you the following tip.
Most of the first level screen of resumes are done by automated machines that are basically just doing keyword matching. So if you want your resume to get through more of these automated scanners, what you do is create a second page on your resume and cram it with every keyword, and buzzword you can thinking of, like "10 years react experience." "20 years java architect", "AR/VR 5 years", "15 years mobile", etc ,etc.
Then select the text and change it to white. No human being will see it, but the automated scanners will and rocket you to the top of the list.
Your welcome. Now help me get my penguin!6 -
* A job application followup email I received:
Hi [programmerName],
Thank you for your interest in joining [companyName].
While we appreciate your application, we decided to move forward with other candidates whose skills and experience are a closer match to our requirements for this specific role.
Feel free to check back, as we are always adding new positions.
Best of luck with your career search!
-The [companyName] Team
* My (probably trashed) reply:
Hello
I personally ignore this precompiled stuff you HR people send.
I feel this answer will be probably trashed somewhere but I feel the need to write this.
You know absolutely nothing about my skills because you didn’t even talk with me.
Maybe I am not the best person in writing a resume or an introduction letter, the key skill appreciated in companies doing head hunting instead of building a solid corporate culture and cultivating talent. Or at least HR people in such companies.
Please consider that, maybe you didn’t like my resume or I didn't write a list of words matching your check list, but at least I honestly wrote my experience instead of trying to hack my way to a job interview writing a fake one that triggers usual HR patterns.
Consider that I do a job for a living and I don't live or have the time to make the perfect resume, I don’t even apply for all companies I see, I only apply for the ones I believe I can work well because I like them. I am not a professional job searcher, jumping from a company to another.
You keep posting this very same add since October 2019 and probably even earlier.
This sounds to me like:
- or your selection process does not work well and you end up hiring the wrong people
- or maybe your work place is not that good as you describe it, so that you have zero retainment despite your high salary.
But I cannot be sure because, guess what, I could not check personally.
If you want to talk about my skills and compare me to other people please test me otherwise don’t write (copy/paste) this offensive trash.
Best of luck with your career as a HR person in a tech company!
-A person tired of HR managers that do not give a f**k about the word “human” in their job description.13 -
I think I'm gonna put a list of my demands on my LinkedIn similar to job requirements we get but that any recruiter /company that wants to even talk to me must be willing to meet.
Good idea or bad idea? IMO seems to be a waste of both our times if we don't even stand a chance of matching9 -
I know I haven't been responding to a lot of you lately. I've been busy helping neighbors and my community, doing MAAAAAATH, working on my car, and moving a shit ton of scrap and lumber.
I've been thinking about getting a motorcycle. Fuck, maybe I'm experiencing a midlife crisis, but early.
Been busy doing some design work as well for the game, and arrived at something that I'm satisfied with enough that I might demo it.
I'm also looking for a job, and I think I might give up programming as a career path and persue welding or trucking or something considering theres basically zero opportunities for it unless you went to college.
It's good to have hobbys anyway. And who wants to turn their hobby into a job right?
Anyway, thats whats been going on with me.
Completely unrelated, but heres a really fantastic introduction to the basics of type theory:
https://wscp.dev/posts/tech/...2 -
Most successful project at work: NodeJS utility for storing loads of measurements from an application running on various other systems and providing fast ways of getting at that data. No DB, just CSV files broken into time periods. Also has a search function written in C that can very quickly find all user sessions matching the criteria. It's not perfect, but it does the job pretty well and I can tweak the storage engine as much as needed for our use case since its all custom written.
Outside of work: Incomplete right now but I soldered some wires onto an old sound card and managed to get an Arduino to configure it and play some notes on its FM synthesis chip. Still quite a newbie to electronics so this was quite an achievement for me personally. -
After nearly 30 years developing, I've seen plenty of irrelevant job emails, but this one shows I can still be surprised! I'm struggling to think what in my profile could even come close to matching me for this role.
2 -
48 hours.
We had 3 weeks of "manual data collection": pencil, paper and a dozen of people around all the offices of the company with the task to collect serial numbers of every piece of equipment used.
Then we had 3 weeks of data entry, a dozen of people copying all handwritten data to a custom made VB form.
And then there was me, the guy that was in charge of verifying, zipping and sending the data to the client. I spent 48h non stop to go through everything, finding, fixing or delete unusable data.
I had to delete at least 25% of the data because incomplete or completely unusable (serial numbers too short or too long, for example).
48h in the office.
The data was then delivered to the customer. 2 days after, when I finally woke up, everyone was in panic because:
- serial numbers were not matching
- addresses were wrong
- the number of delivered records was smaller than expected
What did I learn from this experience?
When your deadline is tomorrow, and you need 4 weeks to complete your work, ignore the deadline and inform everyone at any level that you are ignoring the deadline. And then resign and find a better job.
Ah, yes, pencils and paper are powerful tools, but rat poison too. You just need to use them in the right place. The only data collection that can be trusted when done with a pencil is the one involving checkboxes.1 -
Something managers need to understand:
Developers are not a bag of M&M's to pick from and arrange them on the customer's table, neither are they LittleBits or LEGO pieces to click together for the customer to play with.
We can't possibly satisfy every client skill need. We need time to learn, and not by fudging around with the tech in production or similar.1 -
My mom bought a new phone in a phone shop. They advised her a Samsung A25 prolly not matching the specs of her old iPhone. My mom doesn't do anything else than making videos with that thing, so storage and camera are important. Now, she doesn't get email configured on it somehow and the people of the store are like "we don't enter passwords because privacy Bla Bla". What a lame excuse fuck faces. Giving service is the only reason your sad stores still exists. Transferring data and configure them for older people. I've send her back to demand it from those scammers.
Fuck faces, refusing to do their job if they can get away with it1 -
A1 Autoworkz Auto Body Shop: Your Premier Auto Repair and Collision Center Serving Bronxville, NY, and Beyond
When it comes to high-quality car painting services and expert automotive collision repair, A1 Autoworkz Auto Body Shop is your go-to destination for all things auto repair in the Bronxville, NY area. Conveniently located at 543 E 3rd St, Mt Vernon, NY 10553, we provide a wide range of services, from car collision repair in New Rochelle to auto repair near Bronxville, NY, ensuring your vehicle is restored to its best condition after any damage.
Whether you’re dealing with a minor scratch, a major collision, or a complete vehicle overhaul, our dedicated team of professionals is here to offer reliable, affordable, and comprehensive vehicle repair services.
Bronxville Car Painting Services: Restoring Your Vehicle's Appearance
One of the most noticeable aspects of your car’s condition is its paint job. Whether your vehicle has been scratched, scuffed, or damaged in an accident, A1 Autoworkz Auto Body Shop offers expert Bronxville car painting services to restore your vehicle’s appearance to its former glory.
Our car painting services include:
Custom Paint Jobs: If you’re looking to personalize your vehicle with a custom color or design, we offer specialized custom car painting to suit your preferences.
Paint Matching: After a collision or accident, we provide expert paint matching to seamlessly blend the new paint with the existing finish.
Scratch and Chip Repair: Minor damages like scratches and chips can be fixed quickly, ensuring a smooth and flawless finish.
Full Paint Restoration: For vehicles that need a complete refresh, we offer auto paint restoration to give your car a brand-new appearance.
With our car painting services in Bronxville, your vehicle will look like new again, whether you need a touch-up or a full re-spray.
Auto Repair Near Bronxville, NY: Comprehensive Services at Your Doorstep
If you’re searching for reliable auto repair near Bronxville, NY, A1 Autoworkz Auto Body Shop is the place to go. We offer a full range of auto repair services to ensure your vehicle is running smoothly and efficiently.
Our auto repair services include:
Routine Maintenance: From oil changes to tire rotations, we handle all your routine vehicle maintenance needs to keep your car in peak condition.
Brake Repair: Our technicians specialize in brake inspections, replacements, and repairs to ensure your safety on the road.
Transmission and Engine Repair: If you’re experiencing issues with your engine or transmission, we can diagnose and repair the problem efficiently.
Suspension and Steering Repairs: We provide repairs for suspension and steering systems to ensure your car handles properly.
Whether you’re dealing with a mechanical issue or just need preventive maintenance, A1 Autoworkz Auto Body Shop is your trusted auto repair center near Bronxville, NY.
Automotive Collision Repair Bronxville: Get Your Car Back on Track
At A1 Autoworkz Auto Body Shop, we understand that a collision can be a stressful and overwhelming experience. That’s why we offer expert automotive collision repair services in Bronxville, NY to restore your car to its original condition. Whether your car has a minor dent or more extensive damage, we have the tools, technology, and expertise to get it back on the road safely.
Our automotive collision repair services include:
Bumper and Fender Repair: After a collision, your bumper or fender may need repair or replacement. We provide professional bumper and fender services to ensure your car looks and functions like new.
Frame Alignment: If your vehicle’s frame has been bent or misaligned in a collision, we use state-of-the-art equipment to straighten and restore it to its original position.
Paint and Finish: After collision repairs, we provide expert auto painting services to blend and match the paint seamlessly, leaving no evidence of the repair.
Glass and Window Repair: We can replace broken windows or repair chips in your windshield to keep your car looking great and secure.
When it comes to automotive collision repair in Bronxville, A1 Autoworkz Auto Body Shop offers fast, reliable, and high-quality repair services to get you back on the road with confidence.
Bronxville Vehicle Repair Services: Quality and Affordable Repairs
At A1 Autoworkz Auto Body Shop, we pride ourselves on providing the best vehicle repair services for drivers in Bronxville, NY. Whether you need routine maintenance or more complex repairs, our experienced technicians are here to help.
Our vehicle repair services include:
Engine Diagnostics and Repair: If your engine isn’t running smoothly, we offer diagnostic services to pinpoint the issue and make the necessary repairs.
9
