I submited a Talk for Confoo

I submitted a talk for Confoo 2014. The title is:

SQL or NoSQL that’s the question

With the emerge of new NoSQL databases, it’s very important to understand their abilities and the use-cases for a scalable web application. Understanding what they provide and what sort of problems they can solve is vital to successful usage of NoSQL databases in the web architectures and infra structures.

The key is that Relational Databases are not dead and they won’t be. They have specific abilities which would facilitate implementing a lot of ideas in the data modelling.

By experience, we realized that using a Hybrid system is the best solution. While you benefit from bests of the both worlds, you can improve the quality of product and availability of service to the customers.

In this presentation, an example from game-industry would be provided. A UbiSoft, Montreal game which was fully based on Relational databases, has been restructured to a Hybrid system to benefit from both Relational database and a NoSQL database.

The major design decisions, and the benefits of each would be discussed in details to give audience a perspective of what could be achieved within a Hybrid system.

The process of migrating the previous architecture to the new one in a live system, without having any downtime would be explained as well, to show how approachable and easy is this new Hybrid design.

The new architecture has been beneficial for the community of players and also for the development team, which they will be explained.

The Hybrid system has been on Production since October.2012 with no downtime since.

 

ConFoo. February 26 - February 28, 2014 | Montreal, Canada

JavaScript Date Object Chrome vs. Firefox

There is a very tiny yet important difference between how Chrome and Firefox treats “Date” object, when you are creating one from a String:

new Date("1980-03-14T00:00:00.0000000");

The difference is that Firefox (tested on v23.0.1) considers the passed string is on the local timezone so the output is:

new Date("1980-03-14T00:00:00.0000000").toString();
"Fri Mar 14 1980 00:00:00 GMT-0400 (Eastern Standard Time)"

While Chrome, considers the passed string in UTC/GMT timezone and then converts it to a local timezone:

new Date("1980-03-14T00:00:00.0000000").toString();
"Thu Mar 13 1980 20:00:00 GMT-0400 (Eastern Daylight Time)"

As you can see, that would be a potential for some Front-End Date/Time processing.

If you are using the Date object just for showing, using the UTC format would be very useful and would avoid any discrepancies.


var my_time =  new Date("1980-03-14T00:00:00.0000000");
my_time.getUTCFullYear();
my_time.getUTCMonth();
my_time.getUTCDate()

Leveling up

Kate Matsudaira is one of the very few technical people who shares very beneficial knowledge and experiences for leadership, leveling up and management.

Her talk at Velocity about Leveling Up for engineers, is a very useful guide line for all tech people to set a goal and road-map for themselves to improve and be better at their work.

Here is the video of the conference and below you can find my notes.

[The following notes are a summary of what is mentioned in the video and they are not mine]

Work is not just about contributions and features. It’s not about what you do, it’s how you do it.

Figure out what you want to be doing!
Where you’re at… what are your skills. Depth is not enough. You have to have breadth. Also Social skills and soft-skills.

  1. Identify success
  2. Be specific about it – The path
  3. Create if-then-else for all the obstacles.( if I couldn’t do it this weekend I will do it Sunday)
  4. Schedule the time with yourself. Every month. to look where you are at and what you are doing.

Game Play

# Hard work
# Become indispensible to the team. Become the person who is most important to the organization. If it’s not you, so how could you become the one.
It’s not enough to do what you are told to do. You have to look to other places to contribute. Fill the gaps. Do the right things. It’s also important to do the right things.
# It’s your job to manage your manager. Asking the right questions and giving them the right questions that they need to be successful.
# Does your manager knows what you are doing?

Assessing performance

It’s about trust. How much you manager trusts you? You have to build trust.

– Do the hard work first.
– Use your time effectively.
– Work hardest in the office

Practice

Feedback

be precise with the questions: What was the one thing I could have done to make the project better.
Be open to feedback :

  1. Don’t be defensive
  2. Fight the urge to jump in and answer
  3. Ask for clarification – What would you have done differently?
  4. Listen for emotion
  5. Be thankful
  6. Change and adopt

Teaming Up

  • Who is the person you admire the most at your job?
  • What do they do and what do they do differently?

When people come to you, be open. Take the time to understand what they are saying.
Bring solutions to the table.
Empathy and attitude. You have the most control about how you feel about things.

Reverse – Take the time to put yourself in others shoes.
Long term – How you feel about the situation in a year from now. If you won’t care, there no reason to get upset
Chance for growth –

Communications

  • The tone and the words you use makes a difference.
  • Improve written messages.
  • Know your audience. VP of engineering, business person, or team-mates
  • Start the message with what’s important.
  • Be concise
  • “Let me know if you would like more info”.
  • Make it easy to understand for everyone.
  • Most successful people are the ones who are able to communicate with everyone and talk at a level that’s accessible for everyone.

Connecting

Making people feel important:

  1. Be present (at conferences). If you’re in a meeting, engage and be in the meeting.
  2. Repeat what you heard. You make people feel heard and important.
  3. Ask questions.
  4. Don’t interrupt

Collaboration

If you are not doing a good job, people don’t want to work with you and they won’t respect you.
Influence : No one cares about how much you know, until the know how much you care.
Improve relationships :
1 – Make list of the most important people in your team
2 – Make a list of people who you have best relationships with
How can you improve your relationships ?
You are the average of your 5 closest friends. and if your 5 closest friends at work are not the most important people. Improve your relationships.

Do you know 3 things you could do, to make your life and career better?

You can’t become the person who you want to be by staying who you are.