Coding Guidelines: Programmer’s Daily Bread and Butter

As we work in startup, we are under time pressure to release a lot of new features on time, features which do not have well defined requirements and the complexity of those features is often underestimated and we end up taking a lot of shortcuts / adding hacks to release such time sensitive features.

This may work for a short time, but over the period of time we realize that the same shortcuts that you took to release features quickly are now slowing you down. You can not scale and add new features on top of it, even if you do, they become quite unstable. In this situation you might want to take a step back and revamp/refactor you base system.

One of the easiest things that you can do to avoid this situation is follow coding guidelines.

Coding Standards

Well, what according to you is a good code? The simple definition could be: if it can’t be understood, maintained and extended by other developers then its definitely not a good code. The computer doesn’t care whether your code is readable. It’s better at reading binary machine instructions than it is at reading high-level-language statements. You write readable code because it helps other developers to read your code.

Naming conventions:

As the name suggests, it is a simple concept where you follow a specific naming conventions across teams. This becomes important when your team is growing and are solving problems on daily basis and pushing a lot of code every day.

camelcases vs underscore

This helps a lot when your team becomes big and a lot of developers are working on the same code-base. If you follow some fixed patterns while defining classes/functions/variables names, it becomes really easy for fellow colleagues to understand your code. This directly impacts delivery time taken by a developer to build/modify a feature on top of existing code. For example, let us suppose you want to define a time-stamp field in a database table, how would you name it ? If you have a fixed pattern like a “action_ts” or “action_at” for giving names then you can easily guess what could be the field name in the schema. If its a created time-stamp then it could be either “created_at” or “created_ts”. You do not have to go and check every-time you writing any logic over different database tables.

Function/Module/API writing (Size and Purpose)

Simplicity and readability counts. It’s always better to write to concise code than a messier one so that if any other developer is also looking at it who has no idea, should get what exactly it is doing. Not more than max 10–15 lines. Jenkins is considered as one of the greatest implementations, and has average function length of 2 lines.

A function/module should only do ONE thing and should do it NICELY. By following this, code becomes modular and it helps a lot in debugging. You can solve the problem better and debug faster when you know where exactly it’s coming.

When you are developing features over an established products, more than 50% times, new requirements are of the nature which you can build on top of existing code. In such cases, you can ship those requirements really faster and stable if existing code-base is modular and stable. Writing library functions a savior. There are countless advantages of writing a library code. It avoids code repetition, no surprises when it comes to response formats and of-course code re-usability.

Exception/Error Handling

Unknown errors are real pain in developers life. It’s always better if you know probable exceptions and errors in code in advance. But that is not the case always. Irrespective of all this, you definitely do not want your end-users to see unexpected errors on their screens.

When you have different micro-services and bigger development teams, if you follow standard response formats for across APIs and standard exceptions then there will not be any surprises in production. You can agree upon one format across all the services. Every API can have certain ‘response_data’ and standard set of error-codes. Every Exception will have an error-code and a message. Message could have variation viz, tech specific message and user facing message.

Writing test cases:

If you want to have a good night sleep, then you better have thorough test cases covering almost all aspects of your code. The best way forward with building test cases is at requirement stage only. Whenever a requirement comes, products managers discuss it with developers as well as QA. Both teams start preparing for possible use-cases and test-cases.

A testing unit should focus on one tiny bit of functionality and prove it correct. Each test unit must be fully independent. Each test must be able to run alone, and also within the test suite, regardless of the order that they are called. The implication of this rule is that each test must be loaded with a fresh data-set and may have to do some cleanup afterwards.

Automation plays an important role here. What else is needed for stable product where you have all test cases covered and running at intervals automatically, giving you a report of the all functionalities. Also, whenever you are adding/modifying code, you make sure either you write new test cases or modify existing ones.

coding

Code Reviews:

This one thing save lives, trust me! Every team can benefit from code reviews regardless of development methodology. Initially it takes time if you do not have a procedure setup of doing code reviews, but eventually it becomes a habit. Code review should be one of the core development steps.

Code review generally is about:

  • Does the new code conform to existing style guidelines?
  • Does the written piece of code covers all the use-cases specified in the requirements and has relevant test cases written ?
  • Are the new automated tests sufficient for the new code? Do existing automated tests need to be rewritten to account for changes in the code?

There are several advantages of this process such as –

Code reviews make for better estimates: Estimation is a team exercise, and the team makes better estimates as product knowledge is spread across the team. As new features are added to the existing code, the original developer can provide good feedback and estimation. In addition, any code reviewer is also exposed to the complexity, known issues, and concerns of that area of the code base. The code reviewer, then, shares in the knowledge of the original developer of that part of the code base.

