a. What new programming languages / tools have you heard of?
- 25 Cognitive Bias
- Elixir
- Rust
- Idris
- Elm
- Blockchain
b. Which ones are you interested in learning / using?
- 25 Cognitive Bias
- Rust
- Idris, and
- Elm
- Blockhain
c. Why?
- 25 Cognitive Bias, popularize by Charlie Munger (the right hand of Warren Buffet), Charlie brings 25 bias that sync between Pyschology and Economics and also sync with our day to day life as an engineer, learning and applying this, so far makes me better programmer.
- Rust because it is beatiful that it can reach memory and thread safety without garbage collector!
- Idris, type driven development
- Elm, no runtime exception
- Blockhain, the next internet?
a. Have you written any automated tests for your code? Yes I have!
b. What type / level of tests did you write?
- Various level,
- I start my career as end-to-end test developer (they call it Software Development Engineer in Test) when I join Midtrans, and basically I cover automated test for blackbox e2e test for the company's payment system.
- Then in the same company I also implemented chaos monkey, thus I encourage people to expect the system to fail, I do chaos game day at that time to make engineer understand more about the system they're building.
- Then when I back to development side of software engineering I wrote unit and integration test, which cover testing basic unit of code like function and class, and integration test which is more high level, like testing the API controller I wrote.
- For frontend I also create snapshot test and component testing.
- Manual test.
- But all that type or level of test must be used by the context, if the problem is we want to go for time to market, doing over testing is not wise, if the problem is buggy code, more chaos monkey game day or bug buster should be done.
c. What test framework or tools did you use?
- Various frameworks
- From homebrew creation to ready to use in the market, for me
- Java: JUnit, WireMock
- Ruby: RSpec
- Cucumber
- JavasScript:
@hapi/lab
, Mocha, Jest - Bash: plain bash testing
- Python: pytest
Tell us about any project you did that you are proud of, and why you are proud of it. And maybe with some code snippet (~100 lines), or link to Github Gist you wrote for that project.
- Boilerplate/Template for JavaScript/NodeJS isomorphic app https://github.com/fameweka/fameweka
- Simple Gitlab Docker Runner Ansible Role - this is very useful before Kubernetes Runner coming for GitLab https://github.com/empeje/gitlab-docker-runner-role
- My Research paper on educational super computer https://scholar.google.co.id/scholar?oi=bibs&hl=en&cites=2097113039587856865&as_sdt=5, this is cited by 8+ papers.