What I am doing to become a better developer
Gosh, I did not know Raymond Lewallen was reading my blog (I guess I should start writing some meaningful stuff and stop playing around ;)) but I’m more than happy to raise up to the challenge and talk about what I am doing in order to go to the next level.
In one of my post, What it takes to become a great developer, I mentioned the notion of “Be Eager To Learn”. I don’t consider myself as a good developer due to my natural skills (I don’t think that I’m mediocre, but certainly not Larry Page). Starting 8 years ago as a little teenager at 15, I had to work my ass off in order to keep up and show the rest of the people I was working with that I’m just as good as they are. Reaching this goal, I wanted to show myself that I can be the best guy at the company.
Eight years passed and a lot have changed, but I’m still very much eager to get better and more versatile. One thing I’ll always keep with me, as it proved it self so far, is the no-fear attitude and the (sometimes) ridiculous optimism. I’m not afraid of doing new things or changing positions when an “offer you can’t refuse” knocks on my door. Life is short and you most grow each and every day. I’m still the same team player guy, although I can get over confident (aka arrogant) or raise my voice here and there. I care about my teammates and know when to say “I’m sorry”. I work with my heart and hopefully my current and future teammates will forgive me for my faults.
I think that in the last few years I’ve learned a lot about myself, about the things that really intrigued me, that push me to excel. I love coding, I love talking with people, mentoring, lecturing about technologies or Agile methodologies, but most of all – I enjoy taking ownership of projects I participate in and making them successful. I’m looking to surround myself with people smarter than me, those that have natural gifts in them, and making them better.
Things I should do
I should try to get more organized in planning my time. I read a lot of books about self management but I don’t feel like I’m practicing them as much as I should. I should really invest more time in myself, trying to set goals and constantly reviewing them. I’m leading the Agile a la Scrum at Semingo so I hope to use this work & review notion more in my life.
I should learn more about Agile, Scrum and XP. I’ve read a few great books about Agile\Scrum\Management but I still have a lot of unanswered questions. I know that these methodologies only offer some solutions but I don’t believe we should enforce them. I believe in making our own Agile process at Semingo. That said, I do want to read more books from people with different experience, different ideas and best practices I could learn from.
I should definitely write more posts! (particularly about Agile\Scrum)
Things I want to do
TDD: getting better in it and start lecturing about it more.
Multi-threading: This one is a new set of skills I’m developing at my current job. Looking at the near future, this skill is crucial as a developer.
WCF: I need to use it in my current job and I have a lot of catch up to do.
Lecturing: At least 4-5 lectures a year looks like a solid goal at the moment.
Most of all, I want to make Semingo the best place to work at, to bring more amazing guys&gals to work with us and making an application that will change the way millions of people work.
Things I won’t do
I think that it’s getting clear to me that I do not want to be an external coach. I don’t see myself coaching a team for a 2-3 months and then shifting to another team. I enjoy working with people and I take pride and strength in making things complete.
I won’t stop talking and writing about software, practices and people as long as I have keyboard and working set of 1-N fingers available. Count on it!
Tagging these folks
Pasha Bitz, Shani Raba, Doron Yaacoby, Eran Nachum, Ken Egozi