Archive for March, 2012


Learn how to code, choose your own technology, or let someone else choose. What should a founder do?

Comments (0)

Over the years I have heard from many founders that they have chosen the technology to be used for the development of their application, or they have architected the application themselves and they want it done exactly this way.

I think that’s great! But then I find out from many of them that they have never architected a product before, or they have never worked first hand with the technology they have chosen. Now that does not necessarily mean they have done a bad job with the architecture, or that they have chosen the wrong technology. But I do wonder why they spent time on this activity when it clearly is not their area of expertise, and there are so many other things to do when starting up a company. Maybe they were just interested and wanted to do it and wanted to learn more. That’s ok too. But when I ask them why they did it, some of the top reasons I hear are:

1. I need to know what is being used when talking with potential investors.
2. I will never get a good answer from a vendor, as to what to use.
3. I want to use the latest technology and no one will know how to do it.

Clearly Founders are not very trusting people and that is probably not a bad thing given the fact that they are trying to start a new business. But I think there has to be a better way.

I can understand why a founder would have trust issues around technology or what to do. Ask 10 different vendors (or individual technologists for that matter) to respond to your RFP or which technology to use to build your app, and you will probably get 10 different suggestions of which technology to use. Why is that? Well one of the reasons is because there are so many choices. The same business problem can be solved using many different combinations of technologies. Another reason is because each vendor (or individual) usually has their own technology area/s that they concentrate on. So naturally what are they going to recommend? They are going to recommend that, low and behold…..the right technology to use is the one they have the most experience with.

How to ask for and what to look for when you get a response to your RFP?

So what do you do if you are a founder and you need suggestions as to which technologies to use to build your new service? You need to concentrate not only on the timeline of development and the price, but also on the technology recommendations and more importantly the reason for the choice. The reason for concentrating on this is obvious; a founder needs to understand the pros and cons of a particular technology so they can determine what is best for their company initially and what will be the best for the long run.

Unfortunately there is often less concentration on the reason for the choice than there is on the overall price of the project. The question usually comes down to money, however, in order to get the best recommendations, often some money will need to be spent.

As I mentioned above there are usually many different combinations of technology that could work for every application or new service. In that case it often pays for a founder, if they are not a technologist themselves, or even if they are but their knowledge is in a limited area, to pay for a vendor or two to do actual research on different tools or different open source solutions that could be used for their new product or service. The choices and options should include the pros and cons of each choice based on the founder’s objectives for the new service;, based on its direction, based on estimates for number of users initially and in the future, etc. If for example the founder’s new service needs a video solution, this type of research project can uncover which open source solution best fits the objectives of the product, or if a paid solution is better. Another example may be a new product/service which needs a handwriting recognition solution; well there are many of them out there. To find the right one for your service could take a lot of trial and error, as well as it would need to take in to account the acceptable “minimum” of recognition that would need to be done by the new product, etc. A vendor or technologist should be easily able to create a long list of possible solutions for your new service, narrow it down to a short list of potential solutions and then run an actual test of the most likely solutions, and then present to you their recommendation. By doing these types of research projects, a founder will often be exposed to many more options than they could uncover on their own, in a shorter time period, and get more information than just the price and timeline for creating their new application. These type of projects often do not cost that much money. They can be limited in scope so that the founder feels like it will not get out of hand and end up costing them a ton of money.

But should that founder decide what technology should be used for an application, or should they want?

On the other hand, there are cases when it makes sense for the founder to make a suggestion as to which technologies to use for an application. I say suggestion because the final decision of what to use should always be the founders. It is the level of input that he/she may receive from others that is the question. Those reasons may be.

1. The founder is going to develop the initial application themselves and they are familiar with a particular language or tools.
2. The industry that is going to be served requires very specific technology to be used. In other words the potential client base maybe only uses Microsoft tools, or the target market’s main mobile phone OS is Blackberry, etc. This is something the founder as the main product manager would know best.
3. The exit strategy of the company. We have run in to companies which have come to us, after they had their initial product built out, and said they had to have the whole thing redone. Why? Because they did not own everything that had been built for them previously. There was some part of it that was a proprietary system from the vendor that built it. This was going to be a problem when it came to selling their company. In this case it is clear that the founder needs to define that proprietary solutions will or not work for their company.

If you are a new founder of a technology enabled service business, and you are facing that inevitable question, what technology to use to build your new service, how you go about making the choice is certainly up to you. If you feel comfortable making the choice yourself, or if you want to involve technologists or vendors, it is up to you. Either way, if there is not clear cut choice based on your target industry, make sure you have some information on the pros and cons of the different choices, and a good way to get that information is have a service provider conduct a research project for you and point out the pros and cons of different solutions.

Categories: entrepreneurs, Project Management, startups, Venture Capital |


The Value of Hiring the Emerging Generation of Software Developers

Comments (0)

