luni, 31 octombrie 2011

Application development vs Kernels and drivers development

Leave a Comment


When speaking about how to develop software, one is usually making the difference between drivers, OS and rest of the application software.
It is always about different strategy in developing the software. The lower software layer have to be generic, scalable and easy to use, if possible. The developer is applying some paradigm, even defined by the OS itself and has to optimize the usage of the hardware. The primary customer of his application is the colleague next to him who will develop further the application


The application has slightly different constraints. It has to meet the expectations of the customer, as well as to implement non-functional requirements. Now, the customer is identified and the generic cases are not in the focus. One can argue that re-use of software is a trend now. A trend yes, but a primary focus very seldom.

Then, it is the pressure of delivery date. The generic development has some buffers in the timescale. The application has to meet the delivery date to customer. This is not easy to negotiate and it is part of the product to be delivered. The generic software is part of a strategy. We start early, it is nothing yet defined and there is no recipe how to do it.

This fight with uncertainty combined with the scarcity of information in what regards the new technology is giving the developers of basic software this aura of pioneers or medieval knights who are pushing the limits. The others, as harsh it might seem, are actually the bourgeois who are the core of society and they are keeping where there are the existing limits.
Read More...

joi, 27 octombrie 2011

mai este programarea o meserie elitista?

Leave a Comment
ai facut calculatoare... poti sa imi re-instalezi windowsul?
fa-mi si mie o configuratie buna ;)

Asa arata cultura ""populara" cand am terminat facultatea. Cum o fi acum? S-a schimbat oare perceptia?
Mai sunt absolventii de facultati tehnice favorizati ca statut? Cred ca inca sunt, prin prisma angajatorilor care curteaza studentii valorosi din anii mici.
Pe de alta parte, in urma cu 10-15 ani, programatorii erau un club restrans, care avea cunostinte bune de programare. Acum, pe urma democratizarii programarii prin "drag and drop", programare fara pointeri, PHP for dummies etc. programatorii sunt mai putin retrasi intr-un turn de fildes.

Voi ce parere aveti?
Read More...

duminică, 23 octombrie 2011

Manager? Leader? Both?

Leave a Comment
Seth Godin has an interesting point here

The difference between management and leadership is widely discussed and certainly there are major topics where the difference is clear.

If you are a boss, think about how much you see yourself as a manager and how much as a leader. Then, try to capture feedback to understand if the others seem you in the same way. Put the feedback back into your own system and adjust yourself as described in theory of self regulated system. Look for your own equation.
Read More...

joi, 20 octombrie 2011

Democracy in software engineering?

Leave a Comment
Article first published as Software is Democratic on Technorati.

Maybe you have read "Funky Business". Two Swedish professors, Jonas Ridderstrale and Kjell Nordström. are writing about how information open more opportunities for less developed countries.
Internet access is cheap, the need for application is great and the offer is high. The quality can vary, but this happens in all the cases, no matter the origin of the author. Now, the most significant competitive advantage is the intelligence of the software engineer.
The engineering is democratizing in what regards software. With a decent speaking of English, a decent internet connection and anyone can challenge the old markets. MIT is publishing courses on their website Many other universities do the same. Internet is full of tutorials and courses. So the information is easy to grasp and use at will
One can argue that you need licenses for the tools. This is partly true. On one hand, there are plenty of frameworks for free. You need a few bucks to be able to publish apps on Apple Store. Or the well known platforms of download, where you can offer your products.
As well, the pressure from emerging markets can be seen in highly specialized markets. Telecom, automotive electronics are now produced all over the world. The development locations are spread in the same way. A few months ago, Bosch opened a new development center in Vietnam. How do you find this? I find it as a natural step to globalization.
The funny thing is that salaries in developed countries are not going down, even with this equality of chances. This is, IMHO, due to large increase in demand of applications. Suddenly, you can sell thousands of applications on web stores. Nevertheless, compared to 10 years ago, I do have at least 5 devices which embed software. The new TV set I would like to buy has even WiFi included. My fridge has a complicated algorithm of freezing. The oven can be set in all kind of programs. I don't have an iPhone. Still, my phone has internet connection, camera and calendar included. I expect that average gadgets do have more lines of code than AppleII computer.

So, there is room for everyone. The next thing will be to transfer all this programming mindset from single processors to multiprocessors. Let's see how this will change the world.
Read More...

marți, 18 octombrie 2011

Unit test

Leave a Comment
Do programmers test? If yes, do they think that testing is somehow dishonoring them?
Do great programmers have a great testing technique? YES.

