As part of my job, I do a-lot of architectural designing, OOD, clean code, TDD and everything that thrives to be craftsmanship work.
However, I don’t get to have many problems such as tree traverse, BFS, DFS, lists etc.
We can name these kind of problems as CS1 and CS2 courses problems.
I also don‘t have the opportunity to learn new languages. We‘re writing in Java and there is no reason at the office to start learning a new language. At least not for business purpose.
But, as a professional developer, I want to constantly exercise, sharpen and improve my skills.
So I took upon myself a small project:
- Do some basic coding that I usually don’t do
- Learn a new language
As for task #1, I already wrote some Java code to problems I thought of, and will try to add more during the weeks to come.
As for task #2, I decides to start learning Ruby. Why Ruby? No particular reason. It’s different from Java and good in the market.
Once I get comfortable with Ruby, my plan is to write the problems in Ruby.
[EDIT]
The code is in GitHub
See Why at: Why GitHub
[EDIT]
Some of the code has nice written tests, and some, sadly to say, I just played around, it is not REALLY, AUTOMATICALLY testes. This is something that must be fixed as well.
These are the problems I already written:
- Factorial
- Fibonacci
- Reverse a list
- Anagram
- Palindrome
- BFS tree traverse
Code at GitHub: https://github.com/eyalgo/brainers-java