Skip to main content

Posts

General Hiring Strategy

Even while looking for members with specific technical skills, I generally look for these in any candidate: 1. Lots of people can raise issues and surface problems. But the best people identify the problem, propose a real solution to it, and help do the work to implement it. Those people are incredibly rare and incredibly valuable.Does this candidate look like one among them?2. Generally, most companies don't need superstars. They need people who are curious and disciplined, and that can come from anywhere.Is this candidate curious enough?3. Enterprise company: this is a great plan. Let's make sure we get these four other teams on board to get this done. Startup: great plan! Is it live yet? What are the results? Does this candidate have a startup mindset while approaching a task?4. No one person leaving a good company kills it, but sometimes one person staying can. Similarly, the absence of a feature may not kill a good product, but the presence of a bug can. Does this candida…
Recent posts

SQL Server Management Studio (SSMS) from Command Prompt

When using SQL Server Management Studio, I feel it's a pain and waste of time to choose the same SQL server instance, authentication details repeatedly.
As a workaround, I use to make use of the "ssms" command.
If SQL Authentication: 
ssms -s MySQLServer2017ENT -d testbed -u demo -p demo

here,
-s: Server details
-d: Database to connect
-u: username
-p: password

For Windows Authentication:
ssms -s MySQLServer2017ENT -d testbed
















But opening the command prompt and typing this each time doesn't make sense either. So created a batch file and placed it on the desktop that way, double-clicking the batch file is all one has to do. Mainly while working on my laptop, this comes in very handy.

Content of the batch file:

start ssms -s MySQLServer2017ENT -d testbed -u demo -p demo
exit


Lessons learned over a period of time as an IT developer

Have listed down few Lessons learned on the field which I found useful over a period of time.

1:Always execute every line of your code

After developing a feature one needs to obviously test it. Make sure every line of your code has been executed at least once. Many times see bugs on a certain line of code which had never been run by the developer. Kind of a condition within your code where the control never reaches during the normal flow. The code might look decent enough while reviewing, but unless you had made sure control comes to that part of your code and test it nothing is guaranteed to work.

Sounds obvious, doesn't it? Think how many times you would have faced this scenario by having used some test data which never takes you to an "else" part of the code (or) "case" of a switch statement etc.,

2:Logging, Error Handling to be part of the code from the very beginning.

While developing a new feature/module/project add logging and error handling from the begi…

Stack overflow is built using ASP.NET, C#, SQL Server, Windows, IIS...

Irrespective of what technology we work with how many times have we landed on Stack Overflow / Stack Exchange website on a daily basis? If we ask this to any developer the answer would mostly be MANY times in a day :)

Site was launched in 2008 and is built using Windows, SQL Server, IIS, and ASP.NET along with HAProxy, Redis, and ElasticSearch, all served via Fastly CDN.

Fun Facts:

1.3 Billion page views per monthThey transfer ~55 TB data per month4 SQL Servers (organized as 2 clusters)Stack Overflow serves 528 Million queries per day (Peak 11000 queries per second)Stack Exchange, Careers, meta serves 496 million queries per day (Peak 12800 queries per second)Over 360 databases with the same schema, which changes frequentlyThey made use of Microsoft Bizspark program before getting graduatedAll their production traffic is served using physical servers & Cloud services are being used only for storing encrypted offsite backups (Glacier) and for DNS (Route53)

Programming stack used:

C# +…

What is common between these apps?

What is common between these desktop applications/tools?


SlackWordpressGitHub Atom EditorGitHub desktopMicrosoft Visual Studio CodeMicrosoft SQL Operations Studio

All are built using Electron Framework(Open Source)


Electron framework lets us write cross-platform desktop applications using JavaScript, HTML, and CSS. It is based on Node.js and Chromium. It allows us to (re)use web components - HTML, CSS and JavaScript in the creation of desktop applications. Then it can be distributed across platforms - Windows, Mac OS X, or Linux.

Ten Quotes From Satya Nadella's Book "Hit Refresh" That Inspired Me

A few years back Microsoft offered a free upgrade to Windows 10. That was an interesting move as their main competitor Apple was doing it for a long time now. As a consumer felt that Satya Nadella becoming CEO of Microsoft has brought in quite a lot of changes and they started embracing open source which initially was surprising to me.
So for me, it was a no-brainer to pick his book "Hit Refresh" from the store immediately once it was released. The first half of the book was more interesting where he was talking about his life in India, about his kids, love for Cricket and how over a period he got more interested in Computers than Cricket.


One anecdote of how he was first interviewed at Microsoft was exciting. He was asked - "Imagine you see a baby laying in the street, and the baby is crying. What do you do?". - As a young engineer, he has answered the question exactly as I would have: "You call 911". - The interviewer's response was cooler: &quo…

Make it WORK then Make it BETTER

Mostly this mantra is followed by majority of the development teams (in particular startups) & it certainly makes sense as long as it gets understood completely.

In my nearly 2 decades of experience, I have seen teams strive tirelessly to "Make it work" and deliver a minimum viable product but are indirectly forced to skip the "Make it better" part due to lack of time/bad estimation.

Why? 

Because once the minimal viable product is made people start pulling resources out of that, start assigning next module so that they can "Make it work". The assumption was we can work on refactoring the code tomorrow or day after which in reality never happens. Ultimately the development folks don't find time to "refactor" their initial code to "Make it better".

"The problem with waiting until tomorrow is that when it finally arrives, it is called today." - Jim Rohn
So what? It is already working anyway! 

"Make it work" whic…