Web Tester – Islington, London – Permanent

We are looking for a skilled and passionate web tester to join our growing team. If you want to work here, you need show us both technical competence and a passion for testing. Brandworkz is a successful software development company focused on implementing Brand Management for clients like Red Bull Racing, Epson, Eurostar, Arcelor Mittal, and Alliance Boots. We expect you to be able to ensure our Brandworkz technology is both robust and reliable for clients.

Working on projects for blue chip clients, you will develop automated functional tests identifying, prioritising and tracking defects and sign off releases through the deployment cycle in a highly agile development environment.

The role presents an interesting and varied technical challenge in a fast paced informal environment – we are looking for technology lovers with personality!

Requirements:

  • Strong automation testing with tools like HP Quality Centre or Selenium
  • Development and implementation of effective test strategies and test plans for new and existing products, assisting project teams with their approach to testing and creation and management of schedules.
  • Experience of manual and cross browser testing
  • Experience of automating testing for websites (AJAX)
  • Agile methodologies (Scrum)
  • Excellent communication skills, with the ability to negotiate and influence others
  • Desirable:
    • familiarity with JIRA/Java development stack, release, change and configuration management
    • Should have some programming experience
    • Work with developers to establish automated regression testing of software where appropriate.

Location: Islington, London

Salary:
Highly competitive salary and benefits.

We will not accept applications from third parties.

Applications to: careers@brandworkz.com

 

Coldfusion Developer Job – Islington

Coldfusion Developer needed at GlobusMedia who are a successful web application development company, focussed on:

  • Developing Coldfusion-based Brand Management and Marketing software.
  • Implementing projects for enterprise clients

We provide an integrated service that consists of consultancy, design, production, hosting and maintenance.

Working from our office in Islington; a successful candidate will have the ability to plan and architect new functionality and take this through the development stage producing well-structured code. The successful candidate will also be keen to extend their development knowledge. Ability to learn quickly is a must.

We are looking for a candidate who has a strong knowledge of the following:

  • Coldfusion including CFCs (2+ years commercial experience or equivalent)
  • SQL skills preferably using MS SQL Server
  • JavaScript, HTML, CSS
  • Object Oriented Development
  • Source Control Systems

The ideal candidate will also have knowledge of the following:

  • Agile Project Development
  • Experience of Java, Groovy, Rhino, node.js or Closure
  • Modern Development Frameworks ( Coldbox, CFWheels, etc)
  • Java Application Servers (Tomcat, Glassfish)
  • Design Patterns
  • Code Reviews
  • Continuous Integration
  • Test Driven Development

You will get the opportunity to:

  • Work in a relaxed environment in Angel, Islington
  • Push the boundaries of your development
  • Develop your skills and knowledge.

Please respond to joel@globusmedia.com with your CV, your eligability for roles in the UK  and your salary expectation. No agencies.

Salary: dependent on experience

Coldfusion Developer

GlobusMedia are a successful web application development company, focussed on:

  • Developing Coldfusion-based Digital Asset Management and Marketing software.
  • Implementing projects for enterprise clients

We provide an integrated service that consists of consultancy, design, production, hosting and maintenance.

A successful candidate will have the ability to plan and architect new functionality and take this through the development stage producing well-structured code. The successful candidate will also be keen to extend their development knowledge. Ability to learn quickly is a must.

We are looking for a candidate who has a strong knowledge of the following:

  • Coldfusion including CFCs (2+ years commercial experience or equivalent)
  • SQL skills preferably using MS SQL Server
  • JavaScript, HTML, CSS
  • Object Oriented Development
  • Source Control Systems

The ideal candidate will also have knowledge of the following:

  • Agile Project Development
  • Experience of Java, Groovy, Rhino, node.js or Closure
  • Modern Development Frameworks ( Coldbox, CFWheels, etc)
  • Java Application Servers (Tomcat, Glassfish)
  • Design Patterns
  • Code Reviews
  • Continuous Integration
  • Test Driven Development

You will get the opportunity to:

  • Work in a relaxed environment in Angel, Islington
  • Push the boundaries of your development
  • Develop your skills and knowledge.

Please respond to joel@globusmedia.com with your CV and your salary expectation. No agencies.

Salary: dependent on experience

CFLDAP Issues

I have been occasionally thinking about LDAP recently; in particular the interdependency of LDAP and SQL. (and the cftransaction issues)

As I already noted there is a fundamental problem with using transactions with out of step error conditions.

I have noticed some bizarre and inconsistent behaviour.

