Daily Archives: June 11, 2008

Not quite Vermont IT Jobs: .NET developer in Portland, Maine

Council on International Educational Exchange

.NET Application Developer

Reports to: Director, Application Development

Location: Portland, ME

Summary of Position

This position is responsible for developing system(s) to support business needs as defined by the current and future business requirements. The incumbent will also be required to integrate existing systems with new system as the business or technical demands evolve. Additionally, the position should constantly be challenged to define areas that will benefit from automation and/or electronic commerce.

Primary Responsibilities

  • Designs and Develops proposed software solutions:
  • Maps business requirements to a physical model
  • Adopts and maintains programming standards to continually improve quality of applications software.
  • Ensures that established development methodology is followed.
  • Ensures that system, program, and job documentation is complete and current.
  • Performs thorough unit and integration testing and acts as QA for other team members when required
  • Monitors user acceptance testing as required.
  • Evaluates/audits operational applications as requested, and recommend any performance improvements that could be made.
  • Performs program design and development activities as required.
  • Maintains production applications as required.

Knowledge and Skills

  • 5+ years experience with object oriented languages
  • Programming experience with relational databases (specifically, Microsoft SQL-Server)
  • Experience with object oriented development tools (C#.NET, ASP.NET, VB.NET, XML)
  • Experience with Agile Development methodologies
  • Must be able to work well in a team environment

Due to federal regulations, a background check will be conducted as a condition of employment.

Benefits
CIEE is committed to providing a competitive benefits package for our employees. The benefits package is reviewed and updated annually. The following is a sampling of the benefits you receive at CIEE. Most benefits apply to “regular” employees who work 35 hours or more each week.

  • Medical
  • Dental
  • Vision
  • Flexible Spending Accounts
  • Holidays and Vacation
  • 403b Retirement Plan with a generous company match
  • Disability Insurance
  • Life Insurance
  • Employee Assistance Program
  • Full service in-house workout facility and locker rooms
  • Employee Computer Purchase Program
  • Group discount on auto and home insurance

Since 1947, the Council on International Educational Exchange, known as CIEE, has been in pursuit of its mission, “to help people gain understanding, acquire knowledge, and develop skills for living in a globally interdependent and culturally diverse world.”
CIEE is the leading U.S. non-governmental international education organization. CIEE creates and administers programs that allow high school and university students and educators to study and teach abroad.

Today, CIEE is composed of two interrelated but operationally independent entities based in the Old Port of beautiful Portland, Maine across the street from the a working sea port.

Interested candidates please email a cover letter and resume to cieeresume@ciee.orgPlease put “Application Developer” in the subject line.  We will contact those candidates we would like to meet with to further discuss this exciting opportunity. No phone calls please. Relocation assistance is available.

Eager Deferred Loading of related entities

“Eager Deferred” is a bit of an oxymoron, but let me explain.

Example:

You have queried for customers.

For particular customers you want to get their orders AND order details.

customer.Orders.Load will only get the order entities.

But what if you wanted to do something similar to Include in there?

eg customer.Orders.Load.Include(“Details”)

That syntax is not possible. and is something Ben S added to the Entity Framework v2 Wish List started by John Papa.

Here’s how to pull it off in V1, as explained by Danny Simmons.

customer.Orders.Attach(customer.Orders.CreateSourceQuery().Include(“Address”))

It’s logical and it works, but it’s awfully convoluted. Two years of futzing with Entity Framework and 300 pages into my book and yet, here is something I have never seen or thought up before. And while it’s a neat trick, it’s still pretty hard to get to.

I much prefer the Load.Include() idea. It’s discoverable and feeds on something we already know how to do. But for now, at least I know how to do it in V1.

There’s so much in V1 and for many scenarios where you think you are stuck, whether it’s with the model or with code, as with Danny’s example, EF and EDM are robust enough that there is generally SOME way to pull it off. But it takes a good understanding of the APIs or someone like Danny sitting by your side to figure some of these things out.

Another great example is Jarek Kowalski’s code to perform transparent Lazy Loading in EF. Lack of lazy loading has been an EF showstopper for some, but it is possible to add it in.

More of this functionality will be hidden under the covers in V2 with much simpler ways to tap into it (at least I”m assuming and counting on this for V2). For now, folks (on the team and in the community) are writing extensions and code to make many tasks easier to perform. Don’t forget to check out the team’s code gallery (http://code.msdn.microsoft.com/adonetefx as well as the www.codeplex.com/EFContrib site.