Skip to main content

Works

Consider this my informal portfolio. My projects can be found on GitHub and sourcehut.

For a more formal one, see my CV in web format (printable as PDF).

Expectations

Unless you’re able to provide me a full-time employment with required benefits, any contractual works must be free software.

I accept payment and donation on liberapay. You can also send me money on patreon and PayPal. My PayPal account is currently locked. If you want to pay in another way, such as bank transfer or cash, please contact me via Matrix or email.

Things I can offer

  • I mostly work with Python, though I have dabbled with various others.
  • I can write, with decreasing level of confidence:
    • web services or full web apps
    • libraries
    • other kinds of user-space software
  • I get familiar relatively quick with new technology, enough to get small patch done in one or two weeks.
  • I can get quickly familiar with the business logic and can have suggestions on the software usability

Things I would like to see

I would expect a contract granting me healthcare and labour protections and no overtime. Other than that, these are nice things to have:

  • well-documented codebase and installation instruction
  • company hardware
  • fully remote work with occasional hanging out onsite
  • letting me work for slightly less than full-time (e.g. 4 days per week)

Things I’m not interested in

I would likely refuse the offer if it’s about:

  • tracking people for analytics, whether online or offline
  • cryptocurrencies, NFTs, blockchains…
  • “serverless”, “cloud-native” software (an actually serverless program where alternatives are traditionally server-based, such as SQLite, might interest me)

I also find the following repulsive:

  • regular hour-long meetings
  • contacting me outside working hours
  • JavaScript-heavy, inaccessible front-end
  • network blocking as measures of “security”
  • work that are based on oppression of others
  • work that are based on deception
  • intentionally volatile software

Skills

My strongest suit is web development on backend side. I have the most experience in Python, though I have written web servers in Node.js and Go as well. While preferring backend development, I am certain of my basic knowledge in semantic HTML, as well as basic styling.

In web development with Python, I am most familiar with Flask and Django as framework. I have also tried Quart (Flask’s async cousin) and FastAPI for a short while. While being no master, I have written systemd services for some of my software.

While I mostly work in web for its ease of deployment and availability across platforms, I have also experimented in other areas, such as working on a 3D sound processing library.

I dare not say I know git, but it’s my primary version control system. I have also experimented with mercurial and subversion for a short time, but I never managed to work with throwing a tarball around—maybe with an one-time exception when I hacked1 a browser extension with my friends in an afternoon.

I can work in Vietnamese and English.

Education

  • Bachelor: University of Science and Technology of Hanoi, 2018-2021

Works

Free software

I support free software by writing it and contribute to some projects within my ability.

I write code:

I package stuff:

I help with localization:

I contribute code/fix bugs:

Employment

I have worked on webmail during my internship at BizflyCloud. During the job, I have shown my skills with Flask and learned about ElasticSearch.

Since 2021, I have been employed by CMC Global, an outsource company. During my time here, I have been working with Django and AWS. While having no prior experience with these technology, I had quickly familiarize myself with them and became a key member in my team.


  1. jargon: [very common]

    1. n. Originally, a quick job that produces what is needed, but not well.
    2. n. An incredibly good, and perhaps very time-consuming, piece of work that produces exactly what is needed.
     ↩︎


Would you like to discuss this post? Email me!