Well tonight I posted my first contribution back to the programming world. It was part of my Database QA Tool I am writing. It can be found here.
Code Project - Open Database Utility
The article above is for a connection file manager that can be integrated within another C# application to manage connections to a database from an application. I am excited an anxious for feedback on items that others can give me to help me progress.
Thursday, July 31, 2008
Sunday, July 27, 2008
My limited expereience - start in programming
To pickup from my last post now I am going to elaborate on what I have done thus far. I took a C++ class in college and am not sure how I passed it but did. I don't recall anything from the class so I don't even consider it. My first attempt at Java (Required class) was 2 1/2 years ago and I had to drop it. I wasn't ready for it and I had a new job so I needed to focus. I took Java during the Spring 2008 term again and this was a totally different story. During the first class nothing made sense to me. The second one - nothing DIDN'T make sense - I know a double negative. It all clicked and amazingly easy. I passed the class easily and even enjoyed it. Since that was complete I decided to look at C# and see what I could do with it since they are both very similar. Note I used a Java Book by Tony Gaddis and it was excellent so I bought his C# book too (Starting out with C#). It took me a weekend to go through a 500 page C# book. I was shocked. It clicked too. I though maybe this software thing was cool and could do it.
Prior to this I was interested in database technologies and spent about a year going through PL/SQL and SQL Server programming books. I increased my SQL skill set tremendously during this time and got a lot of experience setting up and maintaining Oracle and SQL Servers.
I figured my next steps were to read, read, and when finished - read some more. I found a list of some recommended programming books and immediately purchased them.
I have completed GUI Bloopers (great book and would recommend to anyone) and am about half way through the Pragmatic Programmer and Facts and Fallacies. (Hey easy - only so much time in a day). I also decided to expand my library a bit and bought some more books to use
So that is my current "Educational Reading" list I am working on.
Now on to my first project. Due to confidentiallity reasons I have to be vague about what I mention so the names are changed to protect the innocent :o).
I wanted a way to create meaningful (this is the key) test data for my testing purposed. I also wanted to get some interaction with a form application and a database. I decided to create a tool to use during my qa role. This tool would do the following:
I turned to our existing product and utilitized an existing DAL and Logging mechanism that was already in production and stable. I threw out (saved actually - can use later) the XML db connection manager I had spent a week on spent a day implementing the common class from our existing apps. This worked nicely and gave me exposure to integrating with existing classes.
I completed the Statistics page and was able to run it successfully against all 3 platforms with less than a second lag time from form load to stats populated. I had a total of 23 different pieces of data to return so I think it went well.
The next step which I worked on this weekend was to logically skip over the data validation and create the GUI for my Data Generation. I didn't rush this one as this would require a lot of thought to implement correctly. I drew this out on paper 3 times before I wrote the GUI. This allowed me to catch 4 logic errors I would have missed if I jumped and started coding. I have the GUI done for half of the data generation and know how I need to proceed. I took the rest of the weekend off and spent it with my family and just did some reading. I figured I would come up with other ideas and have. I will sit down tomorrow and map out my plan one more time then start coding away.
Thus far I am happy with the way things are going but know I have a long, hard road ahead of me and am anxious to learn as much as I can as quick as I can.
All for now....
Prior to this I was interested in database technologies and spent about a year going through PL/SQL and SQL Server programming books. I increased my SQL skill set tremendously during this time and got a lot of experience setting up and maintaining Oracle and SQL Servers.
I figured my next steps were to read, read, and when finished - read some more. I found a list of some recommended programming books and immediately purchased them.
- The pragmatic programmer (Andrew Hunt and David Thomas)
- Don't make me think (Steve Krug)
- Facts and Fallacies of Software Engineering (Robert Glass)
- GUI Bloopers 2 (Jeff Johnson)
I have completed GUI Bloopers (great book and would recommend to anyone) and am about half way through the Pragmatic Programmer and Facts and Fallacies. (Hey easy - only so much time in a day). I also decided to expand my library a bit and bought some more books to use
- Microsoft Visual Studio 2005 unleashed (Sams)
- Visual C# 2008 (MS Press)
- ADO.Net 2.0 (MS Press)
- JavaScript Step by Step (MS Press)
So that is my current "Educational Reading" list I am working on.
Now on to my first project. Due to confidentiallity reasons I have to be vague about what I mention so the names are changed to protect the innocent :o).
I wanted a way to create meaningful (this is the key) test data for my testing purposed. I also wanted to get some interaction with a form application and a database. I decided to create a tool to use during my qa role. This tool would do the following:
- Connect to an Access, SQL, or Oracle database
- Provide a snapshot of the database (Counts) to give an idea of how it was being used
- Run data validation checks to ensure the database had no corruption
- Generate Test data to insert in bulk to the database yet have the data be meaningful and unique
I turned to our existing product and utilitized an existing DAL and Logging mechanism that was already in production and stable. I threw out (saved actually - can use later) the XML db connection manager I had spent a week on spent a day implementing the common class from our existing apps. This worked nicely and gave me exposure to integrating with existing classes.
I completed the Statistics page and was able to run it successfully against all 3 platforms with less than a second lag time from form load to stats populated. I had a total of 23 different pieces of data to return so I think it went well.
The next step which I worked on this weekend was to logically skip over the data validation and create the GUI for my Data Generation. I didn't rush this one as this would require a lot of thought to implement correctly. I drew this out on paper 3 times before I wrote the GUI. This allowed me to catch 4 logic errors I would have missed if I jumped and started coding. I have the GUI done for half of the data generation and know how I need to proceed. I took the rest of the weekend off and spent it with my family and just did some reading. I figured I would come up with other ideas and have. I will sit down tomorrow and map out my plan one more time then start coding away.
Thus far I am happy with the way things are going but know I have a long, hard road ahead of me and am anxious to learn as much as I can as quick as I can.
All for now....
My First Blog Post - Wow
Well this is my first post on a blog of any kind. I never really found any use for blogging until now. I tend to keep my family life and events private from the internet and will continue to do so. This blog is going to be my "record" as I start my journey into the Software Development world.
First a little history -
I started out using computers in Elementary school (I'm 31 now). I didn't really get into them until I was a senior in high school. It was two years after high school (and partying)that I started to gain an interest in them deeply. I was then engaged to my soon to be wife and I broke her cheap 75 MHZ PC which she needed for school work. I spent hours trying to get it fixed and that was my first experience with troubleshooting PC's. As time moved on I eventually had two pc's and networked them together (parallel cable) to see how it worked.
Around the same time I decided to go back to school. I was going to get a degree in Criminal Justice and my wife asked me literally if I was "stupid". She said go into computers - it's what you like. I started pursuing my 4 year degree in Management Information Systems (MIS) in Fall of 99 and Completed it in 2008 (long story).
While working I began night classes and my interest in computers was steadily growing. I was loading bread trucks for a living (harder than it sounds) and was promoted into the engineering department to order parts for a manufacturing facility. That was a neat job but soon was ready for a change. I then went back to the shipping department as a supervisor for 3 years. During this time I gained valuable management experience and during the same time I opened my own small business on the side Building, Repairing, Upgrading, and Troubleshooting computers and networks. This experience was more valuable than I knew at the time.
At the end of my third year I had the opportunity to move into an Assistant Network Admin position and I took it. This role also included some accounting work which would be valuable later as well. The whole time my love for computers was growing. I was up to 4 pc's at the house and had a pretty decent network.
My big break came when I was offered a position in Tampa with a large private firm troubleshooting a software package that was sold externally. That break led up to the reason I am writing this blog now. I had previously been around users and pc's but was bored with it. I wanted a new challenge. I took the role and learned as much as possible and was rewarded with well earned promotions. I learned many things along the way including
I am currently testing this software package and have the opportunity to work into a Jr. Developer / Developer role with this company in the future.
Now during this whole time I was going to school, building a home, starting a family. As of today school is finished, I have a 4 year old and 1 year old boy, and the most understanding and giving wife a person could hope for much less have. I owe a lot of this to her and appreciate her more than I think she knows.
To give you an idea of what she has to put up with take a look at these pictures:


These are about a year old but indicate what I do in my spare time :o).
I currently have enough PC's for a couple of households:
Ok - Just read back over this before posting. I think I fit the "Geeky" enough mold to be a developer one day.
Moving forward my aspirations are to learn as much about the software industry and the development process as possible. In my next post I will talk about what I have done thus far and my near future / long term plans.
First a little history -
I started out using computers in Elementary school (I'm 31 now). I didn't really get into them until I was a senior in high school. It was two years after high school (and partying)that I started to gain an interest in them deeply. I was then engaged to my soon to be wife and I broke her cheap 75 MHZ PC which she needed for school work. I spent hours trying to get it fixed and that was my first experience with troubleshooting PC's. As time moved on I eventually had two pc's and networked them together (parallel cable) to see how it worked.
Around the same time I decided to go back to school. I was going to get a degree in Criminal Justice and my wife asked me literally if I was "stupid". She said go into computers - it's what you like. I started pursuing my 4 year degree in Management Information Systems (MIS) in Fall of 99 and Completed it in 2008 (long story).
While working I began night classes and my interest in computers was steadily growing. I was loading bread trucks for a living (harder than it sounds) and was promoted into the engineering department to order parts for a manufacturing facility. That was a neat job but soon was ready for a change. I then went back to the shipping department as a supervisor for 3 years. During this time I gained valuable management experience and during the same time I opened my own small business on the side Building, Repairing, Upgrading, and Troubleshooting computers and networks. This experience was more valuable than I knew at the time.
At the end of my third year I had the opportunity to move into an Assistant Network Admin position and I took it. This role also included some accounting work which would be valuable later as well. The whole time my love for computers was growing. I was up to 4 pc's at the house and had a pretty decent network.
My big break came when I was offered a position in Tampa with a large private firm troubleshooting a software package that was sold externally. That break led up to the reason I am writing this blog now. I had previously been around users and pc's but was bored with it. I wanted a new challenge. I took the role and learned as much as possible and was rewarded with well earned promotions. I learned many things along the way including
- Learned new Customer Support Methodologies for Software Applications
- Increased troubleshooting skills dramatically
- Became proficient in TSQL and PLSQL with SQL and Oracle Database Platforms
- Increased *nix knowledge in supporting Oracle
- Increased knowledge surrounding the Operating Systems and underlying functions
- Fell in love with Virtualization technologies (VMware, Hyper V, Virtual Server, etc) :o)
I am currently testing this software package and have the opportunity to work into a Jr. Developer / Developer role with this company in the future.
Now during this whole time I was going to school, building a home, starting a family. As of today school is finished, I have a 4 year old and 1 year old boy, and the most understanding and giving wife a person could hope for much less have. I owe a lot of this to her and appreciate her more than I think she knows.
To give you an idea of what she has to put up with take a look at these pictures:
These are about a year old but indicate what I do in my spare time :o).
I currently have enough PC's for a couple of households:
- Main PC (Gaming, Dev, etc) Quad Core Vista Ultimate 8 gigs ram - Dual 22" LCD's- 8800 GT
- File Server (Storage only) AMD3000XP 1.5 gigs Ram, Server 2003, 2.5 TB of storage
- Test Server(VMWare) Intel Core 2 Duo, 8 Gigs Ram, Windows 2008 with Hyper V - love this role!!!
- Wifes Machine - AMD X4200, 2 gigs ram, Windows XP Pro
- Home Theaters PC - AMD X4200 - 2 gigs ram, Geforce 7950 GT, 1 TB storage
- Desktop Test Machine - P4 2.0, 1gig ram, XP Pro / Ubuntu Linux
- Spare Machine (Dust Collector) - AMD Athlon 1000, 768 mb ram - no OS
Ok - Just read back over this before posting. I think I fit the "Geeky" enough mold to be a developer one day.
Moving forward my aspirations are to learn as much about the software industry and the development process as possible. In my next post I will talk about what I have done thus far and my near future / long term plans.
Subscribe to:
Posts (Atom)
