August 29, 2005

So... You wanna be a programmer.

Well, boot camp is over and I have mixed feelings about it. On one hand I'm glad to be home, on the other I'll miss Don and class in general. What did I learn? Well, there isn't really enough time for me to sit here and expound on that subject so I'll just say that I learned more than I bargained for. After this training I see that being a programmer is more than just sitting down and hacking out lines of code. Programming is about offering a service. And anytime you offer any kind of service you have to do the following: working with people (communication is probably more important than being a senior programmer), planning (no more of this: "Okay, I've got my problem so let's see what code I can throw out there to figure it out."), and much more.

What does it take to be a good programmer and not just a programmer? Well, in school I was completely naive in this area. Given an assignment I would spend hours just staring at a blank screen hoping that the code would miracuolously type itself. Now, I think that to be a good programmer you just have to have the proper resourses (and not to mention being able to work with people). Google has become a good friend of mine recently. If I face a problem I'm not sure of how to approach then off to the WWW I go. Some students think this could border on cheating, but don't be mistaken. I'm not suggesting copying code fromt he web (cheating), I'm saying find a place you trust to give valid information about your particular subject and use it. In the real world you aren't going to know every key word or syntax, you'll have reference materials on hand for when you need them. The internet should be one of those resources.

Well, that about does it for now. I close with this:
-Forrest won the best blog award (computer Whiz to him).
-Team Ninja won last weeks programming project by the skin of our teeth, Freebirds did an awesome job on their project, we just got lucky.
-Thursday is the official first day at The Company, looking forward to that, but glad we got a break because I have got to get things organized at home before getting busy.

Until Next Time.

August 23, 2005

The Freebirds ~vs~ Team Ninja

Well this week we've been split into two unique groups. We have to face off in a battle of developer wit and stamina (or maybe just development skills) and see which team can finish this weeks project first.

The Freebirds:

Team Ninja:
me (...Les...)

Not a bad match, this should be an interesting week. We are splitting the work amongst team mates in order to work in different layers at the same time, we'll see how that goes.

Until next time.

August 15, 2005

What a Difference a Week Makes

This past week was another week-long group project. The last time we were split into groups, we had the then daunting task of adding a few extra fields to the Create screen of our basic CRUD application. The excercise was a thoroughly challenging one, and involved adding pieces of functionality to already existing classes in the reference implementation. It was challenging enough that most of the groups (mine included) barely got the project done by deadline. Little did we know that this week's project would be twice the difficulty with the same time restrictions.