I noticed that most of the programmers hate to test their work before integration in a bigger product.

I will come back to testing, attitude and tools.
Read More...

luni, 17 octombrie 2011

1000 vizualizari. Multumesc!

Leave a Comment
1000 views. Thank you!
Read More...

duminică, 16 octombrie 2011

Dennis Ritchie passed away

Leave a Comment
Having this large media exposure of the Steve Jobs, the death of Dennis Ritchie seemed almost unnoticed
A few things about him you can find here, for the ones who did not read the famous K&R C book.



Read More...

sâmbătă, 15 octombrie 2011

Can you keep your talents?

Leave a Comment
The war for talent is not over. It's just started.
Talents are hard to get and even harder to keep.

I wrote about ciclicity and pipelines. Each team has a certain development cycles. And each team member has its own development cycle. If these cycles are overlapped, than everyone is happy and the team is strong. Each individual has a different development cycle.
My theory is that we have x types of development cycles
1. High potential - they have very short development cycles (2-3 years), they need to change jobs to fulfill their potential,
Put them where there are the most challenging tasks and keep always with a potential lateral move available, in order to give room for a promotion.
You cannot keep them more than one development cycle in your team, unless you have several senior positions.
2. Good potential - first one or two levels are usually quickly passed. When they are quite young, you cannot discriminate quite good between a high potential and a good potential.
Usually, they are the stars in your team. Don't lie to your self, I haven't seen many high potentials in one place. Put all the trust in them and support them in their development. Should be fine to keep them in two or three development cycles. For this ones, the progress in the career is essential, so they feel part of the success.

3. The Reliable- my best friend. The guys I usually like at interviews. I highly appreciate the first two categories, but even more these ones. I could compare them with middle class. Sweden has an excellent middle class, therefore their standard of life is high.
To form a great team, look for good reliable engineers. They invent as long as it is needed. They remain in the team for 3-4 development cycles. Here you find most of the experts, most of the nice team members.

4. Kick the guy - my enemy. You don't need them. For some strange reasons, you might even hired them. Or your predecessor. The main thing with this kind of people is that they don't realize what they are good at. And insist to be promoted, even they don't do much in their role.
You can keep them forever. And ever. And 3-4 years after you are tired to keep them.

So keep in mind a few simple questions when thinking about the talents in your team
Can you keep him more than one development cycle?
How many levels you can ensure in the team under your responsibility?
Do you search for a new position for him or you let him freely choose?
Read More...

duminică, 9 octombrie 2011

A good analysis of Iasi market for programmers

Leave a Comment
Andrei Ciubotaru is making a good analysis of Iasi market on his blog
It's also a little bit of self advertisement, but I reckon really good information there for the possible investors.
Read More...

miercuri, 5 octombrie 2011

Embedded is not dead. It is very much alive and growing.

Leave a Comment
Michael Barr is a columnist and embedded guru, hosting a newsletter and organizing Embedded Software Boot Camp.
He posted today a special issue of the newsletter, looking to the growth of embedded sector in U.S. My impression is that embedded is not dead at all not only in US, but also in Europe and Asia. Looking back to one of the older posts, I can tell you that nowadays these engineers are hard to get. 
My friends working in Europe constantly get phone calls from agency with plenty of vacancies. I know some companies that are able to fill their positions not earlier than 6 months. Speaking now only about embedded sector.
I am joining the idea of Michael Barr and I will create a section with possible job offers coming from companies who would like to hire in Romania these kind of profile. In case someone is interested, please send an email.


PS: Don't lough, maybe I am ridiculous with this initiative. This is only a little step to help the industry where I make a living (in Romanian, I could say "mananc o paine alba)".
Read More...

sâmbătă, 1 octombrie 2011

How to describe the equation of your team.

Leave a Comment
Depending on your business case, you can imagine a high fluctuation or a great retention. You never know what can happen tomorrow. I get used to this in the last years of crisis.
Maybe you remember my opinion that the teams are fluid. Having a great team at a certain moment in time, does not guarantee you that this is forever. Market is changing, people are getting older, have kids, breakup, meet a new technology, a new company is aggressively recruiting in your yard.
Suddenly, the carefully crafted edifice is down and you have no clou why the hack is not working anymore what you considered as perfect.
Your job, as manager of a bunch of software engineers, is to think what could happen and avoid the possible obstacles: change before the team notice the need to change, remove some smaller obstacles, bring in fresh air when the pace is getting slower.
The equation you wont write. But you should be able to tell it to your self and resolve it, when need it.
 
Read More...