Details
-
AboutCTO and product owner of a few popular dev tools
-
SkillsSwift, objective C, Ruby and general Web stuff
Joined devRant on 5/13/2016
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
-
So my college has Apple iMacs and this is the pain I have to go through everyday.
Why can't they just clean it at least once?36 -
Boss 1: You have such a dedicated team of workers, how do you make them all come in time?
Boss 2: Its simple, 30 employees, 20 parking spaces.14 -
C#? Should have used Java
Java? So much boilerplate, use node
JavaScript? Terrible language, get some types
Typescript? Lipstick on a pig
PHP? Gross
React? Should have used Angular
Angular? Should have used Vue
Vue? Why aren't you using jQuery + HTML
VSCode? Use vim instead
Stfu, no one gives a shit about your biased closed minded opinion. Your users really don't care what technology you use, so long as they're happy.14 -
IoT is when your ai powered toaster is mining bitcoin to pay off its gambling debts it has with the smart fridge.15
-
Talking to my angry girlfriend is the hardest debugging process.
I can't even find out what went wrong44 -
My "Coding Standards" for my dev team
1.) Every developer thinks or have thought their shit don't stink. If you think you have the best code, submit it to your peers for review. The results may surprise you.
2.) It doesn't matter if you've been working here for a day or ten years. Everyone's input is valuable. I don't care if you're the best damn programmer. If you ever pull rank or seniority on someone who is trying to help, even if it isn't necessarily valid or helpful, please have your resume ready to work elsewhere.
3.) Every language is great and every language sucks in their own ways. We don't have time for a measuring contest. The only time a language debate should arise is for the goal of finding the right one for the project at hand.
4.) Comment your code. We don't have time to investigate what the structure and purpose of your code is when we need to extend upon it.
5.) If you use someone else's work, give them the credit in your comments. Plagiarism will not be tolerated.
6.) If you use flash, you will be taken out back and shot. If you survive, you will be shot again.
7.) If you load jQuery for the sole purpose of writing a simple function, #6 applies.
8.) Unless it is an actual picture, there is little to no reason for not utilizing CSS. That's what it's there for.
9.) We don't support any version of Internet Explorer and Edge other than the latest versions, and only layout/alignment fixes will be bothered with.
10.) If you are struggling with a task, reach out. While you should be able to work independently, it doesn't make sense to waste your time and everyone else's to not seek assistance when needed.
11.) I'm serious about #6 and #7. Don't do it.48 -
!rant
After over 20 years as a Software Engineer, Architect, and Manager, I want to pass along some unsolicited advice to junior developers either because I grew through it, or I've had to deal with developers who behaved poorly:
1) Your ego will hurt you FAR more than your junior coding skills. Nobody expects you to be the best early in your career, so don't act like you are.
2) Working independently is a must. It's okay to ask questions, but ask sparingly. Remember, mid and senior level guys need to focus just as much as you do, so before interrupting them, exhaust your resources (Google, Stack Overflow, books, etc..)
3) Working code != good code. You are an author. Write your code so that it can be read. Accept criticism that may seem trivial such as renaming a variable or method. If someone is suggesting it, it's because they didn't know what it did without further investigation.
4) Ask for peer reviews and LISTEN to the critique. Even after 20+ years, I send my code to more junior developers and often get good corrections sent back. (remember the ego thing from tip #1?) Even if they have no critiques for me, sometimes they will see a technique I used and learn from that. Peer reviews are win-win-win.
5) When in doubt, do NOT BS your way out. Refer to someone who knows, or offer to get back to them. Often times, persons other than engineers will take what you said as gospel. If that later turns out to be wrong, a bunch of people will have to get involved to clean up the expectations.
6) Slow down in order to speed up. Always start a task by thinking about the very high level use cases, then slowly work through your logic to achieve that. Rushing to complete, even for senior engineers, usually means less-than-ideal code that somebody will have to maintain.
7) Write documentation, always! Even if your company doesn't take documentation seriously, other engineers will remember how well documented your code is, and they will appreciate you for it/think of you next time that sweet job opens up.
8) Good code is important, but good impressions are better. I have code that is the most embarrassing crap ever still in production to this day. People don't think of me as "that shitty developer who wrote that ugly ass code that one time a decade ago," They think of me as "that developer who was fun to work with and busted his ass." Because of that, I've never been unemployed for more than a day. It's critical to have a good network and good references.
9) Don't shy away from the unknown. It's easy to hope somebody else picks up that task that you don't understand, but you wont learn it if they do. The daunting, unknown tasks are the most rewarding to complete (and trust me, other devs will notice.)
10) Learning is up to you. I can't tell you the number of engineers I passed on hiring because their answer to what they know about PHP7 was: "Nothing. I haven't learned it yet because my current company is still using PHP5." This is YOUR craft. It's not up to your employer to keep you relevant in the job market, it's up to YOU. You don't always need to be a pro at the latest and greatest, but at least read the changelog. Stay abreast of current technology, security threats, etc...
These are just a few quick tips from my experience. Others may chime in with theirs, and some may dispute mine. I wish you all fruitful careers!221 -
Hey, i want to make a game and i need some help, so I'm looking for a team.
What i need is:
2 programmers
3 graphics artists
2 level designers
1 music composer
2 dialog writers
1 web designer for page and forums
5 testers
What i will do, you ask? Well, I've got some really good ideas. I think the game should be like Final Fantasy, but bigger and better. I worked with RPG Maker for two months, but I'm best with ideas. I think my ideas would make some incred...
GO SHOVE YOUR IDEAS INTO YOUR ASS! The idea means nothing. I got an idea for the best game ever, right this morning while i was taking a SHIT!
Hobby teams need people who create content. And people who can do stuff will more likely work with someone who does stuff as well and has proven that he is able to get things done.28 -
I was hired to build a small PHP site. The client was arrested and sentenced to jail time right before the third of four milestones was complete, so I didn't get paid any more after that. Didn't hear from him for over a year, then out of nowhere he wanted to pick up where we left off.5
-
If restaurants functioned like Microsoft:
Patron: Waiter!
Waiter: Hi, my name is Bill, and I'll be your Support Waiter. What seems to be the problem?
Patron: There's a fly in my soup!
Waiter: Try again, maybe the fly won't be there this time.
Patron: No, it's still there.
Waiter: Maybe it's the way you're using the soup; try eating it with a fork instead.
Patron: Even when I use the fork, the fly is still there.
Waiter: Maybe the soup is incompatible with the bowl; what kind of bowl are you using?
Patron: A SOUP bowl!
Waiter: Hmmm, that should work. Maybe it's a configuration problem; how was the bowl set up?
Patron: You brought it to me on a saucer;what has that to do with the fly in my soup?!
Waiter: Can you remember everything you did before you noticed the fly in your soup?
Patron: I sat down and ordered the Soup of the Day!
Waiter: Have you considered upgrading to the latest Soup of the Day?
Patron: You have more than one Soup of the Day each day??
Waiter: Yes, the Soup of the Day is changed every hour.
Patron: Well, what is the Soup of the Day now? Waiter: The current Soup of the Day is tomato.
Patron: Fine. Bring me the tomato soup, and the check. I'm running late now.
[waiter leaves and returns with another bowl of soup and the check]
Waiter: Here you are, Sir. The soup and your check.
Patron: This is potato soup.
Waiter: Yes, the tomato soup wasn't ready yet.
Patron: Well, I'm so hungry now, I'll eat anything.
[waiter leaves.]
Patron: Waiter! There's a gnat in my soup!
The check:
Soup of the Day . . . . . . . . . . . . . . . . $5.00
Upgrade to newer Soup of the Day. . . . . . . . $2.50
Access to support . . . . . . . . . . . . . . . $1.009 -
Everyone here ranting about a fucking missing semicolon. I can't remember the last time a missing semicolon was the issue...
You wanna know what's REALLY BALL-BUSTING????
WHEN THE FUCKING 10 y/o LEGACY CODEBASE, CODED BY FUCKING PHP WORDPRESS SCRIPTERS WHO THOUGHT THEY COULD BUILD AN ENTERPRISE SHIT CAUSE ZF2 "LOOKS EASY" AND THEN FILL IT UP WITH SPAGHETTI, IS SO BAD WRITTEN THAT IN ORDER FOR THE PAGE TO RENDER YOU ACTUALLY ****HAVE**** TO DISABLE ERROR REPORTING SO WHENEVER A FUCKING ERROR HAPPENS ON THE TEMPLATE RENDER COMPONENT OF ZEND FRAMESHIT 2, YOU'RE LEFT WITH A FUCKING BLANK PAGE AND NOTHING IS LOGGED TO THE LOG FILE, SO YOUR ONLY OPTION IS DIE() DEBUGGING LINE BY LINE ON THE 1300 LINES PHTML FUCKFEST OF A VIEW THEY HAVE.
MISSING SEMICOLON? YES PLEASE, GIVE ME MORE OF THAT SHIT38 -
Conversation with my Boss
B: Are u a hacker?
M: No
B: We need a hacker?
M: Why?
B: Because X department wants to do a hackathon.12 -
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 -
My job is so f**king unbelievable.
I'll try to sum it up by first telling you about the folks I work with:
First, there is this supermodel wanna-be chick. Yeah, okay, she is pretty hot, but damn is she completely useless.
The girl is constantly fixing her hair or putting on make-up.
She is extremely self-centred and has never once considered the needs or wants of anyone but herself.
She is as dumb as a box of rocks, and I still find it surprising that she has enough brain power to continue to breathe.
The next chick is completely the opposite. She might even be one of the smartest people on the planet.
Her career opportunities are endless, and yet she is here with us. She is a zero on a scale of 1 to 10.
I'm not sure she even showers, much less shaves her "womanly" parts.
I think she might be a lesbian, because every time we drive by the hardware store she moans like a cat in heat.
But the jewel of the crowd has got to be the fucking stoner. And this guy is more than just your average pothead.
In fact, he is baked before he comes to work, during work, and I'm sure after work.
He probably hasn't been sober any time in the last ten years, and he's only 22.
He dresses like a beatnik throwback from the 1960's, and to make things worse, he brings his big f**king dog to work.
Every f**king day I have to look at this huge Great Dane walk around half-stoned from the second-hand smoke.
Hell, sometimes I even think it's trying to talk with its constant bellowing.
Also, both of them are constantly hungry, requiring multiple stops to McDonald's and Burger King, every single f**king day.
Anyway, I drive these dicks around in my van and we solve mysteries and s**t.49 -
Yesterday: Senior dev messages out a screenshot of someone using an extension method I wrote (he didn’t know I wrote it)..
SeniorDev: “OMG…that has to be the stupidest thing I ever saw.”
Me: “Stupid? Why?”
SeniorDev: “Why are they having to check the value from the database to see if it’s DBNull and if it is, return null. The database value is already null. So stupid.”
Me: “DBNull is not null, it has a value. When you call the .ToString, it returns an empty string.”
SeniorDev: ”No it doesn’t, it returns null.”
<oh no he didn’t….the smack down begins>
Me: “Really? Are you sure?”
SeniorDev: “Yes! And if the developer bothered to write any unit tests, he would have known.”
Me: “Unit tests? Why do you assume there aren’t any unit tests? Did you look?”
<at this moment, couple other devs take off their head phones and turn around>
SeniorDev:”Well…uh…I just assumed there aren’t because this is an obvious use case. If there was a test, it would have failed.”
Me: “Well, let’s take a look..”
<open up the test project…navigate to the specific use case>
Me: “Yep, there it is. DBNull.Value.ToString does not return a Null value.”
SeniorDev: “Huh? Must be a new feature of C#. Anyway, if the developers wrote their code correctly, they wouldn’t have to use those extension methods. It’s a mess.”
<trying really hard not drop the F-Bomb or two>
Me: “Couple of years ago the DBAs changed the data access standard so any nullable values would always default to null. So no empty strings, zeros, negative values to indicate a non-value. Downside was now the developers couldn’t assume the value returned the expected data type. What they ended up writing was a lot of code to check the value if it was DBNull. Lots of variations of ‘if …’ , ternary operators, some creative lamda expressions, which led to unexpected behavior in the user interface. Developers blamed the DBAs, DBAs blamed the developers. Remember, Tom and DBA-Sam almost got into a fist fight over it.”
SeniorDev: “Oh…yea…but that’s a management problem, not a programming problem.”
Me: “Probably, but since the developers starting using the extension methods, bug tickets related to mis-matched data has nearly disappeared. When was the last time you saw DBA-Sam complain about the developers?”
SeniorDev: “I guess not for a while, but it’s still no excuse.”
Me: “Excuse? Excuse for what?”
<couple of awkward seconds of silence>
SeniorDev: “Hey, did you guys see the video of the guy punching the kangaroo? It’s hilarious…here, check this out.. ”
Pin shoulders the mat…1 2 3….I win.6