Interview with Liangzhu: His Coaching Journey

Curious to know what is coaching all about? We had a chat with Liangzhu to find out more.

lz-coaching

1) Can you tell us more about what coaching is about? How do you get to know about coaching?

To me, coaching is about discovery, awareness and choice.  It is a way of empowering people to find their own answers, encouraging and supporting them to make conscious choices.

Coaching is more like being a facilitator – asking questions, guiding through the discussion, and using of inquiry to explore further.

What coaching does is to help people to be aware of and to gain a better understanding of their own strengths and weaknesses. In other words, it helps people to grow by knowing themselves better.

Continue reading

TDD Training by JBrains

This is the second formal TDD training I have joined (The first one was conducted by Joey Chen(https://www.facebook.com/pg/91agile/about/?ref=page_internal). I could not find online line😦  sad..). I would like to share some “Aha” moments along the way of this training.

Before that, allow me to share how i took the training(The first 2 series, which is free🙂 ):

  1. For 1st series, I implement without TDD first. The reason why I do that is I am just very curious of what is the time difference and other difference if i am lucky to find out.
  2. For 2nd series, I just follow the video and stop where ever I need to think or research or take notes.

 

Ok. That’s enough. Let’s go to the my “Aha Wow” moments:

  1. Really step by step by step : Fail -> Add Logic -> Pass -> Commit -> Refactor
  2. It’s developers responsibility to cover more tests than the general requirements from clients. (I mention this because I have an assumption from my first TDD training that developers only need to add tests based on the requirements. )
  3. Avoid more complex integration test by adding unit test when small class or methods come out along the way of implementation.
  4. Triangulation concept somehow makes me feel better compare to one of TDD rules: You are not allowed to write any more production code than is sufficient to pass the one failing unit test. Because when ever I try to hardcode to make the test I feel so bad and keep wondering why not find the basic logic 1st.
  5. Multilevel of abstraction code smell apply not only to same functionality, but also all same level functionality with different purpose.
    e.g.
    Assume inside one function, there is one logic related to getPrice, three logic related to display price. We should abstract both the getPrice logic and the displayPrice logic to achieve same level of abstraction for easy reading and maintaining.
  6. Duplicated Concepts/Ideas: Do not repeat your self is not only about code, but also the way of covering the logic.
    e.g. if  A else if B else if C …. is one example of duplicated ideas
  7. Intuitive and Mechanical approach of software designer (http://blog.jbrains.ca/permalink/becoming-an-accomplished-software-designer)
  8. Refactoring based on single responsibility. Re-assign responsibility makes the code much more flexible and clear. For this I am not able to express it clearly by tying here. I strongly suggest you take the 2nd series of the training. Then you may feel it more.

 

“Post-Credit Scene”:
For my little test “For 1st series, I implement without TDD first.”, I did it within 15mins including the tests, while the training took more than one hour. But the test cases are much more less. Reason: I understand the logic of fraction adding. So my test only focus on the logic and with few special cases. I feel some tests inside the 1st series training are duplicated. So until now, I believe that TDD can help design the code but not necessarily helpful in every development scenario.

Interview with Tuan: Product Developer and also a Recruiter !?

Tuan is one of the senior Product Developers (PD) in Titansoft and is a member of the PD recruitment committee, where they assist HR in the recruitment process by reviewing technical tests and conducting interviews as well. In Titansoft, we believe in growing both in depth as well as laterally.

Tuan, one of our Senior Product Developers

Tuan, one of our Senior Product Developers

What does being a Product Developer (PD) mean to you?

In the past, we used to be developing software in the traditional way, which meant that I simply did the task that has been assigned to me. We weren’t concerned much about the quality of our codes and had to wait for Quality Assurance (QA) to complete their testing.

Over time, we adopted new processes such as Scrum. This changed everything, especially mindset. We do not just simply take up tasks. We now contribute ideas and take ownership of the product.

As a Product Developer, we do everything for the product, and will definitely care about the quality of the item – every aspect of it from end to end.

Continue reading

Blog Interview with Kheng Soon: A better lifestyle with Home Automation

meeting-room-automation

In July 2016, across all meeting rooms, there is a special device on all the panels: this device is a controller with motion sensor and power switch, which can allow staff to switch on/off the aircon and lights in each meeting room with just one slide of the panel!

Ever wondered how does this automation work, or what inspired the implementation of automation to our meeting rooms? We had a chat with Kheng Soon about what is Home Automation Systems about, as well as his passion of the future of Home Automation.

Continue reading

Interview with Raymond: Journey of UX in Agile Environment

2016-10-17_171037

Our User Experience (UX) Team Lead, Raymond started his journey with us in 2014. Back then, UX was relatively new to him (as a Web Designer) and within a short period of 2 years, he now guides fellow UX members in learning and practicing the wonderful field of user experience. Today, we find out more about his UX journey and how the UX team works in an agile environment. Continue reading

Finding the right balance between Agile Development and UX Development

Finding the perfect combo. Some stuff just goes well with each other. Peanut butter and jelly, pizza and beer, Batman and Robin, we can go on and on. But what about Nutella and fries? Gin and raspberries? And here’s one that is one of the most debatable in our field – Agile Development and UX Development.

It may sound wrong and make you feel uncomfortable if you mix them together, but eventually it can turn out pretty well!

Continue reading

Facilitation Meetup @ The Hive

Meetup

/miːtʌp/

noun

1.    A meeting, especially a regular meeting of people who share a particular interest and have connected with each other through a social-networking website

When I first heard of such a meetup, I was quite curious as I was unsure what goes on in a meetup. I began waiting for a meetup being publicized in the FB Group with a topic that I was interested to explore further. So when the Facilitation Meetup at The Hive came by, I took the opportunity to go for it with Allan and Zhao Jing, as I have much interest in exploring more facilitation techniques and how to improve further.

Continue reading