Our assignment this time around was to implement the Retrieve and Update functionalities (betcha can't guess what our next project will be...). This time, however, we didn't have the nice classes to add to, we had to create our own classes in almost every level of the architecture. Super tough. The good news is, after many, many hours of work and some gruesome battles with bogons, my partner, Ramy, and I were much more comfortable with The Company's architecture. Since we're going to be expected to extend it on a daily basis, it's good that we've been thrown into it in a training situation rather than having to mess up a real-world application that our employer relies on for its daily revenues. Our crashing through the layers came at the expense of the consultants' personal time though, because they also had to stay up here with us far later each day than they probably should have. The end result is hopefully worth it, because I think we all understand a great deal more about what goes on in the system.

This week, we're going to be learning about Enterprise Java Beans. That should be an interesting task for my part, because I have zero experience with them. I guess that's pretty much been the story about every aspect of the training for me so far, so nothing different there. Of the new things I've learned, the award for most awesome thing easily goes to taglibs and Expression Language in JSPs. I love the concept of code that reads like plain-English and accomplishes a lot in a small snippet.

Oh, and one side note about group projects. In college they seemed to be little more than excercises in futility, because you would invariably get teamed up with people who either wouldn't do any work at all, or wouldn't even show up for group meetings. In training, it's been the exact opposite. I've already had two incredibly awesome teammates that have worked very hard and that I have also learned a lot from. If this is what it's like at The Company, then I'm going to have an awesome time working there for sure.

Well, anyway, just two more weeks and we'll finally be able to head to The Company every morning instead of The Consulting Firm. That's right folks, we'll actually get a work phone number and email address, woot, woot! It's going to be really strange when we return, having been employed for almost two months and still being "the noobs." It's okay though, I can't imagine how much harder it would have been to have just been planted on a project without all of this training. Hopefully, we'll be prepared enough to step right in and contribute when we get back.

Forrest Humphrey


I just lost the game.

August 10, 2005

Can't See the Trees for the Forest

Take a moment...

Step back...

Sleep on it...

So tomorrow I have to go back at the Reference Implementation with a fresh start. What a mess it can seem to be at times. Sandeep and myself have been working together this week on the next iteration and it has been a slow week. We decided today after a little progress and a lot of work that we needed to call it a day and step back into it with fresh minds in the morning. I know that for myself I am still working on grasping the entire framework. There is much to learn, but with time and effort I will get a handle on it.

Next week is J2EE/EJB week, that should be very educational.

Advice I give myself:
We were brought to training to learn to work together toward a single development solution, don't be competitive and leave someone behind or be prideful and get left behind.

Until Next Time,
Les Martin

August 7, 2005

A Few Helpful Struts Links

Here are a few resources I have found helful in learning the Struts framework:

Struts, an open source MVC Implementaion
First Steps with Jakarta Struts Part 1 - Sitepoint
First Steps with Jakarta Struts Part 2 - Sitepoint
The Struts User's Guide - Struts Apache Site

Les Martin

August 4, 2005

Half-Started or Half-Over

Well, we have officially breached the half-way mark in our training. And I can say for myself that so far I cannot complain. After covering what we have covered I am psyched about Java and J2EE development. I've done a little web development, but never on this scale. The things we are doing now are some of the coolest things I've ever done in code. I'm growing to love design patterns, coming from my background I haven't had a lot of experience of knowledgably implementing patterns. This week I have grown to love the Controller and Command patterns.

STRUTS is an awesome framework, I am really looking forward to getting farther into it. I really like the way the MVC is tied together so seamlessly. Model and View are finally real world concepts to me now, not just something I've read about in a text-book.

Although the training is going great I am not sad that we are over the half-way point. I look forward to getting home. I also am looking forward to getting to work using what I'm learning at work. I finally feel like I am a Software Developer (or at least I have the skills and knowledge to be). All being said, I want to be home, but the training is priceless.

Things the Gang Will Miss:
Ping Pong

Things the Gang Won't Miss:
being away from home

Until next time,
Les Martin


August 3, 2005

Honeymoon is Over

Yes it's true. As of lunch time today we are officially half-through our training. It's been a long, tiring, and fun 3.5 weeks, and I'm sure the remaining half will be just as stimulating. Now it's time to see what happens when people stop being polite and start getting real (as they say on that one show).

Yes, as the weeks are wearing on we are getting more comfortable with each other and might be using a little less energy trying to keep everyone happy. I can tell my temper is getting shorter and I have to try harder to block out annoyances. Of course it's strenuous for everyone to be away from family and I know that the crap internet here at the hotel has made me scream at my monitor more than once. I'm also sure everyone has personal stresses that seem to infest our daily lives as well. It's really important that we band together and try extra hard to curtail those dark little personality traits that creep up on everyone once in a while. I definitely would want someone to tell me right away if I was doing anything that bugged them, and although I hope I'm not doing that I know it can happen without thinking.

The training is affecting everyone a bit differently. I am finding myself trying to dig in and pay attention, but end up going back to my old pattern of absorbing the lecture in my periphery, and then reading the material for myself when I need to use it for the assignment work. I still pick up new concepts quickly, even the difficult ones we've been doing recently. I am really glad we'll have our training binders to refer back to in the coming months (years?).

I am really looking forward to our next week of working on the reference implementation and getting a partner for pair programming. I like having someone to talk to while coding and it's nice to be able to run my (sometimes crazy) ideas past someone so we'll waste less time and have tighter code.

That's about all from your resident hardwareguy tonight. Sleep tight and WRITE UNIT TESTS!

Seperation of Code and Page

Ahhhh, the wonderful world of seperating logic from UI. JSPs can get very large and confusing after adding more and more functionality into them. If all you html and Java all goes into the JSP then it gets to be very dirty looking, and then it becomes hard to read which makes it hard to debug and scale. If you've ever done much html on the side or otherwise you know what a pain layout and styling can be, add to that a bunch of Scriplet tags and Java code and you've got a nightmare of a page on your hands. Enter the ability to tie your JSP to a Java Class (a Java Bean but not EJB) with some handy little JSP Server tags, ~voila~, logic seperated from UI. Still looking forward to STRUTS though... so more to come on that.

More about The Ten:
Well, lets see. It seems that The Company couldn't have chosen a group of people that are so different yet so similar at the same time. We all come from very assorted backgrounds. Some of us came farther for this opportunity than others (I myself have been an Okie for more than the majority of my life). There are some here at the training who haven't yet found places to stay in OKC. Although there is a kaleidoscope of backgrounds we are all very similar. We are all here for one purpose: to seek a career in software development. Oddly (at least we have discussed it and find it odd) that of the ten people that were hired not one of us is a smoker. Less than half of us are married, but to my knowledge there is at least one of us that is engaged. Working together is pretty easy for us. We all have different programming backgrounds so we all seem to pick up the slack where we can. I think The Company did a great job (with the help of a few well mannered consultants) at building this team.

Development Environment: We are using Websphere Studio Application Developer 5.1 (wsad). This is a great IDE, well, it is built on a great IDE. wsad is actually a platform built around the open source IDE eclipse. There are a lot of neat things that come in the package for J2EE development. I do look forward, however, for the company to upgrade to RAD 6 (Rational Application Developer) because it is built around Eclipse 3.0, while wsad just uses Eclipse 2.1, but one step at a time, wsad is great whichever eclipse it uses.

Until next time.
Les Martin

August 2, 2005

System.out.println("Hello World");

Hello, my name is John and I am one of the other trainees in the incubator. This is my first time posting in a blog as well as reading one. So if my post doesn't sound very exciting or catchy, then maybe I could post some java code for the uber geeks to get excited over. I have been living in Oklahoma City for all 22 years of my life. I graduated from Oklahoma City University just a few months ago. I was one of the fortune people to get hired right out of college. But before starting work at The Company, the ten accepted applicants must enter a program in Dallas for additional training. Which brings me to the present...

for ( int i = 0 ; i < infinity-1 ; i++)
System.out.println("must hold your attention a little longer...");

For the three weeks that I have been here, it has been very fun, educational, and tiring. I have made new friends, who have been very helpful. They helped me with the coding as well as other things outside of training. The training itself was very..."juicy" (what an adjective to use, lol). So much content is covered each day, that not everything could be retained completely. Because the training starts with the basics and progressing up, I find myself having difficulty dropping old programming habits from college (I was too cool to do analysis+design back then, why start now). As for new concepts that I have never worked with before (jUnit, servlets, jsp, etc), I started struggling. Thankfully, the instructors are there to help.

Well, its time for me to wrap this up and hit the books again. Hopefully this was a good initial post for me in this blog. More details next time.

Fatal Error:
Unable to recover from...

Gang of 10 Best Post Award

Well, Matt came through and has offered a trinket to be used as the reward for the best post on our Gang of 10 Blog.

Here it is:

If you are interested all you have to do is post a blog or two, about whatever, but if you want you can post about our training.


August 1, 2005

JSPs and HP-6

Well, Another week is going strong after a grueling monday back at Valtech. We're doing (as previosly announced) JWEB which means we are covering Servlets, JSPs, STRUTS, and related technologies. Today was pretty nice, we wrote a few JSPs to handle simple currency conversion. It was simple enough logistically, but getting used to the J2EE web programming may take a little extra study.

I'm looking forward to getting into STRUTS. I'm ready to seperate all Java from HTML. I hate mixing the different kinds of code in one file, I'm ready to step up to the next level.

I'm almost finished with HP-6 (Harry Potter book 6), not a bad read, but pretty plotless. It seems to be a filler to the rest of the series than a story on it's own, but it is pretty good. Having just been convinced last year by my wife to read the HP series I am new to the series, but as far as good fiction goes the books don't dissapoint.

Things I like about Boot Camp:
The training is hands on and in-depth.
The Valtech folks have been great (Don and Matt are really helping us along).

Thing I dislike about Boot Camp:
Being away from my wife.

Until next time.
Les Martin

So I Guess It's My Turn?

Nathan here.


This is me.

Incubator Boot Camp Thing.

Good stuff.

JSPs are confusing.

More later.


Hi, I'm Erik

Hi all. My post won't be as eloquent or verbose as Forrest's or Les's, but I wanted to let everyone know I was alive for the most part and will possibly be contributing to this website from time to time. I really don't even post a lot on my own site, but that would be the place to go for relatively up-to-date news on me. I'm really psyched to be a part of this so-called incubator training for The Company. My trainers are well versed in what they're teaching, and my co-conspirators are smart and cool. There is a lot of crap being shoveled on us at once here, but everyone is getting through it with relatively little friction. Time to pad this post with generic biographical information. My name is Erik Beach. I have lived in Tulsa, OK for my whole life. Around 5th grade I decided I loved computers and wanted to use them all the time. I finally got my first computer in 9th grade and have been building new ones for myself every 1.5 years or so and upgrading every chance I get. I graduated from the University of Tulsa in May 2005 with a Bachelor's Degree in Computer Science. I'll be moving to OKC in a few weeks and can't wait to get started at The Company. That's enough for now. Keep 'er in the paint!

This is me

So here's the deal. I don't really post to blogs. Well, not until now, obviously. My problem is that I don't see why anyone would find anything I could post to a blog interesting, so I haven't ever had one. Therefore, if you find yourself here and you are asking yourself, "Why would I want to read this stupid crap?" My answer to you is, you probably wouldn't. However, if you happen to be a CS major wanting to know what an entry level Software Engineering job is like, or if you just want something to do, feel free to give us a read.

As of right now, we are beginning week 4 of our 7 week training period, cutely named "Boot Camp." So far, we've covered Object-Oriented Analysis and Design, the Java Core (J2SE), Unit Testing, Aspect-Oriented Programming and J2EE. Last week, we finally got a peek inside the code we'll be working with on a daily basis, known as the Common Architecture. It's the working code base that our employer already has in production, and is the foundation that all of our work will build upon. Good stuff.

Looking back on the last three weeks, it seems like we've really been covering a lot of material. My main concern about myself is that I won't be able to retain all of the information we've been learning. Especially the stuff about OOAD because all of it was completely new to me. I've been trying very hard to refresh myself as we progress in order to keep from losing what we've been taught, because I see the importance of mastering this topic. In college I wasn't taught a single thing about Analysis and Design. If we were given a project, we would basically just start coding it. This almost always led to endless hours of frustration adapting the design of your code around or just trying to troubleshoot a horribly bloated method that does way too many important pieces of business logic. Analysis and Design, when done right, should leave the developer with a much better understanding of how to create the software and also leave them with a nice working set of artifacts to look at should they need more clarification later on.

On tap for this week...learning JSPs, Servlets, and Struts. Awesome. I've had so little experience with web applications. I've only created static HTML web pages in the past so this stuff is blowing my mind.

Anway, this is officially my first blog post ever, so marvel at the noobishness while it lasts.