I always wanted cool people to Tag me (Thank you Oren for giving me the opportunity to share my thoughts, I like such challenges).
I think we should, also, do this with new technology and code, For example: I am writing an advanced example for VS-add-in for check-spelling so I will Tag one more person to write code and blog about it, for example, Tag: Israel Israeli (VS-add-in for converting JavaScript to Script#).
I am 25(6) years old and I saw some cool technologies and heard some great ideas for new start-ups. I can easily reveal young people only by looking their eyes and see them shinning with passion and easily understand that their mind can't stop thinking. I like those who always show you new things not only talking about cool features but also coding them. More than I like to hear\read about cool technologies\features I like to code them alone\pair etc.
I think that the key to success is not what you know, it's what you want to know, for all those who want to be good look at Tal Ben Haim at wiki, Yossi Benayoun or for our American fellows Michael Jordan, This people become stars from both hard work and the passion for winning and success. Always find new challenges (write them in a place that you can see it every month\week\day).
Their is one thing I like except from coding, teaching others (especially friends & team mates).
I like to take a newbie, mediocre programmer and learn him how to be better, I measure my success by reading his code after some time. This is a great feeling knowing that someone you teach become a master. At every step in my life I had between 2-5 people which we work together: reading stuff together, coding or just help them understand advanced features\patterns.
Giving them new challenges help me to learn them better for myself.
Read&Code methodology, I am trying to read a lot, books while on bus\train, blogs\magazine while tired at home and code the rest of the day.
I've always have a small project which I code for fun, it could be an add-in, it could be a new research and it could be something I've learned at the university in some theoretical lessons of another boring course. few must do issues:
- 3-4 books a year (tech books not harry-potter's one), management is good enough.
- about ~100 bloggers a week. (I can't read everything but I truly make efforts to read most of them. Anyway, I have my favorite and the others I am reading if they have an interesting posts)
- articles - one main-subject per week\two. (for example: the last 3 weeks were dedicated to Entlib, the two weeks before were dedicated to AGX). I choose a small subject in a bigger one and learn it, for example: Entlib - PolicyInjection, Logging, Exception Management. AGX - API, newer versions, patterns&practices for better AGX-architecture.
- Blogging - It will cause you to do cool stuff so other people could enjoy and won't be bored to death while reading.
Things I should do
Learn to manage my day and my programmers day\week, I think that I can do things faster\better\cleaner, moreover, I know that I have to be a better team-leader especially while managing other tasks and planning the project-future.
I think I should write a better designs or even transform my self to start writing story cards. I am feeling that my (and my team-mate) design and design reviews hold a lot of crap. most of the time it is far away from the code itself.
Be more patient - "Serenity now" they called it at Seinfeld, I hate people who shout and raise their voice, and when I am doing it I hate it the most.
This is a world of ego and that is a fact! we should love each other, cause love will bring us better code. (for sure)
Code more at work - I am feeling that I am 60% manager and only 40% coder, which cause me to walk the corridors depressed. don't get me wrong I am coding a lot at home, but I always feel like the management and gantt-scheduling won't help me become better.
More pair with people who better than me - I would like to work with more gifted developers and have a lot of pair-programming sessions with them.
Things I want to do
I will concentrate at the things till the end of the year cause more than that will take a few more posts.
TDD - is the main issue, I start learning and coding it and I think that this is a fascinating world, moreover, I am feeling that there are not enough people implementing it so it make it even more challenged.
C#3.0 - especially Linq, which I think that this is the biggest step Microsoft made at this version.
GIS Stuff - Write and code more on new GIS technologies, like MS-Virtual earth and Google Earth or the new Image-Server of ESRI.
The GIS stuff is at the beginning and people don't know how to use it at work, I think that there we could find a lot of challenges and a lot of money.
Left the current job and Join to a challenging start up I am not sure what I want more the money or the challenge but they both would make me happier. (not till the end of the year)
Things I won't do
As Oren says, I won't left the keyboard, at least not for the near future.
Won't manage team that don't need me in a player-manager position (like: Ruud-Gullit or Kenny Dalglish). I can't be only a manager, not right now.
I will never give someone else (beginner\mediocre) the right(full) answer. (this worst-practice) in our fast-and-furious world we need everything fast so we don't care that others won't learn, you don't know, I'll show you the way...
Tagging this folks
Avi Wortzel, Roy Osherove, Yossi Shmueli, Oren Eini (aka Ayende Rahien), Shimon Krokhmal.