code producing code

Posted by on Nov 14, 2009 in coop course | 1 comment

This week at work I learned about ICEfaces, as well as my managers dislike of it.  I’m not sure what it is that I dislike about writing code that in turn writes code, but that is definitely the case with ICEfaces.  There’s just something that feels inefficient about some program interpreting my code and then generating more code from that.  I know that is what a compiler does, but that’s the whole purpose of compilers.  That is not the case for many code producing mechanisms.

Regardless of how I feel about such a thing, it was nice to get some more insight in to what is actually being used in the corporate world.  Most of my web development experience has been in PHP and with apache.  In fact, I didn’t even realize that many people even used Java for web development.  I just assumed that most web development was done in either PHP or .NET.

Read More

testing 1,2,3

Posted by on Nov 7, 2009 in coop course | 0 comments

I now understand why writing functional tests or unit test for code is so important.  I have taken a course that included some test-driven development and assignments that required unit tests.  Intellectually I have understood the value of these tests, but I never really saw the full benefits of writing tests (although I’m sure I still don’t fully understand).

This week at work one of my big tasks was to write tests for a library that had been written previously and is now being used in a system my team is developing.  In writing these tests, I have been able to learn several things about the library:

  1. How the code works, and what it is supposed to do
  2. The database that the code was written for is not the same one we are using
  3. The library was missing several key functions

If I hadn’t written test for this library, I would still have been in the dark about how it was doing what it was doing (even though I had written a web service that called all the library functions).  I definitely wouldn’t have realized that it was missing features, and I definitely wouldn’t have known why it wouldn’t have worked with our current database.  So, I saved myself and my team plenty of head scratching by writing tests.  Who would have thought test would save time?

Read More

deadlines

Posted by on Oct 31, 2009 in coop course | 0 comments

The past two weeks I have been working on project with a due date of ASAP.  More recently I have discovered that there are people waiting on me who won’t be too happy if I don’t meet my deadline.  Even though I have had plenty of deadlines at school, this one is different somehow.

Regardless of why it is different, I am definitely feeling the pressure.  It’s very interesting to see how I deal with this kind of different pressure.  In some ways it has been hard since I definitely feel like there is not enough time to complete this project by the deadline.  I know that the deadline isn’t completely a hard deadline, but I still want to get it done as quickly as possible.

It makes me realize that having a good manager can really make things go well.  My manager has been very helpful in answering my questions and helping me deal with the timelines/expectations of those affected by my project.  I’m very glad that I have been able to observe this kind of interaction, it seems to be a great experience.

Read More

back and forth

Posted by on Oct 25, 2009 in coop course | 0 comments

Over the course of my internship I have had to switch gears between different projects.  Sometimes new things would come up and I would need to focus my attention there.  Sometimes it was just because I had multiple projects on my list and the one I was just working on was waiting for someone else before I could continue.

Regardless of why I had to switch projects, I have noticed that if it has been a while since I last worked on the project I am switching to I often have to spend time re-orienting myself to the project.  This has been even more true with my freelancing in the years past (especially when it could be over a year before I come back to something).

I know it will be hard to force myself into a new system, but I really think that I need to start keeping notes about what I am doing on a project on a daily basis.  This is really so much easier said than done.  Code commenting can sometimes feel useless, so I can’t even imagine what it will seem like when I am writing a description of what I have just done.

Read More

schedules and such

Posted by on Oct 18, 2009 in coop course | 0 comments

One little thing that I have picked up during my internship has been my preference for work schedule and work dress code.

As far as schedules go, when I was full time I pretty much only worked from 8 am until 4 pm.  Occasionally I would need to come in later or leave earlier, and that was just fine.  Sometimes I would even stay late one day so I could come in really late the next day.  This was just fine as well.  In fact, it didn’t really matter when I worked as long as I was there for my meetings, and my schedule didn’t interfere with getting work done.  I know that I would be able to do just fine at a company with a more rigid schedule, but I definitely prefer the loose system that I have now.

Now about dress codes; I think I would most prefer a completely relaxed dress code (aka jeans and t-shirt).  I can say with complete sincerity that I have had no problem with the business casual code that I have had at my internship.  Again, I think I could get used to a regular business standard dress code, but I think that I would prefer more relaxed.  This part has surprised me the most during my internship.  I used to think that I wouldn’t be able to stand not being able to just wear jeans and t-shirt to work.  Fortunately I have been able to discover that this is not the case.

———————————————————————–

P.S. for those of you subscribed to my blog, I have been writing blog posts for a coop course that I am taking.  Feel free to ignore these…

Read More

systems for systems

Posted by on Oct 11, 2009 in coop course | 0 comments

One thing that has been apparent the whole time I have been interning has been that large organizations have lots of systems.  I’m not just talking about the computers or servers, I’m talking about the methods and software used to control the interaction between individuals and groups.  There are systems for moving code from development to testing to production.  There are systems for getting access to new software or databases.  There’s a system for almost anything you can think of.

The amazing thing is that when you have a lot of people, these systems are ridiculously important.  The database administrators would be bogged down by requests if every single request was different.  They would have to interpret each request before they could even do the work.

The really interesting thing to think about is how important it is for a system to be setup correctly from the beginning.  I know that no system can be perfect from the beginning, but that first try is seriously important.  If it is really screwed up, it can take forever to get it to a good place, especially if it is not readily apparent where the problem lies.  With all the systems setup to safe-guard the other systems, it is very difficult to get something to change.  It just burns this thought in my head: a new system must be very well thought out before being implemented (this is of course assuming the system is within a large organization…)

Read More