Using Feature Switches for Code


Using feature switches fore code development is a technique used by software developers or DevOps professionals to turn portions of code on or off without requiring a rebuild of the application.  There can be many reasons for using this technique. Often, a feature may need to be released but is in the same build as a feature that cannot be released.  In other cases important code releases require customer notification that may not have happened yet.  Releasing the code with the ability to turn certain features off can clear it as a work item for the IT team while leaving the business with the flexibility to release the feature at a later date.

Feature switches for the Clearent back end development team typically come in two parts: a configuration setting indicating the state of the feature and a dependency swap or IF statement to switch the behavior out based on the configuration setting.  Here is a simple example of what a feature switch could look like:

Read more

10 Common Mistakes in Web Development


10 Common Mistakes in Web Development

Carl Armbruster

Senior Software Engineer, Clearent LLC.

I began my web development career in 2001. Back then FrontPage was still a thing (although no one actually liked it), websites used “mystery-meat” flash navigation and someone everyone though a splash screen for your website was a good idea. A lot has changed but I still see too many common mistakes web developers make. Here are 10 of the most common mistakes I have noticed when browsing the web and in my own work experience.

Trying to make your company website the next social media sensation

I get it . . . we all have big egos. You are really proud of your bookstore (café, clothing store, candle shop, etc.) – and you should be! It takes a lot of effort to run your business. But your customers generally come to your website for information, not to hang out. You are not Facebook (unless you work on Facebook’s website in which case you are Facebook). Stop it with the animations. Quit with the music automatically playing in the background. Stop making me register just to browse your website.

Not eating your own dog-food

Read more

Development Goodness

Developer Pie

Aptitude + Attitude + TDD + Pairs = Software Development Goodness

Hi my name is Mark Sundt and I’m the Chief Technology Officer of the credit card processor Clearent. I’ve been in this role for the last two and half years and have been lucky enough to be in an industry that is undergoing incredible changes and with it new and exciting opportunities.

During my tenure here at Clearent, I’ve had a fairly simple job philosophy / mantra. I really believe my job boils down to focusing on three general things; People, Process and Technology. I’ll talk about technology and process in a future blog post. Right now I would like to briefly discuss what I think makes Clearent one of the greatest places I’ve ever had the opportunity to work, and that’s the people I am fortune enough to work with every day!

Read more

Understanding DNX

Getting a handle on the new .NET Execution Environment (DNX) is difficult. I’ve been following the project for a while, and still get twisted around trying to explain it to other developers. I believe the following analogy and diagram help to understand the environment.

Keep in mind, this is a tenuous comparison meant to help people understand the environment. It is not a comparison of the technologies in question.

I often compare DNX and its ecosystem to the MEAN development stack (MongoDB, ExpressJS, AngularJS, and NodeJS). This development stack consists of a runtime environment (NodeJS) that hosts a framework for creating server-side applications (ExpressJS). These server-side applications can be accessed using client-side frameworks such as AngularJS. The entire stack can be backed with MongoDB for permanent storage.

The DNX environment is similar, but much richer. DNX is the runtime environment, much like NodeJS is for the MEAN stack. MVC can be used to create an API (formerly WebAPI*) that runs on the server in DNX, much like ExpressJS is used in the MEAN stack. The client-side component can still be AngularJS that calls the API. This is where the comparison ends.

Read more

Why Clearent Developers Went With Angularjs

It’s 2:00 am and the dog woke me up about a 1/2 hour ago to go to the bathroom. How is it that I can go from being dead asleep to wide awake because of a simple walk downstairs. So while the dog is already back in bed passed out, I’m left to my thoughts. Unsurprisingly, I find myself thinking about our new Virtual Terminal product.

I’m not sure why it popped into my head at this hour, but it was an interesting project for us. We wanted to build a mobile first client that used our public API’s to run transactions, view transaction history, batch history, and more.  Surely if we expected our clients to use our API’s to write rich POS and payment apps, we should be able to write one using the public API’s too, no cheating. If we need additional functionality we would make that public for our client as well.

Naturally as a band of self-proclaimed back-end developers we wanted to avoid JavaScript as much as possible.  I mean seriously dealing with the browser compatibility issues and the quirkiness of JavaScript’s undefined errors did not sound appealing at all to myself or the members of my team.  Having worked at various large corporations throughout my career, I had successfully avoided any difficult JavaScript solutions by passing off that front-end headache to front-end developers, and I was more than happy to do so. I wanted to focus on security, testing, and other concepts that interested me.

Read more