My Photo

From my bookshelf

« September 2005 | Main | November 2005 »

Three questions employees should periodically ask themselves

David Beisel wrote two very popular blogs: "Seven Questions Employees Should Ask Before Joining a Startup" and "Seven Reasons To Become a Founding Entrepreneur". But undoubtedly before joining a startup or becoming a founder we all earn our experience as employees. I want to ask three questions everyone should be able to answer before starting seeking a new job and turning down or accepting an offer. Next to each question I give my thoughts but actually I'm still looking for answers too and invite you to help me to enrich the set of the options or even to add other questions. I'm talking only about positions growing from a technical trunk because my experience doesn’t allow me to speculate about other branches but if you can generalize the points you’re welcome to enhance. Here are the questions:

1. What is my dream position in 10 years?
Strategic direction is critical in understanding what next position may be or for making a decision to quit the current job. Not every step in a 10-year perspective can be foreseen and planned in advance. Even more – most of the steps are very luck-dependent. But without having a strategic point where you wish to be in 10 years any short-term planning doesn’t make sense. Since this projecting is strategic by the positions we mean reference points rather than locked courses. I see at least a few quite orthogonal directions (of course they don’t cover the entire job universe).

  • Architect/Technology evangelist - very technical geek. No customer interactions, minimal business concerns, being on the edge and actual programming is all to dream about;
  • CTO - looks on the business through a technical prism, knows how to compel technology to work for achieving business needs;
  • CIO - technical background is preferable but not necessary, manages IT people, IT budget, programs but not IT technology;

There are many positions in between like a position in product definition, consulting, project/product management and many others. But to define a dream position for a 10 year time span it's sufficient to stick to one from the three.

2. What are the transition criteria?
It’s necessary to have a strategic direction but not less important to make tactical adjustments in order to drive to the target. How and when do you decide that you have to depart to a next position or job? First of all, the three big directions from above are very relative and your preferences may change as time goes by. You need to re-ask yourself this question and listen attentively to the answer you’re inclining to. Second of all, as you grow and become more experienced very attractive positions “in between” can arise – an analyst, an advisor, a consultant for not only technical things; you may get creative offers to join startups (where borders between positions are a kind of obscure) and corporations (where there are so many creative positions that you can be surprised). Third of all, the to-be-in-ten-year position should be projected on your decision making factors. I feel that CxO positions have lots of things in common that you can do before making split for technical or business management. There are some nice blogs (here and here) on how to plan your path to become a CTO or an architect and what skills/experience is required. My point here is one should periodically analyze what skills already are strenghthen and what are yet to be gained and then look for next position to supplement them.

3. Why do I want to work there?
Knowledge and experience, money, a formal position or future opportunities - are just few possilbe answers to this question. An ideal job may include positive answers to all the options but in real life it’s rarely the case. I think at least two questions of the four should have positive answers to explain for yourself why you work there.

  • One of the most valuable attractions of a job is opportunities to learn and try new things. But the people factor is not less important. Next step to do after the job is exciting is to check the team you’ll work with. Your direct boss and the management of the company (it’s more relevant in case of a small company);
  • Working for a brand, known company is a big advantage on any position. Later on people will treat the experience from the brand seeing your connection to the power and success of the company. Also usually a brand is a corporation and it’s never odd to get cultural experience of working in a big factory.
  • Working for money is self-evident. Usually though if this point is the clincher to take the offer I would advise to turn it down. Money is never enough ever but if you work in an unknown company making boring staff with a team nothing to learn from you bring serious damage to your career.
  • Future opportunities for me sound more like a reason to stay in a place you’re thinking over to leave. If you’re joining the company and from the opportunities perspective all it has is something for the future only why to join it? Though if you’re leaving and get a contra-offer to stay and do something exciting then it may make sense.

I’m sure I haven’t said anything new here and the points are almost trivial but I know so many colleagues and friends that take or don’t leave a place where they do very boring job, which doesn’t enrich their experience, work with people they never would like to have a drink with, have ridiculous salary and no sign on the horizon for change. No strategy, no tactic, no critical review of the situation.

To summarize the topic I want to say that your career path is a long-term project which importance can hardly be overestimated. Think strategically about your dream job, build a tactical plan, and make the right decision for every offer based on your plans.

Technorati tags: technology skills, career, CTO, architect
 

IT/Business - how to talk the same language?

In an amazing post  guys from NeverWorkAlone discuss a very sensitive  productive-breaking and team destroying problem of making IT and business teams talking the same language. The blog is full of bright ideas and practical advice on how to resolve the problem (or at least to mitigate confrontation) and besides my wish to draw your attention to the blog I want to add my two cents.