1) If you put in a badly formatted filter Coldfusion returns “Connection to ldap server failed.” 84596

The ldap server is returning: searchResDone(2) protocolError (Bad search filter)  [0 results]

The Coldfusion returns an Application Error: “Connection to ldap server failed.” It is throwing a coldfusion.tagext.net.LdapTag UnknownHostException.

This is precisely the same error if you put a nonexistant (invalid) server in. Also the same error if you put a dodgy port number. In fact for all ldap errors the only catches that will catch this are “Application” or “Any”.

2) LDAP Timeout 84595

The ldap timeout seems to me like a whole pile of steaming defication.

One might assume, that the timeout would throw an error, it doesn’t. One might assume that if the timeout expired no results would be found, wrong again.

Like a database in firehose mode data will spew back until the timeout expires. Unlike the database example the CFLDAP tag with a timeout is a dribbly firehose mode; data continues to spew back for a little while; usually about a second. So setting a timeout of 1 microsecond (1/1000 of a second) I would expect to recieve no results (and a timeout). What I get is about 8-20 results – it depends – and obviously no timeout.

If you thought we were doing this before. We weren’t; we were just collecting the requesttimeout; after the ldap request had completed. Long after the page had timed out.

Example Code

If you would like to test this for yourself I enclose the following:

<cfparam name="variables.ServerName" default="<server>">
<cfparam name="variables.BindUserName" default="cn=Directory Manager">
<cfparam name="variables.BindPassword" default="<bind password>">

<cfsetting enablecfoutputonly="yes">

<cftry>
<cfset variables.filter         = "(uid=*****)">
<cfset variables.LDAPDNSuffix     = "ou=<COMPANY>, o=<object>">
<cfset start = gettickcount()>
<!--- Check LDAP --->
<cfldap
server="FAILFAILFAIL#Trim(variables.ServerName)#"
username="#Trim(variables.BindUserName)#"
password="#variables.BindPassword#"
start="#variables.LDAPDNSuffix#"
filter="#variables.filter#"
scope="subtree"
action="query"
name="qPing"
attributes="dn,sn,lc"
timeout="1">
<cfset end = gettickcount()>

<!--- Success --->
<cfdump  var="LDAP processing time #start - end#">
<cfdump var="#qPing#"  top="4">

<!--- Catch --->
<cfcatch type="any">
<cfdump var="#cfcatch.type#">
<cfdump var="#cfcatch#">
<cfabort>
</cfcatch>
</cftry>

How to catch an error

If you want to catch an ldap error:

To catch bad filter strings, invalid hosts, odd ports, invalid usernames or passwords. (usernames and passwords message is different – Authentication failed:[LDAP: error code 49 - Invalid Credentials]. Also the underlying (java) error type is InvalidCredentialsException, although this is not readily available.

you must catch “Application” or “Any”. There is no easy way to seperate the errors. You could parse the messages for authentication problems. But for all the others. You’re basically rudderless.

How to catch a timeout

You can’t really use the timeout. What’s the point in getting the top 8-20,20-100,100-1000 results via the timeout? There is a maxrows attribute. My main concern is that; without an order there is no expectation of consistency.  Unless you have a very very good reason – it’s best to stay well clear.

Is there a solution?

Well I have a proposal; it’s a little convoluted. What I suggest is that we build a ldap.cfm in the CustomTags directory.

This does a CFThread – running the ldap request in a new tag. Killing it from the master, after a sleep, if it doesn’t finish in the specified time.

The final part of my solution is that I have submitted these bugs to Adobe. Votes on:

http://cfbugs.adobe.com/cfbugreport/flexbugui/cfbugtracker/main.html#bugId=84595

http://cfbugs.adobe.com/cfbugreport/flexbugui/cfbugtracker/main.html#bugId=84596

would be much appreciated.

Microsoft in talks to buy adobe

As reported in the New York Times; Microsoft head Steve ‘Developers,Developers, Developers’ Ballmer met Adobe head Shantanu Narayen.

http://bits.blogs.nytimes.com/2010/10/07/microsoft-and-adobe-chiefs-meet-to-discuss-partnerships/?scp=2&sq=adobe&st=cse

Shares in Abobe surged 17% before being halted reports Bloomburg http://www.bloomberg.com/news/2010-10-07/adobe-systems-shares-halted-by-circuit-breaker-after-surging-17-.html?cmpid=yhoo

How do people feel:

ColdFusion.net?

Microsoft Flash?

Microsoft Photoshop?