As a custom software development firm, CQL must constantly put our developers in a position to be exposed to the latest technology trends, not only within in the .Net development framework, but across multiple development platforms. Recently, CQL sent seven of its software developers to a large software development conference called Codemash. CodeMash is a unique event that educates software developers on current practices, methodologies, and technology trends in a variety of platforms and software development languages such as Java, .Net, Ruby, Python and PHP. Different than most conferences, this three-day event ‘mashes’ together ideologies and individual developer experiences to discuss, learn and even attack certain problems.
Having our developers attend this type of conference provides tremendous benefit to our customers. Even though CQL has the largest collection of .Net Developers in Grand Rapids, Michigan, we understand our approach with clients must be technology agnostic, and be willing to recommend the best platform and development language to meet the needs of our customers. Codemash offers excellent opportunities to tie together those areas of most interest to our clients, including Ecommerce, Business Intelligence, Content Management and custom web development.
In the next ten blog entries, we will provide some insights from our technologists who attended this conference on software development concepts that should be important to our customers (even if they don’t understand the underlying technology topic). Following is Codemash Installment 1 of 10:
This was informative in a “here’s how an awesome deployment system could work” kind of way, perhaps made a bit sweeter because the presenter is a Heroku employee. Heroku is a cloud environment that has lately been adding more languages/platforms that they can host. Deployment is done using a git push, which then forces the system to recompile, test, and deploy the application. Very interesting system, and I just read a blog post about someone getting a .Net app onto Heroku using Mono and a bunch of duct tape, but it wouldn’t surprise me if .Net were added in the near future. Something to watch.
Why Our Customers Should Care: Recently named the 2012 Technology of the Year, by InfoWorld, Heroku provides a platform as a service (PAAS) for building, deploying, and running cloud apps using Ruby. The platform includes tools for deployment and management, a runtime for scalability, fault tolerance, and an add-on system for extending the capabilities of our platform. In essence, it allows your software developer to more quickly develop and expand your software solution.
This was a pretty cool session. PhoneGap lets you build an HTML + JS application that can then be packaged up and put on the various mobile app stores. A few alternatives were mentioned (but not discussed in depth) – rhomobile, MoSync, SenchaTouch, Appcelerator. The presenter also pointed out JQTouch as a way to make the app look and feel a bit more like a native application. Also mentioned (very briefly) was Mulberry, which is apparently kind of like Rails for PhoneGap development. Something to check out for sure.
This session was a bit disappointing for a few reasons totally unrelated to the content. The presenter started out by discussing various bits of automation and testing going from standard practice up through “this-doesn’t-really-exist-but-who-knows (for example: Unit Tests for your Unit Tests and a Semantic code analysis tool that can find bugs to an impossible degree).” He lost a few audience members while talking about some of the non-existent tools, probably still 5 minutes before he said “oh, and by the way I made up a bunch of those things.” He discussed automating DB artifact deployment (by writing the scripts exactly like we do at CQL), and a few other parts of deployment, but then ran out of time before he could get into the stuff that I was looking forward to (although I have a feeling that his presentation was largely meant to lead into a sales pitch). Overall, it is an important topic, but the presentation simply missed the mark.
Why Our Customers Should Care: In software development, continuous integration (CI) implements continuous processes of applying quality control — small pieces of effort, applied frequently. Continuous integration aims to improve the quality of software, and to reduce the time taken to deliver it, by replacing the traditional practice of applying quality control after completing all development. Obviously, at CQL we take this topic very seriously, as we want our customers to experience the best results with the custom software applications we develop.
Check back for Codemash Installment 2 of 10.