Scrum Gathering 2015

I had a chance to attend the first Scrum Gathering 2015 in Vietnam. It was the first time of many things – more detail later. The event was about Agile/Scrum. Therefore, before I talk about my personal impression and feeling, you should clearly state about my background of Agile/Scrum:

NOT MUCH

I have been coding for long time and have been reading and applying (kind of) for quite a while. However, I am not applying Agile/Scrum as the scrum materials.

And I was not going to the event to learn Agile/Scrum either. I went because:

  1. It was an international event, speakers are well known – or at least I heard about them
  2. I have not ever been in any community conference
  3. Mind open: See how they are doing out there
  4. Meet new people

So, what did i feel? I felt good (event I had sickness that day 🙁 ). I felt involved. I met people from different countries, with different job titles. They were talking a lot about agile, about scrum, about processes, … They are truly professional. And I felt “LOST” in the beginning. I did not know how and where to get started. However, very quickly the community atmosphere helped me get started

Hey, man, you are here for a reason. Let’s open and talk to people

And I started to talk. Things just kept going as it should be.

However, there was one problem:

I do not know what to ask speaker

That was when I realized that I have many things to learn. I might write more about that in some later posts.

Next are some of the thoughts i had during the event, especially when people asked speaker of how to solve this issue, that issue, …

I started to think: Hey, wait a second! They focus a lot on this phase: Scrum welcomes changes. So they expect scrum to give them the tool to deal with changes from client/customer. And we also have the same philosophy in coding. We are as developer/architect told to design/code in such a way that: you can deal with requirement changes easily or less costly.

No one mentioned about that in the event 🙁 And when i mentioned about that in the discussion. They seems to ignore that, and show the gesture that: Yeah, we know and just move on with their discussion.

Everything comes to code, btw 🙂

PS: I had many things in my head after the event. However, the Mr. Bacteria knocked me down. Therefore, those are information that left in my head. I want to write them down before they’ve gone 😛

PS2: I will join this event next year for sure 🙂

Step back and think again: How much do you know about languages you are using?

Recently I did many interviews for position of both Jr. and Sr. Developers. Here, I will not talk about the interview itself, rather the lessons I learn from those interviews. First, let’s talk about the context: I am focusing on the technical aspects. And:

  1. I know those  candidates are doing very good job at their current position since they get good paid for their job
  2. I know what people usually put on their CV
  3. I do not want to criticise on anything or any skill they have. And I assume what they write in CV is what they mean.

In candidate’s CV, I usually see these:

  1. C#: Advance, 4-5 years experienced
  2. Java Script: Fluently
  3. Other technologies (frameworks, languages) that are said as: expert or at least many years of experienced

However, when I started to ask some questions about C#, such as Event, Delegate, Parallel, Value Type, Reference Type, Argument passed to method, … I got many bad answers. Some did not know Event and Delegate.

Then I asked myself a big question:

WHY?

Then I started to think: What happen if I step back, honestly ask myself these questions:

What do you really know about C#? How deep you are in the languages you are working it day by day? And what kind of features that C# offered that you use most?

Fact: I have been working with C# for 10 years. I code C# everyday. However, sadly speaking, I have not known the language, the tool that feeds me much. The same answer goes for other tools, languages.

For fun, let summary what I usually do with C#:

  1. Create new class
  2. Define class, member, property, method
  3. Basic types: int, DateTime, string, …
  4. Lately, I coded with asynchronous style, but not much

Most of the things I do with C# are there since C# was created long time ago

OK! That are enough for fact and sad news! What do I learn from all these:

Sharpen your knife

That is: I will focus on learning deeper in the languages I work with, in the frameworks I used. For everything I learn, I will tell myself: Take a close look, a deeper step. Make sure you understand it.

The more I know about them (the tools I used) the more joy I have at work.

So keep learning!

Some thoughts after the month of interviews

Over the last month, I had the pleasure to interview many candidates for position of both Junior and Senior developer. Those interviews taught me a lot. But first, let talk about the good news. We gave many good offers to many good developers. They are smart, enthusiasm, very good programming skills.

We had guy that is so fascinating in coding. All he wants is an environment that challenges him, give him enough thing to code. He is willing to code overnight. We had  guy that is very strong at best practice, design pattern, good coding skill, doing some pet projects, We had guy that can talk about technologies all day, … I am looking forward to working with you guys at RIT Home I am sure you will love your new home with wonderful colleagues.

However, from those interviews, I had some concerns, thoughts about the developers. My thoughts here are not base on any statistic or calculations. They are just my observations these days. Therefore, I’d better write it clearly about the “Context”.

Here is the context:

  1. My company is looking for developers, working mostly on .NET. There are many other techs that we are working on, such as NodeJS, Java script (AngularJS, Meteor, ..)
  2. We are willing to pay high price for good developers
  3. I am a developer with 9 years experience. I code most of my time in OOP with .NET. I care about code quality. I believe that a good developer must know about OOP, learn SOLID principles, improve skill everyday

