Skills and Expertise
I am still new in software development and there are so many things to learn and experience! Although there is certain benefits in specializing in one, I like to explore more tech and be the jack of all trades and (maybe?) master of some.
I believe in researching and finding the right tool for the job I am assigned, instead of doing something that suits my expertise.
I have experience in taking ownership of projects, actively taking part in design decisions and new feature requests. I also like to get my hands dirty on the pipeline side for the projects I work on.
Technologies used
The technologies I’m most familiar with are in bold.
Backend/server development
- C#, F# (.NET)
- Python
- C++
- Microsoft Orleans
- Typescript (NodeJS)
- Go
Front-end
- React with Typescript
- Tailwind
DevOps
- Docker and Kubernetes
- Linux (Ubuntu)
- CI/CD (Azure DevOps)
Others
- SQL Server
- Git
- REST API, GRPC
- JWT
- Shell
- Vim
Working method
- Simplicity matters.
- Find the right tool for the job, not the right job for the tool. Btw, this parody is dope.
- Although we engineers are often introvert, social skill matters as much as coding skill for big software projects.
- I often have an urge to understand the whole thing and write the most perfect solution. But time is also a valuable resource. It is basically a trade-off we have to make.
- Try to think out the logic first before hopping on to code.
- Almost everyone can write happy path code. It is the edge cases and how we decide to handle them that is challenging.
- Know your tools (OS, editor, version control, CI/CD) like you know your code.
- It is okay to be stuck. Give some time first and if still stuck ‘Suit Up and Get Help!!’
- Own the projects you work on.
- Leave the code in a better state compared to when you started working on it.