Code reviews mentor new joiners: Code reviews help facilitate conversations about the code base between team members. During these conversations, team members share their views and new alternatives of doing things.

Code reviews take time: It’s an incremental process, where it takes time initially but as your code-base grows, it ensures, you are always pushing verified and tested code.

Hidden truth about code reviews: When developers know their code will be reviewed by a teammate, they make an extra effort to ensure that all tests are passing and the code is as well-designed as they can make it so the review will go smoothly. That mindfulness also tends to make the coding process itself go smoother and, ultimately, faster.

As a fast growing company our self, these set of guidelines have helped us a lot in shipping stable features on time and helping to increase a healthy learning environment.

Source:- Capital Float’s Medium Blog

More Related Posts

Card image cap
Online Seller Finance – working capital loans for e-commerce merchants

The fact that ecommerce is growing exponentially all over the world is undeniable. Entrepreneurs everywhere are competing with each other to get a piece of this lucrative pie. Definitely, starting a business in the virtual world entails much less costs, making it easier for more and more people to fulfill their dreams of running their own enterprise.

However, even with ecommerce, there are some things that do need to get taken care. For instance, you will need an impactful website that stands out among the crowd and you will need products and/or services that the market is currently looking for. You will also need to identify a network of suppliers that you can work with and hire employees to take care of the day-to-day activities as well.

Most importantly, you require capital to keep the business running and leverage business opportunities. This is where Capital Float’s Online Seller Finance comes to the rescue. If you, as a new entrepreneur, were to approach a bank or NBFC for a loan, you will be faced with difficult terms and conditions, the least of which is proving that you’ve run the business successfully for at least a year.

On the other hand, with the flexibility, ease of processing and convenience of accessing working capital even an amount as low as ₹1 lakh to as high as ₹3 crores, Online Seller Finance, specifically designed for ecommerce businesses, is the way to go.

Features 

1) Loan range from 1 lakh to 3 crores

We cater to a wide range of e-commerce merchants. Each merchant has a different capital requirement based on their business need or opportunity. With our wide ticket range, we cater to practically any working capital requirement of the online seller segment. These funds could be used for a variety of purposes such as making supplier payments, adding inventory during peak seasons or diversifying into new product categories.

2) Customized credit criteria

We acknowledge that each merchant is inherently different and must be treated individually. Unlike many traditional financial institutions, we don’t follow a cookie-cutter method to underwrite our customers. By leveraging Big Data & Analytics, we are able to underwrite each customer on the merit of their business performance and offer a tailored credit product. For example, the merchant is offered a specific loan amount basis their monthly sales on the marketplace and projected revenue.

3) Quick, online application process

We are a digital finance company and believe in limited paperwork. We offer the convenience of technology to our customers right from the start of the relationship. Borrowers can apply online using their mobile devices, as long as they are connected to the internet. The 10-minute application is very simple, quick and entirely hassle-free. The borrower can upload their documents online and need not visit a physical office for presenting the documents.

4) No pre-closure charges

Borrowers can close their loan by repaying the balance amount before the end of the agreed tenure. We offer the feature of ‘no pre-closure charges’, which means that the borrower will not be liable to pay any extra charges for closing the loan ahead of time.

5) Get up to 2x credit based on your marketplace sales

Online merchants applying for ‘Online Seller Finance’ can avail up to twice the amount of sales they make on e-commerce marketplaces. For example, if the seller makes ₹10 lakhs in sales per month, the seller can receive working capital funds of up to ₹20 lakhs. These funds can fuel growth on the marketplaces, helping the seller to increase their business geometrically. Higher the sales, the higher the eligible loan amount, higher the chances of leveraging business opportunities.

Benefits

1) Collateral-free

Our Online Seller Finance credit product is an unsecured working capital loan. The borrower need not pledge any security or asset as collateral to avail this loan. Funds are approved on the merit of the borrower’s business performance on the marketplace and not on their assets. Merchants can avail funds and operate without the anxiety of conceding their securities.

2) Funds in 3 days

Our technology and Big Data capabilities help us speed up the underwriting process. We understand that ‘timing makes all the difference’ to online merchants, given how dynamic the business is. Payments can’t be delayed and opportunities must be seized immediately. Bearing this in mind, we disburse loans to the borrower in less than 72 hours of the loan application.

3) Flexible repayment terms

Banks and other NBFCs typically function using the model of EMIs, or easy-monthly-installments. ‘Online Seller Finance’ allows you to repay the installment on a fortnightly basis. As a result, the installment is smaller in amount and is less burdensome to repay when compared to a monthly installment, which would typically be twice the sum. This way, your cash flows remain unaffected and you have more funds to deploy into your business.