There are all ranges of candidates applying for the job: Junior, Senior, Graduated, Project Manager, Architect. They were all good at what they were doing at their companies. I had no doubt about that.

The attitude and spirit! I believe that recruitment is a market where employee and employer meet their own requirements. So that is the win-win relationship. Company needs you, and you need company. No more no less. I met many candidates with that spirit. However, some of them did not. They came to the interview as if the company needed them and they did NOT need the company. You might be so confident about your skill but that is not the right spirit when you are applying for a job.

The value! We removed the logic test for Senior position. But, I asked them to solve an algorithm test. It will require candidate to identify the logic and write 2 loops to print the result (Pretty much the same like that). Well, some could not figure out the rule, some could not write the loop to print. And in the interview, my favourite subjects are: OOP, SOLID principle and some of design patterns. Many cannot explain what “Encapsulation” means. They coded for long time, but never heard about: Single Responsibility Principle. Maybe they have different views on programming.

The CV! In the skills set area, it seems that candidates write too much that do NOT belong to them. Some of the skills belong to the projects that they had a chance to be a member of, and that they had never used it in real. Don’t do that! It is not a good impression when the interview asked you since they thought you knew a lot but actually, you did not. You should write what you actually know, write what you are actually good at. At least when you look at your CV, you can realize that: You have not learned any thing new these days. And that opens a chance for growing.

The price! Some of them asked for ridiculous price. It is not about the company can pay that price or not. It is that, your skill does not match your price, in the context of company. You might be good at something else. But please remember that we are looking for value in the fields we wrote in job ad.

And why do you write about those stuff? If you are developers, and you are reading my blog. I hope you think again about your career path as developer. If you do not care enough about OOP, SOLID, Design pattern, I suggest you think again. If you want some help, you can ask. There are many good developers out there, they are willing to help you. If you are looking for a job, please come with the right attitude, come with cooperation spirit. That, you can contribute to the company, and the company can help you grow. When you name a price, please base on your real value, not what the company is willing to pay. Over the time, your value is the only thing that matters.

Enjoy the code, Enjoy the life.

What will I teach my children about the job?

YOU HAVE TO LOVE AND RESPECT YOUR JOB

Just that simple!

But why? why do you teach them the things that should be a common sense/ common knowledge?

Because, I started to realize that NOT many people actually love their job, or even respect the job they are doing. Usually I heard this when asking them about the job:

  1. It would be better if i am a singer, it would be better if i do other job. The job that someone get a very well-paid
  2. I would do better if I get more salary. If the boss is fair
  3. I would … If

You get the point. I do not say that everyone says that. Just the fact that i met some of them. And actually quite a lot in IT industry. Therefore, I want to make sure I have the right mindset to teach my children.

Here are what I think about the job and why I love, respect it:

  1. I spent 16 years studying to have the job (12 years at high school + 4 years at the university). Therefore, I respect, love what i have been doing in that 16 years.
  2. The job helps me pay my bills, allows me to buy food, water, beer, … all the necessaries stuff for a living
  3. It helps me foster my family, my children
  4. It gives the feeling that: I am alive, I am a human. I create things everyday.
  5. Without a job, I am nothing, no job, no money, no thing.

Some people said: hey what are you talking about?

I LOVE MY JOB

My response:

REALLY??

Did you remember when you love someone? did you tell them:

I will love you IF …

There are more in though about this topic in my mind. But it is enough for a morning 🙂 Someday, I hope my children will read this post 🙂

Should you give the IQ (Logical) Test for Sr. Developer Candidates?

These days, my company is doing a lot of interviews for both Junior and Senior Developers. Most of the Juniors are happy to do the basic programming (just some for loop test) and the IQ Test. Of course, there were some who refused and just left. The thing that got my attention is not the result of the test, rather the number of Senior Candidates refused to come to the interview and even when they came, they refused to do the test and asked for direct interview.

A big question came out of my mind: WHY? I guess, most of them felt: Offended. I asked around and most of the answers i got:

Senior Developer does not want to take the test since they think they are better, they feel offended. And the test does not tell anything about them.

And some of them look down on the company that send the invitation.

That’s fine and we respect that. We are happy to learn that we should change the hiring process to fit the situation. Yeah. And we actually did change:

So, now, we remove the test for Sr. Developer candidates. And we do interview directly instead.

However, it did still not make much sense to me. Then I asked myself, what if I am looking for a job, and they ask me to do the test. This came out of my mind:

FEAR.

And i recalled that it is actually natural. When i was in the school or university, I got those feeling when the teacher gave me the test. Even I was a good student. Still the same feeling. Not really a good or bad thing. It is just a fact that we have to deal with 🙂

So far we are happy with the hiring result. We have many candidates applied for the Job Ad. And lost of them have very high skills.

We keep interviewing, we keep hiring 🙂