fredag den 23. december 2011
Det var nok fordi hun slog for mange mennesker ihjel
"Det var nok fordi hun slå for mange mennesker ihjel"
Hun var i det her tilfælde min datter, som havde hjulpet ham med at få nogle flere mænd (dvs. Lego(R) figurer). Det var jeg nødt til at give ham ret i :-)
søndag den 18. december 2011
fredag den 23. september 2011
Google Dart interview
On the 10th of October Lars Bak and Gilad Bracha will reveal the new and exciting Dart programming language for the web. This will be revealed in the opening keynote at the GOTO Aarhus 2011 International Developer Conference. After this interview I might get a chance at interviewing them about this subject and publish it on the GOTO Today Blog. Here is my draft brutto list of questions to ask - please help me add other exciting questions.
How will you sweet-talk other browser vendors?
Tool support
When will Brightly (the IDE for Dart and other web development) be released?
Language paradigm
Structural programming language - Why did you choose this programming paradigm? Why not the functional programming paradigm with its side-effect free programming? Or what about actor based programming like Scala, Erlang (Erjang) both paradigms are inherently designed for concurrency?
Language details
Where can I learn about the language details?
When you designed the language syntax and semantics, were you at any point disagreeing on what a particularly language construct should mean and/or expressed?
VM details
What about garbage collection - algorithm, memory management (heap, generations,???)
Marketing
Why keep it a secret for so long? To create a hype about it? Or to gain a technical lead? Or ...?
Unrelated to Dart
What is your biggest aversion, if any, in modern software development?
What do you typically do when you're stuck with a computer science problem?
"Do no evil" is, I believe, the motto of Google. Is it possible for a large company, like google, to fulfill this motto.
søndag den 14. august 2011
Working Title: Organisational/Social antipatterns
Introduction
M. Sc. Software engineering - Aalborg University
PhD-wannabe
Employment: 7 years at SSE, 2,5 years piloting software @Trifork
Disclaimer:
1) This is NOT science. It is based on my 10 years of experience as a developer in the Danish IT business.
2) I'm no better. I've done most of the things mentioned here.
Purpose:
Present some ways (not?) to do software engineering and/or to behave in mutipeer-social relationships.
Real purpose:
To get revenge ;-) of all the times I've been hurt, ridiculed or even worse struck on my alpha-male wannabe ego :-)
Agenda
- Introduction
- Some Org. Anti-patterns
- Side-tracks: Programming paradigms vs. human stereotypes (WIP)
- Conclusion
Conflict creator aka. Firestarter
Illustration: 1) Overskyet …. lyn …. frisk blå himmel. 2) To elefanter der slås.
Idea: Let the others take the fight, then you can concentrate on the job at hand. OR Clearing the thick air of despair by a nice fight.
(Examples: Predator vs. Alian Predator. long bath...)
References: Alpha male theory? Organisational Elephants crossing [snapler]
----
OLD NEWS!!!: Work harder not smarter
******************************************
Illustration: ?
Idea: Deadline ahead - plan not ok - lets put more people into the project. Or even worse: lets put 1 person from another country, another part of the organization, and with a different language one (mythical) man month before deadline.
Examples: Red weeks in a wellknown big company....
Reference: Mythical Man Month. Cope, study: perfect work week 16 hours
----
More hats, more productivity
*******************************
Illustration: En jonglør der er ved at tabe den 6. bold
Idea: Get more productivity out of smart people by giving them multiple roles.
Examples: A promising young employee is making good progress on a team. Overtime lets make him: Teacher, Part Development knowledge leadership, test manager and lead developer.
References: Men multitasking. Context-switching. Pleasing everybody is pleasing nobody.
----
Everlasting impression
*************************
Idea: Make a negative or positive everlasting impression. Then you will never be forgotten in an organization. Backfire: - Nagging and ridiculed because of funny stories.
Examples: The Fight of the Red Screwdriver. Get really drunk after 14 days on your first ever IT-job, at the company summer party. (Simon Spies)
Relatives: Bad publicity is better than no publicity.
Conclusion: Antipattern? I don't think so, but it is a dangerous strategy that can backfire. OOOPs wait a minute - that is the definition of an antipattern.
----
More deadlines, more productivity:
*************************************
Illustration: Agurk der skærres i tynde skiver.
Idea: Short iterations, short-terms goals, more productivity
Problem: Stress. Employers never able to have a day of non-productivity at work will get stressed out. First experiences with Scrum The big welknown company: Employer citation: "You have to get used being in hurry all the time"
A.k.a: Agility gone bad?
----
Punish Manager
******************
Origination: Team christmas party. Drunk Simon: "When someone makes serious bad things with the codebase they should be physically punished."
Illustration: Video youtube - HMM.
Idea: Have a crumpy old man which knows the product very well punish fresh green developers each time they make the tiniest small mistake.
Problem: Green developers escape the project and/or company and all their nice new University knowledge is not exploited.
Examples: "You just use SVN-update? Man, you must be crazy you will get your sandbox polluted with all the green developers bad code - Use SVN-synchronize",
----
Scapegoat:
*************
Illustration: Nød der bliver til egetræ.
Idea: Lets as a group select one individual in the group who will be the scapegoat. Could be: The slowest coder. This way we can all feel above him and when anythings goes wrong, we can implicitly insinuate that it was his fault.
Problem: Instead of using this talent we misuse it.
Examples: Hi-knowledge consultants meets crumpy old developers.
Solution: After 35 years of living, I know that the following is not entirely true, but I used to believe the following: "Everyone has a talent. The hard part (for some people) is to figure out which talent". A person can't be all bad. If you give her a bit of confidence, she might very slowly evolve into a decent or even invaluable employee. A metaphor: Try treating other people as plants. If you give a plant (sun, varmth, water and attention) it will grow into a nice flower.
----------------------
Create an enemy:
********************
Idea: Lets make a common enemy. The one we are fighting against. This will make good team spirit.
Problem: Backfires when people interact with enemy.
Candidates: Customer. other subcontractor, other division of same organization, other team on the same project.
Examples: "The customer does not understand why the system is not performing well"
-----------------------
Career paths:
***************
Illustration 1): En gruppe kodekvæg der kigger på en mark med forskellige blomster.
Idea: Lets make some career paths to strive for. Then we can make people have titles like Senior Chief Architect or Senior Project Manager. Problem all the american companies have peoples with longer and greater titles! Solution lets upgrade all our employees with a new title. (Remember: not to mention that this upgrade has no money attached :-)
Illustration 2): En gruppe kodekvæg der kigger på en mark med kun een slags blomster.
Idea gone bad: Lets only make a project leader career path.
Problem (idea gone bad): All the bad developers become leaders. Secondary problem: All the good developers leave the company.
-----
Conclusion:
Antipatterns are as valuable as patterns. Because its stories about ideas that seemed like a good thing but could turn out very bad. Like building an eternity machine by digging a very big whole in the earth an putting a tea pot of water above it.