In a customer-centric startup the problem can be solved relatively easy by engaging all employee with customer iteractions. If the company produces sotfware for consumers it probably has a helpdesk or another form of customer support operations. Letting all the employees  (first off, the most remoted from the customers part of the company - R&D team) help the cusotmers and  answer the questions directly may bridge the gap between technology- and business-oriented views in the team.

Talking to the customers directly may excite the techies by feeling importance of the job the do and enclose the logical chain in understanding of the company target. Feeling importance of contributing to success of the company is a very powerful factor in motivating. On the other hand acquainting with the customer problems through a bug report system obscures the pain of the client and lessens importance of developers contribution. I'm not advocating for closing the support group and putting the burden on R&D. My point is all R&D should be permanently involved with with direct customer interactions and answering customer questions is one the simple ways.

If the company plays on the enterprise market then instead of working in the support team developers can participate in a product definitionn team's meetings. Delegating a developer for such meetings from R&D to represent a technical point of view and later transfer features' business prospectives back to R&D may also make the developers feel their relevancy and the influence they have on the process. Ultimatelly if the  company has custom project implementations assigning a development angel from the R&D team (besides regular stuff) can be great motivating stimulus and desired encouregement. Other options can be engaging the engineers with pre-sale workshops or other cusomer-targeted round-tables. The idea is the same - exposing the technical guys to the business concerns.

To bridge the misunderstanding gap from the business side I'd suggest also to delegate business guys to technical meetings. To let them join technical brainstorming meetings and to request the thechies there to explain in simple words the problems they're attacking.

So my point is the spirit of the company should be orbiting around one big target - drive the product to its success via customer statisfaction. So the company should consist of, and more important perceive itself  as a team, of professionals joined to achieve this target despite and thank to the fact of the differences in their expertise.

Technorati tags: Customer, Leadership, team, R&D

"Employers hire people, not cogs"

Christian Sepulveda  posted a great blog - Guidelines for Being a Strong Job Candidate. I saw many interesting and attracting ideas among the articles and books I've read on the topic.  But such essence of very practical "to-do's" and "don't-do's" is an exception.  Definitely a must read for everybody.

Just a few points I love:

1. Have a 30 second elevator pitch.
2. Have a career plan.
3. Resume is 1 page only. No exceptions.
4. Communication Skills are Key
5. Be Honest.

And the concluding recommendation: "A candidate should never forget that an employer is investing in a person and should do everything they can to position their value as an individual to an organization. If you are seen as just a Java developer who knows SOAP, you are easily replaced."

I'd love to work for a boss with such values and approaches towards employees.

Technorati tags: resume, job, interview, hire

3 pragmatic isolations

Becoming more productive is one of the common topics in a whish list of many people. How to cope with many tasks we put to our to-do list every day and how to find time for even more is a question we often ask again and again. Due to our brain's structure by nature we're not multi-tasking beings (at least most of men) and hence can work efficiently with one task at any time.

An analogy comes from the computer world where until recent times most of the computers were single CPU machines and had  to emulate multi-tasking. To make an impression of executing several programs at a time an operating system had to switch between the programs so often that a user feels that all of the tasks are executing concurrently and smoothly. That worked fine until the number of tasks grew out of the computer's capacity to manage it smoothly. Not only did the tasks ate running time one from another but the time required to switch between the tasks accumulated into meaningful sensitive amount of time.

A similar situation occurs with human attempts of becoming multi-tasking creatures. Using the computer language we can use the same recourse for two different tasks concurrently whether the recourse is the brain or the legs or the throat. We can sometimes use different recourses for different tasks concurrently - to listen to music while jogging or to see TV while eating. But unfortunately we can't assign different tasks for the same resource - the IRQ is taken.

Coming back from the analogy world - how to increase our productivity assuming the analogy makes sense to a certain extent? I suggest to improve productivity one should care about dedication and isolation. By dedication I mean to deal with one task for a time interval to let the task occupy the resource (actually our mind) completely. By isolation I mean to remove all disturbing factors including switching between several tasks. This is not a new concept and there have been many materials in the net about it. I just wanted to share my vision on isolations.

Dedication (Isolation by activities)
You lock yourself from everything but the dedicated task. For people working with a computer a typical list of disturbing factors may include spontaneous Internet browsing, chatting and messaging, checking stocks, reading news, making coffee, and so on. These are clear disturbance factors and touching them during work time looks unambiguously as wasting time even for the waster. But there are tasks looking as part of the working activities but in fact diluting productivity and decreasing efficiency - answering phones, reacting on every email, rescheduling calendar, organizing to-do list, and so on - all kinds of tasks that one won't do during vacation but nevertheless diverting from the current task.

At the same time I have to admit that at least in high-tech it's, if not impossible permanently to isolate your self, at least counter-productive as paradoxically it may sound. Sometimes you're expected to answer an email, check a link, and react back in a chat. 37Signals points today to an interesting article in NYTimes talking about this paradox. I think to be productive in the "conditions close to high-tech" one has to be very disciplined and combine isolation with controlled interruptions.

