I've been developing software professionally now for about 7 years and for the past three I've been a consultant. I've met a lot of people, been on a lot of teams, and worked on some pretty cool projects. Recently I rolled off of a client project that was probably one of the most challenging projects I've ever worked on. My previous software development experience has been mostly with financial applications. This is helpful when trying to put the requirements for the next project into some sort of context. A loan is a loan and an interest rate is an interest rate. My last client was a Biotechnology company. I've never worked with highly scientific data and terminology before. Trying to put the project requirements into some familiar context was pretty difficult. The same level of difficulty though also made for a very rewarding environment. But that's not the point of this post. What I found most rewarding about the project was the team that came together. I was a member of a 5 person tech lead team. We had a collective experience that complemented each other better than any team I've ever worked on. Each of us could challenge the others in different ways. The dynamic of the team really forced you to think a problem through, and even then, when I felt I had a pretty solid design, they still poked holes in it. I can confidently say that I'm most proud of some of the components I wrote there. None of us knew each other before this project, and the Madison IT community is like small town America where everybody knows everybody, or so it seems. How we all ended up coming together is a mystery.
Saturday, March 21, 2009
Monday, February 23, 2009
Face to Face with Employer
So I'm an active member of Facebook. I love it. I've reconnected with several friends that I haven't seen in years and keep in touch with friends that don't live near by. I chat, write on my friends' walls, and have even planed reunions using Facebook. But recently people from my employer are now getting on Facebook and sending me friend requests. I have no problems with any of these people. I talk to them all the time at company get togethers and business meetings. But you won't find me out on a Friday night stomping the town with them. I like to draw a line between my personal life and my professional one. I feel I'm probably in the majority here. I'm not sure if I like the idea of management from my employer wanting to be friends with me on my Facebook. In contrast, if you are going to publish your life on the internet, then you better be willing to accept the fact that its there for everybody to read.
I digress.
Tuesday, November 11, 2008
Mentoring techniques
Yesterday while at work I was asked by a junior developer what type of data access layer my team is using on our project. He was wondering about the use of data sets or business objects. Do we use inline SQL or stored procedures. So I sat with him and had a short conversation about his inquiries. After he left, I got to thinking, I better go see what he's working on before he tries to kill a mosquito with a canon. Good thing to. His initiative on his application was to take some ideas from a data access layer that another senior developer had wrote, and try and improve on it. I love the young sponges in the world. They just want to learn, push their abilities, and absorb as much knowledge as they can. But where do you draw the line with them? The data access layer he was going to try and enhance was solid, and has pasted the test of time. Its been implemented in several other applications as well. I'm all for enhancing and trying to find a better way, but the path he was going down I was skeptical about. It is my job after all to set him up for success. So I worked through some scenarios with him. I asked him how would you unit test your data layer? Would it be easier to maintain your design, or the current design? Does your design or the current design make more logical sense? My goal with him was to try and get him to understand the challenges that he'll face instead of telling him to just do it this way and be bombarded with a series of "what if's" and "ya but's". After he started to see the light, we talked about maybe some other technologies he could use instead of rolling his own data layer. One technology we talked about was the use of the ADO.NET Entity Framework. It basically builds the entire data layer for you, but its still cutting edge technology and maybe hasn't yet pasted the test of time yet. What other techniques do you use?
Monday, September 15, 2008
Scientific Notation to Decimal
string sVal = "1E-9";
decimal val = Convert.ToDecimal(sVal);
The above code fails because ToDecimal uses NumberStyles.Number which doesn't include the AllowExponent switch. You'll receive a FormatException exception that states the input string was not in a correct format. Use the following to convert to a decimal.
string sVal = "1E-9";
decimal val = 0M;
if(!Decimal.TryParse(sVal, NumberStyles.Float, NumberFormatInfo.InvariantInfo, out val))
val = 0M;
Jefferson
Friday, September 12, 2008
Mirra, Mirra, who's the fairest of them all.
Sunday, July 27, 2008
Hello World
Thanks for joining me,
Jefferson