Details
-
AboutSoftware Engineer
-
SkillsC, C++, Java, Linux Platform Drivers, Linux Kernel Development
-
LocationBangalore, India
-
Github
Joined devRant on 3/20/2017
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 i've been a dev manager for a little while now. Thought i'd take some time to disambiguate some job titles to let everyone know what they might be in for when joining / moving around a big org.
Title: Senior Software Engineer
Background:
- Technical
- Clever
- Typically has years experience building what management are trying to build
Responsibilities:
- Building new features
- Writing code
- Code review
- Offering advice to product manag......OH NO YOU DON'T CODE MONKEY, BACK TO WORK!
Title: Dev Manager
Background:
- Technical
- Former/current programmer
- knows his/her way around a codebase.
Responsibilities:
- Recruiting / interviewing new staff
- Keeping the team focused and delivering tasks
- Architecture decisions
- Lying about complexity of architecture decisions to ensure team gets the actual time they need
- Lying about feature estimations to ensure team gets to work on critical technical improvements that were cancelled / de-prioritised
- Explaining to hire-ups why we can't "Just do it quicker"
- Explaining to senior engineers why the product manager declined their meeting request
Title: Product / Product Manager
Background:
- Nothing relevant to the industry or product line what so ever
- Found the correct building on the day of the interview
- Has once opened an Excel spreadsheet and successfully saved it to a desktop
Responsibilities:
- Making every key decision about every feature available in the app
- Learning to ignore that inner voice we like to call "Common sense"
- Making sure to not accidentally take some advice from technical staff
- Raising the blood pressure of everyone below them / working with them
Title: Program Lead / Product Owner
Background:
- Capable of speech
- Aware of what a computer is (optional)
Responsibilities:
- Sitting down
- Talking
- Clicking random buttons on Jira
- Making bullet point lists
Title: Director of Software Engineering
Background:
- Allegedly attended college/university to study computer science
- Similar to a technical product manager (technical optional)
Responsibilities:
- Reports directly to VP
- Fixes problems by creating a different problem somewhere else as a distraction
- Claiming to understand and green light technical decisions, while having already agreed with product that it will never happenrant program lead practisesafehexs-new-life-as-a-manager management explanation product product owner9 -
I'm at my seat during the regular morning routine of checking emails, planning the things I need to complete/study when my phone rings.
HR: Good Morning, can you come over to the conference room please ?
Me: Sure
I enter the conference room and on the other side of the table, I see a group of 3 HR Managers (not a very nice feeling), especially when it was 10 months into my first job as a Trainee Software Developer.
HR: The company hasn't been performing as expected. For this reason, we've been told to cut down our staff. We're sorry but we have to let you go. You've been doing a great job all along. Thank you.
Me: ---- (seriously ?!)
The security-in-chief 'escorts' me out of the premises and I hand over the badge. I'm not allowed to return to my desk.
This happened about 16 years ago. But it stuck with me throughout my programming career.
A couple of Lessons Learnt which may help some of the developers today :
- You're not as important as you think, no matter what you do and how well you do it.
- Working hard is one thing, working smart is another. You'll understand the difference when your appraisals comes around each year.
- Focus on your work but always keep an eye on your company's health.
- Be patient with your Manager; if you're having a rough time, its likely he/she is suffering more.
- Programming solo is great fun. However it takes other skills that are not so interesting, to earn a living.
- You may think the Clients sounds stupid, talks silly and demands the stars; ever wonder what they think about you.
- When faced with a tough problem, try to 'fix' the Client first, then look for a solution.
- If you hate making code changes, don't curse the Client or your Manager - we coders collectively created a world of infinite possibilities. No point blaming them.
- Sharing your ideas matter.
- Software Development is a really long chain of ever-growing links that you may grok rather late in your career. But its still worth all the effort if you enjoy it.
I like to think of programming as a pursuit that combines mathematical precision and artistic randomness to create some pretty amazing stuff.
Thanks for reading.14 -
Tomorrow I will be rolling out a completely brand new system company wide. Spent the last year working on it.
First time ever leading a project of this size and importance.
Wish me luck. 😫13 -
based on true story
> delivered project on time
> giving good performance
> boss noticed
> gives appreciation
> raise in salary
> profit2 -
My computer science class in school is learning c# so slowly that last year it took 3 weeks for them to learn what an integer is.
I learned most of the language on a vacation last year and now I don't show up for class.
and actually, my teacher doesn't mind it, she encourages me about learning more and doing projects.
best teacher I've had so far.
recently the class teacher noticed me when I go home instead of going to class and he made me come to every lesson. Really frustrating.10 -
Ending the year on 242!
It's not a big number but considering I've progressed from 10 contributions in 2017 to 242 in 2018, I'm happy!17 -
Online tutorial pet peeves
————————————
My top 10 points of unsolicited ranting/advice to those making video tutorials:
1. Avoid lots of pauses, saying “umm” too much, or other unnecessary redundancy in speech (listen to yourself in a recording)
2. If I can’t understand you at 1.5 - 2x playback speed and you don’t already speak relatively quickly and clearly, I’m probably not going to watch for long (mumbling, inconsistent microphone volume, and background noise/music are frequent culprits)
3. It’s ok to make mistakes in a tutorial, so long as you also fix them in the tutorial (e.g., the code that is missing a semicolon that all of a sudden has one after it compiles correctly — but no mention of fixing it or the compiler error that would have been received the first time). With that said, it’s fine to fix mistakes pertinent to the topic being taught, but don’t make me watch you troubleshoot your non-relevant computer issues or problems created by your specific preferences (e.g., IDE functionality not working as expected when no specific IDE was prescribed for the tutorial)
4. Don’t make me wait on your slow computer to do something in silence—either teach me something while it’s working or edit the video to remove the lull
5. You knew you were recording your screen. Close your email, chat, and other applications that create notifications before recording. Or at least please don’t check them and respond while recording and not edit it out of the video
6. Stay on topic. I’m watching your video to learn about something specific. A little personality is good, but excessive tangents are often a waste of my time
7. [Specific to YouTube] Don’t block my view of important content with annotations (and ads, if within your control)
8. If you aren’t uploading quality HD recordings, enlarge your font! Don’t make me have to guess what character you typed
9. Have a game plan (i.e., objectives) before hitting the record button
10. Remember that it’s easier to rant and complain than to do something constructive. Thank you for spending your time making tutorial videos. It’s better for you to make videos and commit all my pet peeves listed above than to not make videos at all—don’t let one guy’s rant stop you from sharing your knowledge and experience (but if it helps you, you’re welcome—and you just might gain a new viewer!)14 -
One of my ex-girlfriends (who apparently still cares about me after several years 🤔) sent me this chain letter kind of thing wishing me 12 months without sickness, 52 weeks without stress, 365 days of luck, 8760 hours without fights, 525600 minutes of peace, and 31536000 seconds of happiness.
But that's not what I want mate! All I want is a year of <50ms ping!! 😝
I still kind of like her though, especially given that she's still thinking about me.. maybe I should have trying to go out with her again as one of my objectives for 2019?19 -
Hey everyone,
Merry Christmas to everyone who celebrates, happy holidays to everyone, and happy almost-new-year!
Tim and I wanted to reflect on the year devRant has had, and looking back, there are a lot of awesome things that happened in 2018 that we are very thankful for. Here are just a few of the ones that we thought of (this list is not exhaustive and I'm definitley forgetting stuff, so please comment about those!):
- After nearly a year in the making, the completely overhauled devRant web version was launched (https://devrant.com/rants/1255714/...)
- @linuxxx became the first devRant user to hit 100,000++! (https://devrant.com/rants/1157415/...)
- We once again pulled off the greatest April fools joke everrrr (https://devrant.com/rants/1311206/...)
- @trogus started making awesome devComics and http://devcomics.com was launched
- We added a feature to allow rant filtering by post type (https://devrant.com/rants/1354275/...)
- We made it so avatars could have expressions! (https://devrant.com/rants/1563683/...)
- We had a booth at TechDay New York and got to meet some devRant users! (https://devrant.com/rants/1394067/...)
- We made major backend architectural improvements - including spinning up a special high-powered-CPU web server to handle avatar creation and make the creation process much faster (https://devrant.com/rants/1370938/...)
- App stability: mainly Android - we fixed crashes, did a push-notif overhaul, and tried to continue making the apps better and more stable
- A record amount of devRant meetups were held, and we couldn't be more proud about that, and we thank every person who organized one! (just a few: https://devrant.com/rants/1588218/... https://devrant.com/rants/1884724/... https://devrant.com/rants/1683365/... https://devrant.com/rants/1922950/...)
We had a busy year, and despite some things going on for us personally and some setbacks around those, we think this was a very productve year for devRant and that we are going in the right direction. We're continuing to constantly evaluate feedback from members of the community to decide where to take the app next. We're fully committed to improving the devRant community in 2019 and we have a lot of ideas about how we can do that. We're working on some things, but we're not really announcing them yet, so please sit tight for those :) In the meantime, feel free to let us know what you'd like to see improved/added the most as we always like to get updated feedback from the community.
As always, thank you everyone, and thanks for your amazing contributions to the devRant community!
Looking forward to 2019,
- David and Tim26 -
I was an Android developer in a company, I was told to generate a release APK file to test it locally.
So, to sign the apk, I created a keystore file and the password is my name. they decided to publish the file on Play Store.
I left the company years ago, and still on every update they have to put my name as a password.5 -
*Runs program*
*Nothing happens, no error messages*
Oh boy, this is gonna be fun. A bug with no symptoms.10 -
The room automation (light, doors, music) of a "smart" Hotel owned by our company is still being processed by an API that runs on one of my ex-colleagues local machine. It has now officially been declared as a "server" and everyone just hopes it keeps working.8
-
* The app is almost ready, boss asked me to show the progress.
Boss: The design is bad, I don't like it 🤔
Me: I just implemented the design, which is approved
Boss: Really? because I "feel" that the design is bad on the screen.
Me: Okay 😐, can you tell me what exactly the part to change?
Boss: I don't know, *calls the designer
Designer: *showing his PSDs* yes it is the same, and you [the boss] approved it.
Boss: Ok make some changes to make it feel better.
Me: (Inside: 😡 ) ok, have you some suggestions?
Boss: dunno,
Me: at least tell me what is wrong with it
Boss: dunno
Me:🤢26 -
Happened a few weeks ago but still awesome.
Me and a good friend have a website together but we don't monitor it too much.
He studied with me in the same class but went towards frontend/apps where I chose backend/servers/security. He knows how to do basic Linux stuff but that's about it.
We were at a party when he noticed that our site was offline. Walked over to me (because I manage the server) to notify me so I could look into it said I'd look into it (phone):
*visits site: nothing*
*online dig tool: got the server ip*
*remembered this one didn't have pubkey authentication - after three passwords attempts I'm in*
"service apache2 status"
*service doesn't exist*
*right, migrated this one from Apache to nginx....*
"history"
*ah, an nginx restart probably suffices...*
"service nginx restart"
BAM, site is reachable again.
*god damnit, lets encrypt cert expired...*
"history"
*sees command with certbot and our domain both in one*
"!892"
*20 seconds later: success message*
*service nginx reload*
BAM, site works securely again.
"Yo mate, check the site again"
Mate: 😶 w-w-what? *checks site and his watch* you started less than two minutes ago...?
Me: yeah..?
Mate: 😶 now this is why YOU manage our server and I don't 😐
His face was fucking gold. It wasn't that difficult for me (I do this daily) but to him, I was a God at that moment.
Awesome moment 😊24 -
mkdir new-shiny-app
cd new-shiny-app
git init
Decide on the stack, release the package manager on it to scaffold away. Everything still clean and pure.
One of those little joys of our job :) -
On chat today.
Dude: can you run a script for me? We don't have permission.
Me: what kind of script? Who wrote it?
Dude: posts screenshot of DML select/update statement he tried to run.
Me: I'm a DBA. We don't run DML for people.
Dude: Oh. Can you give me the password?
Me: examine script and notice he tried to run it on QA DB.
Me: No. We don't memorize passwords, and this is QA; you need to check the password out of the safe. You also need a change ticket to DevOps, and they will run it for you.
At that point I ended the discussion, because running anything in QA or Prod without a change ticket gets you fired. And I like my job. Really annoyed.3 -
Our ticket tracking system and our IT service request system are from two different companies that are direct competitors. The source code is full of temporary hacks to just make them play nice until a better solution is worked out. Fast forward a few years and we're abandoning both systems in favor of a single, unified system that handles everything. We currently have maybe 20% of the new, unified system done, which is now hacked together with both of the legacy systems until we finally transition fully to the new system. The current plan is for next year, but the plan six months ago was for this year, and almost no progress has been made since then, so we're probably going to have two ticket trackers and two request systems for a while.
Actually, three ticket trackers and three request systems. The third ticket tracker is used to track work done on tickets that exist in the legacy tracker because the legacy tracker can't do that on its own, while the third request system is the oldest and most cumbersome legacy system of them all.1 -
Found this gem of a comment in a code base written 4 years back.
/*
Invoke <Service Base URL>/asset/v2/details/<SN> to get asset details
Feeling very bad to include this call, but we really need to use this !!!
This call is gonna take ~20s to respond. I've even increased the overall timeout of this module, just for this call !!!
So, if you are looking to debug any performance issue, I wish you jump directly here,
remove this call and just use master data management (MDM)
P.S: It is not that simple, as MDM and this asset DB (both asset masters) has differences in how the asset is defined :(
*/
Still trying to understand how to remove this costly time-consuming call and replace with an efficient one !!
And, of-course, the original author left 2 years back :(3 -
Somebody in Microsoft is playing with Github.com styling. Everything is broken from the last few hours.1