Isolation by time
Here we provide single-tasking mode for a special task for a period of time. Actually it's an addition to the Dedication and together with it can be used effectively and pragmatically. But besides simple dedication to a task I propose assigning concrete time in the schedule for certain tasks. For instance an early morning hour before the work hours can be spent for reading or meditation or sport. The point here is to allocate this time on a permanent basis. Make this allocation in the schedule so everybody (starting from you) knows this time is taken. It's true not only regarding our job duties but even our topics from the whish list should be treated as task and managed properly - first of all by having allocated time.

Isolation by place
Here we physically change the working place not only isolating our selves from external disturbing factors but changing the customary working environment. Both reasons separately make sense to try physical isolation.

Together with time isolation it may work for studying and reading. Not always you can take one hour before your work to study and read and of course you can't come to the office earlier to do it there. Stop in your car in a nice place on your way to the office and read there. Not only doesn't anyone disturb you there you're doomed to study in such conditions.

Another cause to try changing working environment is to make special settings for special thinking. When you need to make an important decision changing the customary working environment to something unusual may serve as an additional catalyst.

My experience says that enforcing single-tasking mode by combining these isolation you can increase your productivity at least for the applied times.

Technorati tags: GTD, isolation, productivity, discipline

It's called BPO. Part-II.

In my previous blog I wrote about BPO in general and promised to give a concrete example. Since my background founds in the development I made up a case of ou-servicing a non essential to a software company process.

The yin-yang business theory (Jeoffrey Moore's core-context approach) applying for a small-to-medium software company dictates that only developing of the core product functionality is the actual core business (sorry for tautology). It may vary from company to company - ones earn on packaging components, others on developing components, thirds on services - but I want to accentuate here not on the core but the context. For 99% of the software companies managing product development processes is the context. Managing the source code (setting up a VCS, creating release policy, defining build process), all services around code quality control (following standards, checking and generation documentation, generating reports), building and defining a project management system (creating new feature definitions, assigning tasks, so lovely GANT diagrams), setting up a bug tracking system (flows of bug life-cycle, permissions, reports), building a build and a testing systems (nigh builds, unit,  regression, and load tests). These are just a few tasks every software company with more than 5 developers has and besides that has at least one full time employee coping with only some of the tasks. For a software company these services are not less out-serviceable than running a customer support service or managing financial accounts or cleaning the office.

Most of the companies still develop this service in-house. These types of  "challenges" are boring for internal stuff and they're rarely enthusiastic to build it with excellence. As a result usually the quality of such services is lower than if it was bought from an external supplier.  Another consequence is the services are just as minimalistic as possible. My experience says that the tools chosen for the tasks really don't affect the resulting quality. I saw productive frameworks built completely on the open source software and I know some  implementations, driving costs above a million, leading to frustrations and disappointment. In any case the internal team dealing with it permanently dreams about escaping from this "honour commitment" and another, even a bigger problem, - the organization sticks to its own vision and patterns.

Since it's not a core activity for an organization it manages the processes only at the team's best. It naturally can't invest much time and resources (and it shouldn't) into getting and following the latest best practices, updating processes, experimenting and playing with different methodologies. I'm not saying they don't care but they can't compete with a service provider supplying such services as its core product. What services can be exposed and consumed in this case?

All the above services (managing the code, project management, bug tracking, governance...) in all possible combination plus special packages for concrete methodology including best and next practices. The good thing here is together with SOA approach today a consumer can choose only services he needs. He can integrate its own (yet) in-house systems with out-serviced ones. For instance he can have its internal version control system but transfer a feature managing system to an ASP and integrate them. Today all existing systems provide an integration API and to a certain level all the systems can be integrated.

There are many questions yet to answer for such a fictitious provider but the idea is clear I hope. Free resources of your team from doing things not adding direct value to your business. I'm sure that my imaginable case illustrate this approach well.

Techorati tags: SOA, project management, BPO, outsourcing

 

 

Resetting the targets.

Many have said "think globally, act locally" or, in other words, "plan strategically, execute tactically" or many other paraphrases of the same idea - have a big plan backed up by a small one. With the small plan all is clear more or less. We create it for a day, or a week or at most - a month. But what does it mean to have a big plan? How big should it be and how often should it be corrected?

It depends, as usual. I have one really big - for a year - and then I check my progress with it once in a while. But the big plan I create for a year. In my case for a Jewish year. Today is such a day - first of Tishrey of 5766 year (happy new year and shana tova!:-). Every year I check my achievements for the passed year and reset my new targets for the coming one.  I'll share here just the directions for which I set up targets that may give you an idea of what kinds of targets to choose in your case.