4) Ideal for expanding your business

Financing the online seller segment is relatively new in the lending space. Not many financial institutions have fully understood this segment, which has caused several e-commerce sellers to return empty handed from formal lenders. Capital Float was the pioneer in digital lending to e-commerce sellers. Therefore, we’ve made it a lot easier for online merchants to avail finance for their business. Our partnerships with leading marketplaces like Amazon, PayTM, Snapdeal, Myntra, Shopclues, eBay, Craftsvilla, etc. has enabled us to reach to a wide range of sellers. Merchants on these platforms can avail easy funding and expand their business on the platform.

Eligibility and Documents

To qualify for ‘Online Seller Finance’ you must comply with the following parameters.

Eligibility

1) Applicant’s business must have minimum operational history of 1 year

2) Applicant’s partnership minimum vintage should be between 3-6 months

3) Minimum quarterly sales of ₹25,000

Documents

1) Bank statements for the last six months

2) KYC documents of the applicant and the organization

Fee and Charges

At Capital Float, we conduct business in the most transparent manner. This means, you’re only obligated to pay a processing fee of up to 2% for the loan. There are no hidden or pre-closure penalties during or after your application procedure.

Oct 24, 2018

Card image cap
What is a Business Loan? How to Apply for It?

A start-up that takes off well with its business idea gradually strategizes about other plans to cement its growth. However, despite a fair degree of success, these small and medium enterprises (SMEs) can face a shortage of funds to fuel their progress.

The business revenue that helps to pay employees, purchase raw materials, maintain the premises, meet other expenses and even make profits may not be enough to invest in further growth. Fortunately, there are business loans that come to the rescue of enterprising organisations at this time. These are provided by banks, non-banking finance companies (NBFCs) and private money lenders.

This article answers some of the frequently asked questions (FAQs) on unsecured and fast business loans offered by NBFCS with a digital lending model. They are also referred to as FinTech companies and are being increasingly approached by startups who find their lending policies more flexible than those of conventional sources.

What is a business loan?

A business loan is a form of financial support that helps commercial organisations to keep up with their growth plans. It is particularly valuable for micro, small and medium enterprises that start their operations with a low level of funds and may not have a substantial amount of funds to invest in bigger initiatives. These include the purchase of new machinery/equipment, adding more product lines, upgrading product features, starting the business at a new location or any other activity that will improve and develop the enterprise.

Is it really a good idea to take a business loan? Won’t it be an additional burden in books of accounts?

Any loan is a liability in accounts. However, when a business takes credit for productive purposes, it can also afford to pay it back with the revenue generated by intelligently channelizing the funds. When there is an attractive business opportunity, and it merely needs some financial investment, the required funds can materialize in the form of fast business loans offered by a FinTech lending company.

If the business procrastinates, the amount required in investment may increase with time, or the opportunity may completely vanish. It is, therefore, better to borrow the funds from an institutional lender and take advantage of the opportunity when it is available.

Thanks to the flexible repayment policies of FinTech lenders, the debt can be cleared before the scheduled term of the loan.

How to apply for a business loan? Does an MSME need anything, in particular, to apply for these funds?

Applying for a loan at a Fintech lender is a simple process that takes less than 10 minutes. The application is available online and asks for basic information of the and the enterprise in question. An MSME should have been operating in its industry for at least one year to be an eligible borrower.

The details provided in the digital application need to be substantiated with corresponding documents. This stipulation, however, does not require the borrowers to send any printed copies of the papers to the lender’s office. They only need to scan the necessary documents and upload them as PDFs with the application.

What are the documents required for a business loan application?

A FinTech lender typically asks for minimum possible documentation. It simply wants to verify the credentials of the prospective borrower and make sure that the business has been operating in conformity with the tax regulations and statutory laws of the country. Generally, the required paperwork include:

  • Photo IDs and KYC documents of the business owners
  • Latest ITR/GST returns
  • Business bank account statements for the last six months to one year

The loans provided by a FinTech company are often tailored based on the amount approved, the term of the loan and the purpose of the loan. At times, borrowers may be required to submit a few additional documents . They can find answers to queries such as ‘how to apply for working capital loan’ or ‘how to apply for machinery loan’ on the company’s website. For more details, they can call the customer service team and get the exact list of documents pertaining to their loan.

How long does it take for a business loan to be approved?

In addition to ‘how to apply for business loan’, a frequently asked question on this subject relates to the time within which the finance is available for use.

It usually takes between 1-6 weeks to get a business loan from private and public sector banks, while it only takes three days when such funding is availed from a Fintech lender. Due to the digitized application and document submission system, it does not take long to review the details and provide a decision on the requested funds. For every approved application, the money is deposited in the business bank account within 2-3 business days.

