We envisioned Ideyatech to be an agile, creative and pro-active software development company. We never intended to become like any other outsourcing company that provides cheap developers and cookie cutters. To differentiate our company from the rest, we redefined the developer titles and roles.

We classified our developers into three: Codester, Codesmith and Codemaster. However, it’s more than just the making new titles… we also redefined their roles.

Codester
A codester is a dynamic individual who has passion for abstract and logical reasoning. He is trained in the art of programming and is experienced in the Java language. He is resourceful and capable of learning new technologies on his own. Codester are people you can rely on to deliver codes that work according to specifications.

Codesmith
A codesmith crafts their codes with artistic mastery. He is capable of writing clean, well-designed codes. He is well-versed in the art of programming and ensures that his codes are optimized, refactored and properly unit-tested. Codesmiths are your best bet in doing complex and more advanced transactional web applications.

Codemaster
A codemaster is one of the chosen few who can design unique solutions to common complex problems. Unlike traditional developers, he thinks of solutions with a business sense. In addition, he is an expert in design patterns - not only in theory, but also in practice. Codemasters are the perfect partners for product development since they have the creative insight and technical proficiency in developing state-of-the-art applications.

For the past two months, we have been having our weekly T3 (Tuesday Tech Talk) sessions. It’s a 30-minute discussion about any technical topic the presenter would like to discuss. Presenters are randomly selected from the development group.

So far, we have received nothing but benefits from this activity. Here are some of its benefits and advantages:

  1. The presenters get an opportunity to talk, express themselves and practice their presentation skills. More importantly, they steer away from the developer mindset for a while, get out of their shells, and think of good topics to discuss.
  2. The attendees learn something new. Everybody seems to know something others don’t.
  3. Everyone begins to understand the specialization and span of knowledge of their colleagues. In this way, it becomes easier to know who to ask regarding particular topics. Subsequently, the developers become experts and specialists in their own way.
  4. This builds camaraderie within the team. Everyone relaxes and opens up their minds for new knowledge.
  5. The topics discussed are usually not something we do or use in our daily routine at work. So, everyone gets to learn more than the usual stuff.
  6. Everyone realizes the things that they do not know and starts to seek for more information about it.
  7. The organization strengthens its corporate IQ as people share their ideas and knowledge with each other.
  8. After a couple of sessions, everyone began appreciating the activity and now looks forward for new things to learn.
Here are some of the topics we have discussed so far:
  • Tips on improving website performance (as recommended by Yahoo Exceptional Performance)
  • Programing with Grails
  • Reverse Ajax via DWR
  • jMaki
  • Integration testing with TestNG
  • Image Manipulation / Photo retouching
  • Javascript Programming
In the end, I believe the concept of T3 sessions is very much aligned with our core values - Leadership, Execution, Agility and Passion.

I left Manila to see if there was a market for my SMS appliance product. I had to take a job so I can stay and have time to study the market. After working in Singapore for 2 1/2 years, I finally realized that it was the right time to go home. I still have this feeling of competing in the global scene and make my country proud so I looked for opportunities to come back. On the course of doing this, I met Allan, President and CEO of Ideyatech. When we first met, I just told him about my SMS appliance product, on how he can integrate it to Ideyatech’s existing applications.

After maybe 4 months, Allan told me that he needed someone who can help him with one of his big projects. I can’t remember how he came up asking me if I could help. After a few conversations about what needs to be done and how hard it is to look for senior guys in Manila, I expressed my intent of thinking about the offer. Since I was also considering of going back and do business, I thought about it. It took me maybe a month to decide.

I arrived with my bags packed in the Centennial Airport(NAIA Terminal 2) on May 21, 2008. Eager to meet my new team, I went to work the following day. It’s nice to be back, I told myself.

Let me share a photo of our team in our board room which I took. This is the team that will lead us to success and grow the company. Who knows we might be the next Google! ;-)

As defined in Wikipedia:

Agile Software Development is a conceptual framework for software development that promotes development iterations, open collaboration, and adaptability throughout the life-cycle of the project.

True to its meaning, Agile is a concept that can be implemented in several ways. So, there is no correct way of getting it right… Nevertheless, here are some tips we’d like to share based on our experience:

Ideyatech agile

  1. Agile team members must be matured and responsible. Team members must be pro-active and have the drive/determination to take charge of the task at hand. Self-organizing teams are hard to develop, especially for junior programmers. It takes some level of maturity and experience for a team member to identify the tasks and execute them.
  2. Agile projects must be contracted as “Time and Material” rather than as “Fix Cost”. This is because agile practice is susceptible to “scope creeps”. The concept of being able to adjust/change requirements during each release indicates that scope must be flexible. As such, contracting on “fix cost” will either limit scope changes or lead to tedious change control processes.
  3. Pair programming should be limited. It is effective only on certain circumstance such as “master-apprentice” pairing or critical components. Otherwise, it will lead to inefficiency where two people are producing half the value of their time.
  4. Tools are essential for unit testing and continuous integration. It is almost impossible to implement unit tests and continuous integration without the proper tools to support the build and test process. It is important that the tool is able to run builds on pre-determined schedules and send configurable alerts. Moreover, choose a tool that can understand the unit test results and do notifications as necessary.
  5. Take the Agile Manifesto with a grain of salt. Not everything in Agile works… it varies on the organization, software and project type. For organizations that are new to this concept, start by shortening your iteration release - at least to monthly. This can take you a long way going agile…

Green means “growth“. This is why we chose green as our new corporate color.

However, what does it really mean?

Growth is an opportunity and, at the same time, a challenge. It means more people and projects to manage. It also means more income (and more expenses). Growth should always be handled with care… too much growth can put your organization out of control.