1.  Family life. It must be a target. Don't underestimate this direction thinking it goes well on its own.  Sometimes the easier it looks the more harder you advance on it. Write down for yourself real commitments towards most important people in your life. If you're a parent make up concrete (in numbers) plan  for your kids. If you work hard it's not easy (especially when you travel or work till late at night). Few ideas: read a book 15 mins. every night, play 30 mins. every evening, walk together every morning with a dog, teach chess every weekend, study Photoshop 3 times/week  together, make beads twice a week, and so on, and so forth. It can be absolutely everything what your kids like to do together with you. But make it a task for you (not for the kids). Don't treat it as a voluntary activity. Promise it and execute.

A similar situation is with your spouse and parents. The difference though is with your spouse you make a dual commitment, meaning you together may agree on freeing some time and spending it together. But the idea is to isolate this time only for you both. Not to seat together and work each on its own computer:-) I feel this target not less important and easier to execute than one for the kids.

2. Professional growth. Find what you want to learn/study/try/test/play-with for your career but on your own. Choose something that will help you to take next level on your professional development but out of your current scope. In other words if you don't learn it by yourself you won't get it. Choose a new technology or a new language or a new technic or a new practice that will enrich you as a pro. Build a plan like if you were a dean in a college and were waiting for students to come to their desks. Make it real, challenging but possible to complete. I allocate an hour 3 times a week for a theory part and about 2 hours daily for hands-on. Another challenge here is if you dig to something interesting you hardly can stop playing with it after your time is over:-) Time management is another very effortful task.

Making this task dressed up in numbers is easy. One way is to make up a project to run. Something real to develop, deploy, and ideally - make public. Another way is if you decided to learn a new technology then find an appropriate respectful certificate and pass it. The certificate will increase the value of your resume and at the same time your target will get a bold "V" in the Complete column.

3. Soft-skills development. It can be anything making your more professional regardless of your profession. Memory training, speech development, people relationships, a foreign language development, anything enriching your personal qualities not related to your job. If it's a foreign language I'd build a plan spanning over several directions: writing skills, reading and comprehension skills, vocabulary enrichment. Again, create a clear plan for each directions and put some numbers along. 10 new words every week, one new article/blog every 10 days, read a new book every month. If it's public speaking skills I'd advise to find a toastmaster club and enroll there. They have a plan to follow and grow.

4. Spiritual development. Though this is very private and vary for everyone make a commitment here too. It can be quantitative in time numbers (half an hour every morning) or in amount of material to study (one chapter of a book to learn every day). But don't neglect it. A good idea is to join this studying with the family commitments (at least partially). I think that the spiritual development is the most fundamental direction in personal development. If your business or your job or your financial or health situation get temporarily worse you need to have a strong foundation of your life philosophy to stand the strike. You have to find something that is more important than just money or health and this philosophy needs permanent care too.

5. Sport and personal health care. Simple to plan but not easy to complete. If you haven't been there start with something small in planning but set up a high target. Complete a marathon? Stretch to a split? Swim 10 miles? Quit smoking? Choose something that other have already done and go for it. Build a plan and execute. For example you can prepare to run a marathon for 16 weeks only. Find a challenge exciting you and go for it.

Complaining about being overweight? Plan to loose X pounds until day Y, choose a diet and go for it. Don't analyze too much and don't choose a diet too long. Stick with one and give a try. Spend a month and check your results. But be consistent and be acting. If it doesn't work then try another one.

There are many other directions you can pick up, plan, and go. The greatest site devoted to personal development in various ways is this one. I think the most important thing is to identify something challenging and exciting you, plan with it and go consistently. The consistency has at least three positive effects.

One is you build your own history of success. If you haven't smoked for three days it's an additional stimulus to keep not smoking - not to break your history of success. If you've been running every day your mileage you hardly will allow yourself skip one day for the same reason - not to damage the history of success of your plan's execution. Your history of success becomes another super-long strategic plan that you're executing.

Another good effect is the addiction. Good habits are not as easy to build as bad ones but the pattern is the same - consistency. After not smoking for a while you won't want smoking. After continuous running for a month your body will feel bad if you skip one planned run.  After continuous getting to bed at 11pm and awaking at 5am you couldn't sleep until 7am.

The last positive effect the consistency brings is "the tipping point". By consistently performing you invest in what you're doing. After a while you'll see the results. Unlikely you'll see results of a year long plan after a week or two but already in a month some of your daily investments may yield fruits. Your kids will really play chess, you start understand a foreign language you're learning, you have lost 3 pounds, you easily run 1 mile more than you started from.

We come back to the same adagio but this time I'll rephrase it a bit. Act locally but plan globally. You have to make small steps every day towards your success but without big planning you can't lead yourself to your big targets.

Update: another reset for 2006

Technorati tags: self-development, plan, challenge, GTD

Subscribe

My Online Status

Blog powered by TypePad
Member since 08/2005