How much loan can a business get from a FinTech lender?

This depends on the individual requirements and the purpose of the loan. While the range of available credit from a FinTech lender can start from five lakhs and go up to a crore, it is recommended that the borrowers have a near-precise idea of the sum that will help them to fulfil their requirement.

Some businesses apply for only a part of the total required sum and make the remaining investment from their savings. Keeping the loan amount on the lower side is a sound way to avoid paying unnecessary interest. Similarly, borrowing a lower amount may result in the SME falling short of funds at a later stage. SMEs must evaluate their credit needs as closely as possible while applying for a loan.

Nevertheless, FinTech lenders do not turn down requests for ‘big amounts’ once they have verified the earning capacity of a business and are confident that the borrower would not default on repayments.

A FinTech company may also offer an eligibility calculator to help the potential borrowers calculate the maximum amounts they can borrow. Such a calculator takes business earnings, expenses and its operational history into account to compute the borrowable funds. Capital Float understands the anxiety of a business that wonders ‘how to apply for business loan without collateral’? We know that many SMEs are unable to get the loan they deserve due to lack of financial assets to pledge as collateral. This is why we offer only unsecured business loans.

[maxbutton id=”5″ url=”https://safe.capitalfloat.com/cf/default/register?utm_source=blog&utm_medium=web” text=”Apply for Unsecured business loan” ]

 

Your enterprise qualifies for our funding if it has a minimum operational history of one year, has been earning reasonable revenue throughout its tenure, has a sound credit history and is compliant with the laws of the land. To know more about fast business loans and for queries on any specific working capital loan, please call us at 1860 419 0999. You can also meet us in person by scheduling an appointment.

Oct 24, 2018

Card image cap
5 Reasons Why Making a BizResolution Can Help You Grow Your Business

[maxbutton id=”1″ ]

Having got off to a good start, a business typically aims to grow and explore new opportunities. To make this happen, businesses need to move in the right direction. This is especially true for a business in its early days when managing operations efficiently is a challenge, thereby taking precedence over matters of strategic importance such as goal-setting and business development. One way by which you can change gears from the routine rigmarole is making a #BizResolution. These are exactly like making New Year Resolutions, except that these will help you boost business growth in your enterprise.

A business resolution is like a promise or commitment you make to achieve specific objectives in the coming year. Since it involves your enterprise, the level of commitment to making it happen is high.

Here are 5 ways business resolutions can help drive growth in your business. Business resolutions can help:

Set realistic goals: While your company is being steered by a sound business plan, it is critical to break down broad business objectives into achievable goals. So, while your plan projects a specified growth rate, you need to identify smaller goals that will lead to this result. For instance, your #BizResolution could be to “improve relationship with suppliers,” which will have a positive effect on inventory, product availability, and therefore customer satisfaction and higher sales.

Drive business strategy: It is common for new entrepreneurs to get lost in the operational hassles and simply not have the bandwidth to focus on more value adding tasks such as digital marketing or human resources. The urgent matters take precedence over what’s important, and the business slows down for want of strategic inputs. In this case, a #BizResolution can pinpoint to strategic focus areas, thereby helping realign the business priorities for growth.

Upgrade skills: Running a successful business is a constant learning process, which involves learning from competition, adopting best practices, upgrading skills and so on. This is a must in today’s rapidly changing environment, which demands that companies constantly innovate. Yet, somewhere in this quest for efficiency, the learning element takes a backseat. Having a skillset-oriented business resolution can help foster a culture of continuous learning and skill upgradation.

Focus on expansion: A high-growth focus is what most investors look for before investing in a new business. To expand, you need capital for which enterprises usually need investors or lenders. Hence, you must assess the potential for new markets, new partnerships, complimentary product categories (upselling and cross-selling), new channels (online), and new customer segments. Making such growth-centric business resolutions will keep you firmly on the road to expansion and success.

Develop a niche product: A niche product builds on the premise that certain small market segments are typically underserved. Find your blue ocean strategy and explore a better chance to grow. Make a #BizResolution to invest time and effort into a promising, niche product, which allows you to differentiate your offerings and create an uncontested market space.

Business resolutions need not be yearlong commitments. Periodically assess your product or solution with respect to the industry environment and change tack—set new objectives or redraft your existing ones. The idea is to stay in tune with emerging opportunities and align your company with market needs to make the most of growth prospects.

Create your #BizResolution today and share it with us to stand a chance to win exclusive prizes such as: Exclusive tickets to a T20 cricket match in your city Amazon vouchers Click here to get started.

[maxbutton id=”1″ ]

Oct 24, 2018