Skip to content
View syedhassaanahmed's full-sized avatar

Organizations

@microsoft

Block or report syedhassaanahmed

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
syedhassaanahmed/README.md

Hi there 👋

I'm a curious Engineering Manager with 18+ years of experience in developing software and leading engineering teams. Having lived in 5 countries, I've learned to collaborate effectively with multi-disciplinary and geo-distributed teams. Having worked across industries such as Retail, Telco, Manufacturing and Energy, enables me to drive engineering excellence, business value, and customer success.

Values of well-rounded Software Engineers in my opinion (in no particular order)

  • Learn multiple ways of solving the same problem and know the pros and cons.
  • Code is just one of the many ways of achieving a solution.
  • Code is a liability, not an asset.
  • The term best practices is relative. Best practices constantly evolve over time.
  • Embrace unlearning and re-learning.
  • Never settle in learning in-depth how something works.
  • Put people over processes.
  • Judge people on their contributions, not on how confident they seem.
  • Don't let your own desire to get things done quickly, turn into undue pressure on peers.
  • Success is not a zero-sum game, so be happy with others' success.
  • Out of all the agile practices commonly used, estimating work items and trying to measure project velocity is the least productive.
  • New systems are best designed by a small number of minds, not committees.
  • Instead of only doing your part, help out in dependent workstreams too to fully understand the E2E.
  • Your team is only as good as the weakest code reviewer.
  • Don't get sucked into hyped/fashionable tech and understand that CS fundamentals don’t change much over time.
  • Knowledge of specific frameworks, libraries or tools is not that important in the long run.
  • Keep the docs as close to the actual source code as possible.
  • All code in the critical path should have good tests, regardless if the tests were written first, last, or in the middle.
  • Have the same high standards for all the code, from tests, little scripts to the inner loop of a critical system.
  • Deploy from a main branch to an environment from the very beginning of a project.
  • Don't implement in the app code, what can be configured through the infra.
  • Automate all the things that are worth automating.
  • Ensure the system is observable so that you can enquire at any time what is happening.
  • As a Manager/Lead, if things go well, give your team the credit. If things go sideways, take the blame yourself.

Pinned Loading

  1. databricks-notebooks databricks-notebooks Public

    Collection of Databricks and Jupyter Notebooks

    Jupyter Notebook 22 15

  2. neo-to-cosmos neo-to-cosmos Public

    Copy Neo4j data to Azure Cosmos DB

    C# 13 3

  3. azure-kusto-load-test azure-kusto-load-test Public

    Containerized tool for load testing Azure Data Explorer (ADX)

    Python 6 2

  4. northwind-sql-db-container northwind-sql-db-container Public

    Docker container which initializes SQL Server with the Northwind database

    Shell 2

  5. iot-simulator-influxdb iot-simulator-influxdb Public

    Simulate synthetic IoT telemetry and ingest into InfluxDB

    Shell

  6. spark-with-engineering-fundamentals spark-with-engineering-fundamentals Public

    E2E Spark data pipelines with engineering fundamentals

    HCL 2 2