When Softjourn was founded, we felt that the core of our company’s growth should come from maintaining an investment in the emerging generation. Through an extensive training program, we’ve since cultivated a continual pipeline of talented people. Young professionals have much to bring to the table, including new ideas, enthusiasm and an eagerness to learn. The more experienced programmers who teach them gain the opportunity to develop their skills and grow into leaders. We can’t emphasize enough the role that hiring and training plays in the success of our projects and relationships with clients.

Developing the next generation of bright programmers is such an important part of what we do that we’re partnered with the National Technical University in Ivano-Frankivsk, Ukraine, where our software development center is located. Many students are in a five-year master’s degree program in computer science or other software engineering related disciplines. One of our Project Managers is an instructor at the university as well. Many interns come in as third or fourth year students. They work for us as junior programmers while finishing their degree, and then become a part of our regular development team. This preparation process gives them the opportunity to develop their skills under the guidance of experienced software professionals, and gives us the benefit of their enthusiasm, and gives them time to get up to speed on Softjourn’s methodologies.

Our training program is equal parts trainees and trainers. Developing future managers and project leads is another benefit of integrating training into the work environment. Team members who volunteer or are “volunteered” to take on the role of mentor get the type of hands-on experience that’s essential to management training. By training others, mentors learn how to lead a software development project before they’re officially in the position. They’re managing another person and taking responsibility for someone else’s work. They learn to communicate on their feet, so their non-technical skills evolve naturally. Employees interested in management know they can best demonstrate their potential to lead and work with clients by doing a knockout job at training our newest software developers. A senior developer in Softjourn also has taken on the responsibility to liaison with the National Technical University. He continually presents to the students’ different topics which aid in their development, as well as talks with them and mentors them on their technical interests whether it may be java, or .NET or mobile development.

Communication is a primary concern of many prospective clients. Therefore, non-technical skills are among the most important qualities for the emerging generation of software developers to cultivate. To be successful in this industry, we’ve pushed the communication skills of every person at our company. That means not just English language skills but skills in working with clients. It’s our priority to grow team members who are capable of putting themselves in the clients’ position. It’s not enough to ask a client what they need. Our people ask the questions that help pull out essential information for a project, and they realize the concerns a company may have in working with remote software developers. As a company, we’re able to relate, and that’s what keeps our clients coming back.

Categories: Outsourcing Offshore, Outsourcing SMB's, Outsourcing Ukraine, Project Management |


A Good Thing Made Better

Comments (0)

Have you ever been in a restaurant and ordered a meal you’re really looking forward to enjoying, only to have it delivered to your table with something wrong with it? Perhaps the meat was undercooked, or they forgot to leave off the tomatoes…either way, if you’ve experienced anything similar, you can understand what it’s like to have an outsourcing partner miss the mark.

If only you’d been asked a few questions to clarify what you wanted; if only they’d listened to your vision…you wouldn’t be condemned to grabbing a pizza later because you’re still starved.

The point is — and I’ll expound on this later — communication is huge.

Everyone can agree that outsourcing and globalization are powerful game-changers in today’s business world. Although Thomas Friedman made his case for this with 2005’s “The World Is Flat,” I actually got my first inkling of the possibilities of outsourcing over a decade earlier after reading “Decline and Fall of the American Programmer” by Edward Yourdon. Around that time, I was living in Russia and working with developers in Arkansas, a fifteen hour time difference, so I was already getting a taste of distributed development and how it could work. Later, after working in Ukraine for five years at another company, I started Softjourn in 2001 with a partner in the U.S, who had also worked for years already with software development teams in Israel and in California.

One thing I’ve learned along the way is that communication is both the challenge and solution when it comes to distributed development. Our business model is very much focused on communication and working directly with customers so that they’re heavily involved in the step-by-step process, continually seeing the results of the work. Certainly, we follow an Agile development methodology, which a lot of companies do, but we’re more involved. We don’t do only one month iterations, making it four weeks before showing customers what we’re doing, only to have them say, “This is totally not what we were expecting.” We want them to be heavily involved from day one and seeing results very quickly.

This emphasis on communication extends to our developers as well. A common concern among customers is language. Since most clients speak English (and that’s the business language we mostly use with customers), English language skills are something our multistep screening process takes into account. That said, we also want good people who are technically skilled. To balance these needs, when we bring people into our company, in addition to training them in our processes, we also test their English proficiency. They’re then put into an English level group with classes specific to their needs.

Communication doesn’t just stop at language proficiency. We place a heavy emphasis on how we work with clients, what kinds of questions to ask. That’s because they’re really working more as consultants — when we’re talking with customers, we are not just saying, “OK, tell me what you need to have done.” We’re asking the right questions to make sure that we can help our clients in the best way. That kind of consultative style is something we stress and also try to train and instill in our team.

Ultimately, our approach toward communication is definitely a strong point and something that differentiates us from other companies. And that’s not just me talking — it’s what our customers tell us.

Categories: entrepreneurs, Outsourcing SMB's, Outsourcing Ukraine |