About Pathbreak Technologies
Pathbreak Technologies is a one-man technical consultancy under which I, Karthik Shiraly, am providing these services:
Software Architecture, Design & Technology consulting services | Custom Software Development services | Web Application Development / Consulting services |
Scalability & Performance engineering services | Cloud Application Development / Consulting services | Scientific Software Development services for science R&D labs, academic institutions, scientists, researchers, medical professionals & academicians |
I am a hands-on Technical Consultant and freelance Software Developer, with 16+ years of professional experience as a software engineer and many more years as a hobby programmer.
I work with companies, startups and entrepreneurs to bring their Enterprise Software, Desktop Software, SaaS and Web application ideas to reality, by architecting and implementing them.
I have a generalist and polyglot outlook, with wide interests in diverse industries and a passion
to learn and build deep expertise in multiple technologies and all aspects of
software engineering.
I enjoy ideating, researching, prototyping, architecting, and developing software products and
solutions.
These qualities make me
a perfect fit for companies, startups and entrepreneurs who are looking for a technically strong
and competent person who can translate their ideas to reality.
Why choose Pathbreak Technologies
Key differentiators and value additions
16+ years professional experience
...as a software engineer - 6 years in salaried jobs, and last 10+ years as a software consultant and architect.Deep insights in multiple technologies [see the list]
...gained by countless years of experimentation and knowledge gathering, and driven by a strong self-driven passion for all technologies in the software industry.Emphasis on achieving business goals of clients & keeping the big picture in mind
New technologies and buzzwords can be seductive, but I see them as just tools to achieve specific goals, and believe that their use should be decided by what value they add to your business goals.Hands-on Architect
I love developing products in the trenches along with a team. No ivory towers here.Generalizing Specialist / Polyglot developer
I specialize in Java/JavaEE systems, but am also a constant learner and have skills in multiple programming languages, technologies, system administration, and end-to-end development. That means I can be an all-round technically competent engineer who understands your stacks from top to bottom, and can become a problem solver at any level of the stack. Read here and here what value a generalizing specialist can bring to your team.Scalability & Performance expertise
...gained by thorough experimentation, deliberate practice, and performance analysis of- web server solutions (apache web server, Tomcat, nginx, lighttpd)
- application server solutions (Jboss, Glassfish)
- search server solutions (Solr, Lucene)
- middleware & messaging solutions
- caching and proxying solutions (Squid, Memcached, Redis, HAProxy, Varnish)
- relational database s (Mysql, Postgresql)
- nosql solutions(Couchdb, Mongodb)
- big data analytics (Hadoop)
Right attitude for delivering amazing products and user experiences
If you have worked in the software industry or hired software professionals before, it must have struck you at some point - either due to its presence or its absence - that the right attitude among engineers is what determines quality of the product and quality of the user experience to a great extent. Knowledge and experience may deliver a working product, but it's only the attitude that wins you delighted customers. Below are the components of the right attitude I possess:Passion
I love what I do, and I have a strong passion for ideating, implementing new ideas in different industrties, using the most appropriate technologies, developing amazing software products, and discovering new knowledge. That's why the systems I deliver have high quality and usability.Attention to detail
Software users and site visitors are attracted by the quality of the user experience, which is in turn determined by attention to detail. A great user experience often requires us to go beyond what is easily achievable, in favour of something that is more intuitive and feels good for a user, but may be more difficult to implement.Skills
Core Technical Skills and Specializations
Skill | Net Experience |
---|---|
Servlets/JSP
|
4 years |
|
1.5 years |
|
2 years |
|
5 years |
Core Java Swing client apps Java frameworks |
7 years |
Additional Expert skills
PHP ecosystem
|
3 years |
Architectures Deployments Custom tools |
1 year |
|
3 years |
|
3 years |
Working knowledge skills
These are languages and technologies which I have worked with in the past and can recognize where they should ideally fit in an architecture, but am no longer actively programming or learning them.
C / C++ / VC++ / MFC / VB / x86 assembly |
4 years |
Software Engineering skills
Understanding business goals and constraints | Requirement analysis | Architecture evaluation | Technology analysis |
Cost benefit analysis | Domain analysis | Usability and UX analysis | Enterprise integration strategies |
Prototyping | Iterative development | Continuous integration | Strong emphasis on testability and test automation |
Testing and monitoring on virtualized / physical testbeds | User feedback strategies |
Team & soft skills
Consulting mindset driven by curiousity and need to understand in depth, attracted to solving hard problems, good listener, trustworthy advisor for your business goals, ability to communicate technical issues to business stakeholders |
Excellent verbal and written English |
Respect and consideration for others' views |
Passionate and self motivated |
Domains and Horizontals
Domains and Horizontals I have worked in:
Domains
Analysis
Services
Research
Mapping
Horizontals
Resumé
and use that expertise to create path-breaking software products in multiple domains.
(3+ yrs) Freelance Technical Architect / Software Developer
Pathbreak Technologies
- Developing and consulting on Java and JavaEE based systems and web applications for customers in India and abroad
- Building core competencies in cloud architectures, high scalability techniques and big data technologies
- Developed following customer projects and personal projects:
- A video profiles recruitment web application solution for a Bangalore based HR consultancy customer, using JavaEE+Solr+AWS
- A stock technical analysis system for a UK startup, using java
- A GIS users and licenses management system for an Israeli startup, using java
- A custom programming language compiler for a US customer, using java
July 2008
(4 yrs) Technical Leader
Nokia Siemens Networks
What are NMS & EMS?
In mobile and fixed line telecom networks, voice and data are routed through powerful switches , routers and other "network elements".
These network elements are configured, and monitored for problems and performance, using Element Management Systems (EMSes).
Large networks involve several EMSes, all of which can be managed centrally using Network Management Systems (NMSes).
EMSes and NMSes consist of several client server software systems which communicate with network elements using many standard or proprietary networking protocols.
Availability and fault tolerance are the dominant metrics that drive their architecture. "5 9s" level (=99.999%) of availability are common requirements.
- Worked on Network and Element Management System (NMS / EMS) applications for mobile and fixed line networks.
- Domain knowledge in Fault management, Configuration management, and Performance Management areas of telecom networks.
- Projects and roles in NSN:
- Technical & Design lead, and co-developer, for all Performance Management server
and client applications in the NSN @dvantage Commander EMS.
Tasks included analysis of NE behaviours, enhancing java based performance management components to monitor their performance, and mentoring team members on technical aspects. - Analysis lead and co-developer for Cicso GGSN Configuration Management application
in the NSN Switch Commander EMS.
Tasks included analysis of Cisco GGSN IOS commands and developing java based client server system to allow operators to configure it - Co-developer for a prototype MTOSI-compliant web service adaptor for Switch Commander EMS Fault Management layer
- Analysis lead and co-developer for the Network Topology Map Fault management
application in the NSN NetManager NMS.
Tasks included enhancing the c++ based topology map application to support requested customer enhancements and support new network elements. - Analysis lead and co-developer for the Alarm Display Fault management
application in the NSN Switch Commander EMS.
Tasks included enhancing the c++ based alarm display application to support requested customer enhancements and support new network elements. - Developer in Telnet Performer Configuration Management server team in the NSN
Switch Commander EMS.
Tasks included enhancing the c++ based telnet performer server to support customer change requests.
- Technical & Design lead, and co-developer, for all Performance Management server
and client applications in the NSN @dvantage Commander EMS.
June 2004
(~2 yrs) Software Engineer
Imagine India Software
- Worked on financial optimization libraries using VC++/MFC, java and VB.
MES Junior College, Bangalore
VVS Sardar Patel High School, Bangalore
Client Testimonials
I have a perfect 10 rating in the online freelancing marketplace. Some customer testimonials:
"very talented developer with excellent skills in architecture design, complex charting, web applications etc. and gives very high importance towards creating a clear, efficient and easy to understand code . I very strong recommend this worker."
"Professional, smart, dedicated and committed to the success of the project."
"Very good work and worker is very proficient."
"Attention to detail. Covering all angles of project. Documentation. All of it simply outstanding. Highly recommended."
Hiring model and Rates
Hiring model | I prefer working on a contract basis (part time or full time, depending on complexity of project), rather than a permanent position (unless your company itself is a contractor and can involve me in wide range of projects). |
Location | I'm based in Bangalore, India. I can work from home, or from your premises in Bangalore or any other city in India, or on site in other countries, if you can provide the necessary visa formalities like sponsorship letters. |
Rates | Project rate depends on complexity and tasks required for your project. Contact me with a summary of your project, expected tenure, work location and other details. We can discuss what you have in mind and gauge the complexity and project scope. I can then give an initial stage-wise cost estimate based on the scope. |
Payment | Monthly payments [preferably via an escrow service like vworker . Read this to understand why hiring and paying contractors via an escrow service like vworker is advantageous to customers, by facilitating trust and on time delivery] |
Work ethics
- Work hard to meet project goals
- Self motivated
- Go the distance for a project - if it's worth doing, it's worth doing right. Adhoc compromises can boomerang.
- Passion for knowledge and understanding
- Honesty - about cost & time estimates and project status.
- Respect for others' opinions
Am I suitable for your project?
Below is a list of work that I may reject, along with possible reasons for rejecting them,
to help you decide whether I am a good fit for your project.
You're always welcome to
Contact Me without hesitation if you need any information or clarification.
Nature of work/project | Assessment |
---|---|
Just website designing (examples: product promotional sites, portfolio sites, etc) |
I'm not a website designer. I'm an end-to-end web application / portal developer with core skills in server side technologies. If the project is more about having a good looking website, and does not involve any server side logic, then I'm not suitable. What you really need is a professional website designer. Even in web applications with server side logic, UI and usability are absolutely crucial. For an end user, the UI is the application! If UI or usability are bad, a user will judge the entire application negatively, regardless of what miracles it can do behind the scenes. While I am well versed in usability principles, HTML and CSS, my UI and front end designing capabilities (layouts, graphics, logos, colors, images, typography, etc) are rather mediocre (though I do try constantly improving). I've put up a gallery of products and projects I've developed. They - along with this very site pathbreak.com - will give you an idea of my UI designing capabilities and aesthetic sense. If they are good enough for your project, then I can probably handle the UI myself. If not, I can collaborate with a professional designer of your choice, or try and find a good one myself. |
Social networking sites, daily deals sites | I don't provide any services for these sites. |
Certain kinds of desktop applications or desktop utilities |
If the core of your idea/project is a desktop application or desktop utility with not much complex backend processing, then I may probably reject it, unless I find it interesting. If a desktop client is just one of the components in a complex larger architecture, and usability is more important than looks, then I may usually handle it myself. If looks are important or UI is extensive, then the best way would be to collaborate with UI specialist coders who handle the front end while I take care of overall architecture/design and server side processing. The UI specialist coders can be preferably somebody you choose and trust, or alternatively, somebody I choose and trust. |
RIA (Rich Internet Application) desktop technologies like Flash, Flex, Silverlight, JavaFX, Mobile and Tablet applications (Android, iPhone, iPad, etc) | I simply don't have any working knowledge or experience in these, yet. You will need a specialist for these. However, if these front end applications are a part of a larger system, I can handle the overall architecture/design, server side architecture and components, and integration strategies with these front end technologies. |
Freelance trainer | I don't give trainings as of now. However, if training and knowledge transfer to project teams is required as part of a larger development project or consultation work, I'll be glad to provide them. |
Development using languages or technologies in which I don't have working knowledge |
If my work involves creating a software architecture or high level design, I work as a hands-on architect. What that means is, I don't incorporate any language or technology in an architecture if I don't have sufficient working knowledge in it myself. I stick to this rule strictly, because compromising with it can lead to ivory tower architectures that looks good on paper, but may have serious feasibility problems when they hit implementation phases. That may inturn result in deadline extensions, budget overruns, problems in architectural quality attributes like stability / reliability, code hacks, and stressed teams. I don't want to do software engineering that way at all. I do invest time in learning new languages, but it's always a work in progress. Working knowledge proficiency in a language and language ecosystem takes time (atleast 1 to 3 months in my experience). If I'm not proficient in a language (check my Skills page for latest proficiency levels), I'm probably not suitable (however, do contact me and check; perhaps I may feel differently based on prevailing circumstances). On the other hand, technologies and frameworks which are language agnostic or related to languages I already know, are not difficult to gain proficiency in. I can usually come upto speed on any such technologies in a short time (1-7 days) if your project needs them. I have my own virtual machine and cloud based labs where I can experiment and learn anything. Proprietary or commercial technologies may however be a problem. In any case, please contact me to get an opinion. |