Senior software craftsman featuring expertise in Ruby, Ruby on Rails, Golang, Elixir, Meteor.js, AngularJS, Backbone.js web frameworks and other programming languages, a passion for Web 2.0 trends, APIs, mash-ups and other disruptive technologies, and experience managing teams of talented and passionate young developers. High level of knowledge and interest in scalable Web Systems Architecture, Service Oriented Architecture, Data Science, Object Oriented Analysis and Design Patterns, Behavior Driven Development, Re-factoring, Mentoring, and Technical Writing.
A little into my past:
I'm programmer from the "Venice of the East", the very own "Gods own country", Kerala, who codes Ruby, Golang, Elixir and JS for a living, hacks for fun and learns for passion. With a passion to learn more about the technology and computers I joined college for my B.Tech. After a run-in with Laplace and Fourier equations and a few bouts with the calculus, I decided to spend more time partying and switched to interest to programming. I often wondered if I'd made the wrong decision. But I believe that, there are scientists and mathematicians and pilots and doctors and teachers and others of all professions but, in the end, it is the engineer who takes ideas from paper and creates material things that work. There is much to be gained from understanding an engineer's practical perspective, and so I still believe I have made the right decision.
I chose the Red Pill in the initial stages of my professional career and chose the startup way over a corporate MNC path.Jumped onto a startup company in the beginning of my professional career and became the Senior Software Engineer, taking the lead on the design and direction on a lot of the technologies.
I enjoy building software from the ground up. I have a blend of theoretical knowledge and practical experience which often help me get more productive.
While I’m an advanced Rubyist, I’m also a polyglot programmer with expertise in multiple languages and web frameworks. I love experimenting and creating with the newest and latest technologies.
Currenlty my focus is building real-time messaging systems and concurrency model of applications using Golang and Elixir
Working closely with startups and often wearing multiple hats, I have developed a lot of skills over the past years. Along with the web programming, I’ve acquired a solid understanding of business strategy, client relations, branding, interactive designs, budgets, and deadlines, and I now know what it takes to ship the code and make clients happy.
I consider myself fortunate to have associated with different work cultures from brewing start ups to MNC’s. I have been associated with works that demands rich delicacy and passion, naming few areas here Financial, Health care, Education, Analytics, Security Enhancements.
I architect, engineer, and code awesome web applications with rich interactive features, and visually appealing user interfaces.
Ruby on Rails has become my go to technology stack these days.It clearly has a thick advantage over other technology stacks when it comes to rapid web application development and web prototyping. Along with the elegance and awsomeness of Ruby to write clean and beatiful code makes it stand apart.
When it comes to front-end development, jQuery becomes my default, and I am a fan of Coffeescript. I also use build tools like brunch, gult, grunt, yoeman etc. I also write code using MVC frameworks like Angular.js and Backbone.js when it comes to building Single Page Applications or web applications which needs a higher level of interaction.
Concurrency, Real-time messaging, high reliable systems are becoming a niche technology these days. Having experience working with Golang, Elixir have helped me build apps that are highly performant, at the same time maintains a high level of reliability.
My experience with working on legacy code base(Rails 1.1.2, 2.3.x), has helped me understand the importance of testing in software development. I use behavior-driven development (BDD) and test-driven development (TDD) tools like Rspec Cucumber, and Capybara etc.
I embrace Agile software development methodology that emphasizes teamwork, pair programming, communication, anticipating and embracing change, and the frequent and fast delivery of working software. I use source code repositories like Git.
Every web application I build will be technically solid, in sync with your business aspects, would reflect your vision, and amazingly effective in attracting and engaging your customers or end users.
I’m an author for Sitepoint, TutsPlus, Linux4you, etc mostly engaging readers in the categories like Ruby, Rails, Web Apps, development practices, linux etc.
GitHub Pages are public Web pages hosted for free by www.github.com. Jekyll, on the other hand, is a simple blog-aware static site generator. This article introduces readers to both GitHub Pages and Jekyll, before demonstrating how the two open source projects can be made to work in tandem to create a wonderful blog.
Anyone with experience in developing web based applications or using a web framework has dealt with relational databases, such as MySQL or PostgreSQL. Dealing with SQL can be a bit scary at times, especially when dealing with data across different tables and applying various filters.
This is where ORM comes to the rescue.
Bitcoin is a “digital currency” that’s received quite a bit of attention recently. Where does it come from and how is its value determined? Is it an acceptable way to make/recieve payments as Bitcoins ? Bitcoin is an open-source, peer-to-peer virtual currency that exists purely in digital form. It is the first decentralized peer-to-peer payment […]
The eXtensible Messaging and Presence Protocol aka as Jabber (the protocol was originally named Jabber and was developed by the Jabber open-source community) is a protocol to exchange messages between 2 entities. Those messages are transmitted over the wire in the XML format. It’s used by Jabber, Google Talk, Google Wave, Pidgin, Kopete, and all sorts of open source instant messaging applications.
Rails is one of the popular choices when it comes to building your Minimum Viable Products(MVP). You can bootstrap, prototype, and release an application with such ease that Rails is many developers default choce for an MVP. Usually while developing these prototypes, most developers don’t consider the performance indexes, which really shouldn’t be a concern […]
Ruby is an object-oriented, interpreted language invented by Yukihiro Matsumoto in 1993 that is heavily inspired by Perl and Lisp. Since its inception, Ruby has been designed to be a “joy to use” – meaning a strong focus on readability and elegance. Ruby on Rails, often simply Rails, is an open source web application framework […]
Started as a LAMP Stack web developer, building simple websites, gained exposure and experience to enterprise level web applications, frameworks and portals that included complex business logic, analytics, and financial merchant payment gateways. I found my niche in my programming career when I started developing MVPs using Ruby on Rails. Converting ideas from paper to prototype and then to MVP and scaling it up was always challenging and interesting. I enjoyed the way of transformation whether its bootstraping an application using Rails 3.2, with mongoDB as choice of database for flexibility in development, front-end using Twitter Bootstrap and jQuery, and Active admin for adminitration and then porting the entire application to Rails 4, using websockets for real time communication, using Angular JS to communicate over the APIs, using Delayed Jobs/Resque/Sidekiq for scheduling long running tasks and sharding the database across multiple instance of EC2. These days my focus is on microservices, real-time messaging systems, highly concurrent and reliable systems. Nano second response times are now becomging the new standards. With Erlangs fault tolerance, and concurrency, Elixirs syntax, and golangs routines and channels, the web is fast evolving and the applications also tend to be moving towards the newer standards.
I would be happy to talk to you if you need my assistance in your project or whether you need consultation or support for your company. Just drop me a line with details about your project, and I will be happy to connect!.
If you are on a tight deadline, and needs to add some resource to get it done, I can quickly jump in and deliver results and save your ass.
If you have a legacy systems, which other developers dare to touch, Ping me, I will help with the migration.
If you already have a bootstrapped system and are looking to improvise the performance, optimize it or scale it up, Just give a shout.
If you are concerned about the security of you web service, and needs someone experienced to run an audit, do a code review, I am the man you are searching for.