Joined devRant on 5/16/2016
Fred Brooks was wrong when he said in No Silver Bullet that there is no single development that promises an order of magnitude improvement in productivity in a decade.
He didn't anticipate Stackoverflow.
Half of the courses we had in our college were about electronics. Except Microprocessors and Transistors, it's not relevant.
We even had chemistry and engineering drawing. So we essentially wasted more than half of our time.
Besides languages, weren't taught anything about real world software development.
Nothing about how to work with an existing code base, version control, design patterns, system design, creating a website, debugging, functional programming, scalability, reliability.
The industry should be involved in setting the syllabus and also contributing part time teachers.2
Read basic documentation.
Pick a fun project to do it with.
Start doing it - with lots of help from larry page and the overflow site.
What's with the resurgence of mechanical keyboards? Things are supposed to get better, not recycled.
This is technology, not fashion.
For me, the flat scissor switch keys on laptops have the best feel, speed and ease.8
Here's the story of how we ended up creating our own programming language.
I'd love to get feedback from the excellent dev community on what we did.15
I hate cliched lines in office.
When someone I respect leaves the company I don't say "Good luck for your future. Keep in touch". I shake hands, look them in the eye and say "It's been an honor"
On a birthday I don't say "Happy Birthday". I say "May you grace the cover of Time magazine" or something else related to their aspirations.3
Linux used to be primarily for developers.
But with most software people use becoming browser based (mail, slack, chat, docs, drive etc.) and with Ubuntu UI becoming progressively more user friendly, most lay people can now comfortably switch over to Linux.
Especially for startups for whom Windows licenses feel expensive. Our startup did the same.8
Meet the rubber duck I use for debugging.
He calls himself Pudge. And every time I make a mistake in my explanation, he butchers me ☺️.1
Back when every mobile company had a different charger it made sense to say Nokia charger or Sony Ericsson charger.
But ever since micro usb became standard, I cringe when I ask for a micro usb charger and idiots say they have a Samsung charger not a Motorola one.
Seriously? How much do you have to think to realize if a charger works for many brands of phones it can't be a Samsung charger?7
Ever since streaming became the primary mode of accessing movies and music, hard disk space more than 500GB became unnecessary for most people.12
Remember how CPU speeds stopped mattering after they reached 2GHz? (except for gaming and media editing of course).
I believe Internet speeds have also met that zero marginal utility point at 15Mbps.
I felt no difference when mine went up gradually from 15Mbps to 75Mbps now. (Thanks ACT, India)15
"A picture is worth a thousand words"
No one knows the pain of that more than a front end dev trying to reduce load times of a web page.5
In school I met LOGO. It was the best language I had ever known.
In college after knowing Basic I met C++. Its was the best language I had ever known.
At work I met Ruby. It was the best language I had ever known.
At each stage I thought it would be hard to beat this one.
I wonder what language I'll meet next.6
Was having fun learning Ruby so I decided to write a program that would find IMDB ratings of the hundreds of movies on my computer and recommend me the next one to watch.
Why didn't I finish it then? Couldn't get Google to work through a programmatic call.
Why don't I finish it now?
Popcorn time has made my need obsolete.1
Biggest hurdle overcome in my career?
Tried getting into good companies like Microsoft and Amazon since college days. It took me 3 years to finally figure out that i only had to solve the problems in Cracking the Coding interview to get into both.
Worst dev advice?
My first manager said, "You're young and single. You don't have a family. You should spend all of your waking hours on work."
Me thinking, "I understand the importance of extra effort the first few years but I do have a life. One that I intend to enjoy."15
Worst experience with higher ups:
The Office team at Microsoft suddenly woke up to the possibility of innovation from the grounds up. We were asked to come up with ideas. The best ideas were to be shortlisted by management.
That's what i had a problem with. People are generally bad at dertermining what will work. So instead of managenst shortlisting, everyone should have run cheap experiments with their ideas and we could then double down on the ones that showed promise. That's what is done at all internet companies. But the Office team's culture hadn't changed from the boxed software days.
I was asked to have faith in the judgement of management.
Well, Ballamer didn't let Office develop mobile apps for Android and Apple. When Nadella took over, he fixed that mistake. But because competitors had already gotten ahead, the Office team had to work on Saturdays for almost a year to ship it quickly. Meaning employees having to unnecessarily sacrifice their family time because of a strategic blunder by the highest management.
So excuse me if I don't have faith in the judgement of management.3
Ideal dev job?
Getting a kick out of building something from scratch that gets used and loved by thousands of people.
But then you asked for ideal, not realistic, right?
The best way to get an interview call is through referrals.
Recruiters are lazy. They don't want to sift through resumes coming from sites like LinkedIn. Referrals are usually better quality.
I'm not saying this. My recruiter friend is.2
Microsoft Word. Back in the day, that's what was used to write documentation.
I would give up after many unsuccessful attempts to get tables, indentation and numbering to work just the way I wanted them to.
Your profession changes how you think.
Coding did the same for me. Some good, some bad.
I know which problems in life are worth trying to solve.
And I'm very good at solving those problems.
I can analyse a situation accurately. I don't get emotional and panic.
I can immediately identify logical flaws in people's thinking.
I can identify biases in others and myself.
I tend to follow simple instructions to the letter and rarely improvise based on reality.
When my wife tells me her problem I try to solve it instead of empathizing - which is what she really wants.
I haven't developed street smarts or the ability to convince people with anything other than logic - but people are more emotional than logical.
I'm not good at small talk.14
50 years from now, this might be a conversation I have with my son and grandson"
Me: "I remember the time we had a dot matrix printer"
Son: "What's a dot matrix printer?"
Grandson: "What's a printer?"3
Coding is essentially problem solving with almost immediate feedback. Video games are also problem solving with almost immediate feedback.
That's probably why most Coders love video games. That and the fact that most people love video games anyway.
When given a task, don't start working immediately. Think about it first.
If it is taking too long, don't just persevere, stop and think why.
You are paid to think, not type.13
I took a holiday from working at a computer in the office to spend more time with my computer at home.
I wonder what I'd have done had computers not been invented.