AboutA Designer obsessed with how things work. A programmer wannabe/willbe. I dont have much experience yet but Im insanely good at learning. Im on an awesome path to becoming a dev and the more I learn the more I fall in love with coding.
Joined devRant on 8/12/2016
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Best way to learn dev tech is to choose the thickest book on the field and start reading it. Don't lose your time on blogs comparing what is the best framework If you do not know any of them... Select one and full blast!!!
"Let's do some pair programming! It will be fun!"
... Fuck no.
Either I start coding and you open a beer, or the other way around. And sure, I do not mind doing each other's code reviews. I respect your feedback.
But I can't look over your shoulder while you misspell keywords. When I write code, I search, try, debug and play at a high speed.
I'm an impressionist/surrealist writing messy passionate functions, breaking lots of things with broad paintbrush strokes before finishing it into detailed perfection. I remember all the places in the code I need to work on, and cover everything with tests.
You're a baroque coder, sometimes even a hyperrealist, with your two-finger 10 wpm typing, writing code strictly line-by-line, decorating every statement with the right checks & typehints in advance. You can not keep two functions in your head at the same time. You write tests reluctantly, but you hate that I barely plan. You plan everything, including your pee breaks.
As a coworker I respect you.
But there is no bigger hell than pair programming with you.14
Received "emergency update" code from internal enterprise security team. Wasn't given time to do code review; was assured code was reviewed and solid.
Pushed code to over 6k lower-level servers before finding this gem buried deep within:
cd /foo; rm -rf *; cd /
(This ran as root, and yes, the cwd was / from earlier in the code).
/foo, of course, did not exist on some servers.
Now, it is those servers which do not exist.
My brother and I have been messing with our IBM 5150 and doing cool stuff with it. I got it to play a youtube video via telnet via my bro's mac via mplayer with libcaca (ascii video output) + youtube-dl (a youtube downloader. The mac is doing all the heavy lifting, but it is still cool to see these images on a IBM 5150, just by typing a few commands on that old keyboard... more fun projects to come with this old thing.7
So this just happened:
Sarah = best friend (random name)
Sister: Hey, could you help, sarah's phone isn't recognized by her computer anymore.
Me: What phone/pc does she have?
Me: Has she checked the drivers?
Sister: *tells to check drivers, feedback:* yes, seems to be fine.
Me: *comes up with 1000 other suggestions*
Sister: *doesn't work every time*
Me: Is there any other information that might be useful in this case?
Sister: Well, she dropped her phone in the water earlier, the phone is hardly responding.
Me: THE WAT? AND YOU DIDN'T THINK THIS WOULD BE WORTH MENTIONING IN THE BEGINNING?!? FUUUUUUUUUUUUUUUU.19
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.
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?
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 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?
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.
X: You advertised a job, so I applied.
I: And why do you want to change your job?
X: Money, baby!
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?
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:
@devRant, instead of telling me you couldn't do something because of a connection error why not cache it and execute the command when there is a network available?7
A young guy I work with burst into tears today, I had no idea what happened so I tried to comfort him and ask what was up.
It appears his main client had gone nuts with him because they wanted him to make an internet toolbar (think Ask.com) and he politely informed them toolbars doesn't really exist anymore and it wouldn't work on things like modern browsers or mobile devices.
Being given a polite but honest opinion was obviously something the client wasn't used to and knowing the guy was a young and fairly inexperienced, they started throwing very personal insults and asking him exactly what he knows about things (a lot more than them).
So being the big, bold, handsome senior developer I am, I immediately phoned the client back and told them to either come speak to me face-to-face and apologise to him in person or we'd terminate there contract with immediate effect. They're coming down tomorrow...
So part my rant, part a rant on behalf of a young developer who did nothing wrong and was treated like shit, I think we've all been there.
We'll see how this goes! Who the hell wants a toolbar anyway?!333
devRanters do you think this is feasible as a fun/learning devRant community side-project?
Possible community side project: 'devie Stressball Trans-OceanicTrackable Voyage': So, my idea is based on the 2,000 year old concept of a message in a bottle. In fact, bottles from the Titanic were found 100 years after it hit the iceberg.
Pseudo: we pack devie into a bottle along with maybe a Raspberry Pi,GPS module, solar battery... Hopefully, it could send pings and we could track the journey. I am more a software guy than a hardware guy but I have played a bit with Pi and I know a few devs good with Pi's.I will also talk to the folds at Adafruit.
Here is an interesting paper I found in my beginning research. http://netlab.tkk.fi/u/jo/...
Also, I have seen low cost Raspberry Pi cubesats powered in outer space by solar.
Please let me know your thoughts if you think this might be possible. Also, if some of you might be interested in taking this learning journey. If we decide to try it I will purchase the hardware. Looking forward to your thoughts. Love this community!94
I once figured out a fix for my bug in my dream. Luckily, I woke up at 2 in the morning and wrote the fix down and went back to sleep. The next morning, the whole thing felt like a dream.3
Girl: we need to talk
Girl: you seem to have more time for your computer than me. I want to know how important I am to you.
Me: You are the number 1 in my life.
Girl: *smiles and hugs me*
Me: (thinking)...Just that I start counting from 024
So last year i was competing in IT basics, school level went great so i went to state level. This is my first state competition ever and im really nervous, everyone is telling me things like "you've got the gift, don't worry" (by everyone i mean my mum) but i keep believing that everyone who went to the state level has a 'gift' for IT. So the competition is about to start and a guy next to me raises hand to ask a question and im like so nervous that he is going to ask something i dont understand or is too complicated for me. The guy fucking asks how to get past the login screen because he clicked on an admin account and it is requesting a password. The fucking guest account is right next to the admin account that he clicked on and i proceed to help him and i click on the guest account and he litteraly asks me "wow i didnt know that was possible". What the fuck. IT BASICS STATE LEVEL. DOSENT FUCKING KNOW HOW TO ENTER A GUEST ACCOUNT. Next on, the competition is over and we have to enter passwords to submit our online test so as i walk to exit the classroom i see a guy struggling and i ask him like dude you need to write a password and submit! Hes like umm yeah i know but umm you see... I dont know how to write a # (it was required as a password) .IT FUCKING BASICS STATE LEVEL.DOSENT KNOW HOW TO WRITE A '#'. Later on i got 8th place and the fucker who didnt know how to write # got 1st because he knew fucking exel questions that i didnt.4
A guy named Valter couldn't register on this website because the developer blacklisted *ALTER*, amongst other words, to prevent SQL injection.11
Boss: "wow how it happened it's already November? Well, here is this project that we supposed to end on October that I didn't mentioned yet, sorry I was sure last month was September. Don't make any plans for next few weekends, ok?"6
Worst part of devving? Handling fucking time. GMT, EST, daylight savings, DHCP settings overriding the actual time because some fuckwit runs a server incorrectly, dealing with Voip phones and their super flaky time profiles. Fuck time.4
Hello, would you like to hear a TCP joke?
Yes, I'd like to hear a TCP joke.
OK, I'll tell you a TCP joke.
OK, I'll hear a TCP joke.
Are you ready to hear a TCP joke?
Yes, I am ready to hear a TCP joke.
OK, I'm about to send the TCP joke. It will last 10 seconds, it has two characters, it does not have a setting, it ends with a punchline.
OK, I'm ready to hear the TCP joke that will last 10 seconds, has two characters, does not have a setting and will end with a punchline.
I'm sorry, your connection has timed out... ...Hello, would you like to hear a TCP joke?11
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!205
Speaking of annoying stuff in coding. What the fuck is it with the localized error messages?
No. Fuck you. No. Give me the English version so I can google it and find answers from the huge English speaking community instead of the tiny community of my language.6