We have always been conservative on growth. While there are opportunities for us to grow, we occasionally pass over some projects because we believe that quality is priority over quantity. It is not important how many projects we’ve completed, but how well we’ve developed them.

Here at Ideyatech, we redefine the meaning of growth. Our growth comes naturally by keeping the quality of service consistent.

Our first official company outing held in Blue Coral, San Juan, Batangas …

While it may seem that our blog activities have been quiet and slow, we have been very busy and active,  continuously expanding our operations and improving our processes. For the past three months, we have almost doubled our employee head count and we plan to add more in the next months. The only thing that hinders us right now is “space”… precious office space.

Nevertheless, we managed to prioritize things, and have decided to work on our “office space” problems first. So, this weekend we are moving to a new office space, a bigger and better office. I hope this move will help us grow as we establish our business office.

At the same time, we are working on rebranding our corporate image. Consequently, we will be launching our new website soon. Like any other thing we do, we apply continuous and iterative methodology; therefore, instead of having a grand launch and major rebranding, we will be applying our changes slowly for a span of about a month.

So watch out for this! We are changing our image in the face of the Earth!

ideyatech - where ideas and technologies meet.

It’s clear from our tagline where the name comes from - idea and technology. Idea is formally defined as “a thought or suggestion as to a possible course of action; an opinion or belief” while technology is “the application of scientific knowledge for practical purposes”. When combined, these two words synergize to build a stronger meaning - “to revolutionize an industry through technology by executing brilliant ideas.”. It’s a dream many of us wanted to achieve, but only few dare to take the challenge… and we are one of them - ready to take the challenge.

Now, what’s with the ‘y’? Well, ideya is the Filipino translation of idea. A part from being bold and revolutionary, we wanted to be known as a Filipino company - founded, managed and executed the Filipino way. We are here to be a living proof that the Filipinos can compete globally and surpass technologies from more advanced countries. We believe that this notion of technical superiority is a product of non-action to take the challenge… and that’s what we are - a Filipino managed company ready to take the challenge and revolutionize the world.

While I can describe ideyatech as a company by what we do, what we specialize and who among the Fortune 500 are our clients, it doesn’t give justice to the people who committed themselves and worked hard everyday to satisfy our clients and bring us to where we are now.

Instead, I’d like to describe ourselves on what we believe in and what we practice - our core values. Now, let me describe it one by one…

L eadership. We are the best in what we do. I always tell my team that “You have to believe that you can change the world!”. I know it sounds ambitious, but ambition is what drives people; it gives motivation for people to excel and become a leader in what we do. Moreover, we promote individual leadership; we know for a fact that every individual has their strengths and we provide the support needed to enhance them by making them acknowledge and focus their strengths. This way, we are able to get the best results from every team member.

Another thing I have to add is that we value collaboration and communication skills. Individual leadership needs to be supported by good communication in order to achieve teamwork and synergy.

E xecute. We deliver. We believe with the saying “A simple idea with execution is better than a brilliant idea with no execution”. While I like to get along with people who talks about ideas, I’d rather stick with the ones who executes them. Great ideas burn into ashes when they are poorly executed.

A key criteria to execution is to know your priorities. Our basic principle is to prioritize time, quality and budget; then negotiate the scope. In this era of Google and YouTube, nothing is more important than time and quality. Also, we prefer to simplify things, stick to the absolute essentials and make sure it works. Finally, everyone needs to be decisive and make timely decisions… because you know what!? - It’s not the end of the world.

A gility. We love change. Face it - “The only thing constant in this world is change. ” Even the best project manager cannot make a perfect project plan. There will be deviations and variations from plan during execution… but what makes a plan successful is its ability to adapt to change (and what makes us better individuals is to accept change). A few implementations points to be agile:

  • Release early, get feedback and improve…
  • Work in iterations; prepare mockups.
  • Reduce the cost of change.

P assion. We believe and love what we do. One thing I always ask applicants - “What is your passion? “, “What do you like to do? “. If it takes them more than 7 seconds to respond, chances are - they don’t know the answer and is making it up. We believe that people who has passion in their work has greater chance to succeed. Between someone who is very knowledgeable, and someone who is very passionate - we usually go with passion. Knowledge can be learned with passion but passion can’t be learned with knowledge.

While I can talk for an hour more about this topic, I’d rather simply things - if your work doesn’t excite you, something is wrong and you’ll probably need soul-searching. :)

To end, this is how we perform great LEAP s…

In case you didn’t notice, our core values form the word LEAP when taking the first character of each of the values.

When looking for a developer, would you consider the certifications he/she earned? Does the title MCSD, SCJP, SCEA matter? I’d like to say “no” because I’ve seen great programmers who are not certified and doesn’t value certifications. Moreover, I don’t want to discredit good programmers who doesn’t have this piece of paper.

But then again, why did I have to bother getting SCEA and PMP myself? Well, what really drives me is the “proof” that I am capable of passing the tests. These tests are developed, reviewed and improved by industry experts to measure individual skills and knowledge. I took the challenge because I believe I deserve that title.

While real world experience is good, you’ll only learn things that you do and you’ll never get the change to learn other things until you encounter it. When I took my certification, it is not like I just have to go to the testing center and pass it. It took me sometime to study, analyze and even memorize to prepare for a certification. This may not be something valuable at work, but it proves that I can understand the concepts well. More importantly, it shows that I’m disciplined and diligent to learn new things.

So does certification matter?

Yes. When choosing between 2 developers with same experience, I’d prefer someone who is certified. I’m also encouraging people to take their certifications.