Building a Second Brain

This article by Tiago Forte got me curious
Here’s how he describes it:
How many brilliant ideas have you had and forgotten? How many insights have you failed to take action on? How much useful advice have you slowly forgotten as the years have passed?
We feel a constant pressure to be learning, improving ourselves, and making progress. We spend countless hours every year reading, listening, and watching informational content. And yet, where has all that valuable knowledge gone? Where is it when we need it? Our brain can only store a few thoughts at any one time. Our brain is for having ideas, not storing them.
Building A Second Brain is a methodology for saving and systematically reminding us of the ideas, inspirations, insights, and connections we’ve gained through our experience. It expands our memory and our intellect using the modern tools of technology and networks.

When I read those first 3 paragraphs, my mind was blown. It was as if this guy was speaking to my very soul, articulating problems I’d been thinking about for years but never been able to put into words.

Since discovering this Second Brain / Personal Knowledge Management stuff, I’ve excitedly started to put it into practice. I’ve switched all my note-taking and writing over to Notion, a really great app that you should definitely try out. And I’ve started to actively write down thoughts and ideas I have throughout my day.

Anything that you read, watch and listen that resonates with you, goes into your digital note-taking system and then you can use your second brain to organize your ideas and thoughts and you can ultimately convert them into your creative output. In this blog post we’re going to go over the 10 fundamental principles of building a second brain so that you can also maximize your productivity and creativity.

1️⃣ Borrowed Creativity

The first principle is borrowed creativity. The Idea is that, we all intuitively think of creativity as kind of creating original stuff. But not always, creativity is also about remixing stuff. It’s about taking ideas that already exist based on the things that you read, watch and listen to and then adding your own spin to them and sort of combining things in interesting ways and that is what creativity is. It’s like what Pablo Picasso famously said that good artists copy but great artists steal and this is one of the key ideas of building a second brain. It’s the idea that if you have all of the little bits that resonate with you from all the stuff that you read watch and listen to if you have all that in one place it becomes a lot easier to start putting things together and to start seeing connections that you wouldn’t have seen before whereas if you try and do that all in your head it doesn’t work very well in comparison.

2️⃣ The Capture Habit

Secondly we’ve got the capture habit and this is a fundamental part of productivity. It’s based around the idea that our brains are for having ideas not for storing them. So whenever we get any sort of idea whenever anything resonates with us in any way from anything in life even if we’re just walking down the park or if we’re in the shower or if we’re listening to a podcast we want to capture that idea as soon as possible because our brains are not going to hold on to it for a very long period of time. For example most of the brilliant ideas are realized in the shower. But often we forget them by the time we’re out of the shower. So, a good solution would be to have a waterproof notebook on the window sill next to the shower. So if there’s any ideas flowing capture it right there and then because our brain sometimes is a dumb-ass and it’s not going to hold on to that idea for very long.

3️⃣ Idea Recycling

Thirdly we’ve got the principle of idea recycling and the main view here is that ideas are not single use but we can actually recycle ideas and reuse them over time and so one of the things we want to do in our second brain. Whatever note-taking app we’re using for it is we want to keep track of all of the stuff that we’re creating and all of the ideas that we’re using for certain projects because we can just reuse those ideas for others and so for me whenever I now make a blog post, finish a project or solve a problem all of that goes straight into my second brain because I know somewhere down the line i’m gonna want to reuse some of that information and then it means that I’ve got these building blocks already that I can then build other things out of which makes the entire process infinitely easier.

4️⃣ Projects Over Categories

The fourth principle is the idea of projects over categories and this is one of the things that I really learned early on. I used to take notes in the past but I would categorize things in terms of category. Like you know if I saw an interesting thing about technology i’d put it in a technology folder in notion or if I saw an interesting thing about motivation i’d put it in a motivation folder but then i’d end up with these sort of folders with lots of notes in them and didn’t really have anything to do with them. Now I think of it more in terms of projects and so if I capture an idea firstly it goes into my kind of general capture inbox but then I will try my best to associate it to some kind of project that i’m currently working on because then the information is going to be directly useful rather than it just sitting in a bookmark folder that i’m never going to look at again.

5️⃣ Slow Burns

The principle of slow burns which is really important aspect of personal productivity is that most of the things I do are slow burns rather than heavy lifts. So on one hand we’ve got heavy lifts, imagine you want to write a book or you want to learn a new technology. You will sit down and do all the work for it in a small amount of time and that’ll be like your heavy lift. On the other hand the idea of slow burns which is a big part of the building a second brain methodology is that we have this list of projects that we’re working on and they’re all kind of on the slow burner but you shouldn’t be sitting down and kind of bashing through them one at a time instead do them on the slow burn and so over time as you read, watch and listen to things, you will discover interesting ideas and come up with your own ideas. Some of the time it’ll just go in straight into my second brain and into the relevant project and so over time instead of kind of doing a big project one at a time I’m doing all 10 of these projects in very small amounts. So it’s very easy to put together all these small bits and complete the job because I’ve already done the work over time. It’s not a heavy lift that I’m struggling with, instead it’s a slow burn.

6️⃣ Start With Abundance

The next principle is to start with abundance. When we’re writing or creating anything or writing an essay or an assignment or a presentation or pretty much anything we all have that issue that we tend to start from a blank page. We have the blank page in front of us and we think right this is hard I’ve got writer’s block I don’t really know what to do. Another main thing in the second brain stuff is that if you have collected all this stuff over time all of your inspirations and bits then you’re never really starting from scratch you’re always starting from abundance. So let’s say you’re using evernote for your second brain or notion and you want to write an article about motivation or productivity all you have to do is search the word motivation and automatically you’ve got like a ton of articles that you have read and annotated and made your own notes on over the last few years. You can just kind of draw from those and take bits from here and bits from there and ultimately that’ll lead to a really nice blog post or blog post script or whatever you’re making about motivation because you’re querying the data set of stuff in your second brain and that just kind of changes the game because it means you’re never starting from a blank page you’re always starting with abundance you’re starting with this pre-existing treasure trove of information that you yourself have decided in the past that was worth saving.

7️⃣ Intermediate Packets

Next we have the idea of intermediate packets. This is something that I kind-of knew intuitively but I didn’t really have the terminology back in the day. So if you imagine, let’s say you’re a university student and you’re writing an essay. We don’t usually think of it as a big deal but actually it’s made up of a lot of intermediate packets. I used to call them content blocks in my head when I was in college writing loads of essays. It’s like you know your introduction is a block or an intermediate packet which makes it easier to flow the ideas in your brain following these intermediate packets. I would memorize the intermediate packets or the content blocks and then I’d be able to essentially in my head drag and drop them into whatever I say or write. For example, this blog post on 10 principles of building a second brain. Each of these 10 principles are their own intermediate packet and I know that in the future when I make another blog post there are surely some aspects of this blog post or some intermediate packets that I can just drag and drop into my other thing so firstly thinking in that way really helps because it means that it’s a lot easier to put stuff together for your next project but also in a way it makes it easier to get started on your current project.

8️⃣ You Only Know What You Make

Next we have the idea that you only know what you make and this is like a big part of the building second brain thing. We can read, watch and listen to all the stuff that we want but really the stuff that we’re really going to internalize and that we can feasibly use in our future projects is going to be the stuff that we have created ourselves. So whether that’s reading a book and then writing a summary of it or whether it’s listening to a podcast and then tweeting about it or even if it’s having a random idea and then fleshing out that idea into an intermediate packet and chucking it into our second brain. When we engage with the material ourselves rather than relying on just pre-existing material we end up becoming much more familiar with it and then we can do some interesting/creative/useful things with that stuff.

9️⃣ Make it Easier for Your Future Self

Principle number nine is, you want to make it easier for your future self and the way that I think of my second brain i.e. my kind of suite of digital note-taking apps that I use for different-different things is that, ultimately i’m putting in the work now to create a resource that my future self is going to find helpful. So right now, I might be listening to a podcast and hear the word “machine learning” I might be tempted to just write down machine learning because I kind of know right now what it means but that’s not particularly the case for my future self because my brain is a dumb-ass and i’m going to forget exactly what it means. So i’ll take a little bit of time right now to write a few notes on it to flesh it out in my own words so that when future me comes across this note on Machine Learning, future me will know exactly what current me was talking about. This will help avoid the frustration of your future self when you look at a concept you read about back in the day and think what the hell does thing even mean because you assumed too much intelligence on the part of your future self.

🔟 Keep Your Ideas Moving

Final principle is the idea that, you want to keep your ideas moving and that’s kind of an anti-perfectionist take on this because one of the traps that we can fall into if we’re building out a note-taking system is that we can fall into the trap of perfectionism where we think okay I’ve just discovered this digital note-taking system, I’ve watched tutorial videos & read this blog post on “how to use notion”. I’m going to create this elaborate database of all the stuff that I’ve ever read and it’s going to have like 18 pieces of metadata assigned for each one. We can get stuck appreciating the intricacies of the app and the intricacies of our system rather than focusing on what actually matters, which is to keep our ideas moving then organize it and distill it into our own insights and then convert it into creative output. The most important thing is the output as it really doesn’t matter what’s in your second brain. So what if you save all the knowledge you’ve come across unless you’re doing something with that information, unless you’re turning it into something or sharing something or applying it to your own life in some way.

Oracle Cloud: Architect Path

Oracle’s Gen2 Infrastructure Cloud as a Service scores high on parameters like cost effectiveness, reliability, security & high performance with low-cost choice of variety of virtual compute shapes, dedicated bare metal, autonomous database, Oracle real application cluster (RAC) that can be consumed as a service, Exadata engineered machines for superior performance of mission critical workloads.

It is a competitor to the market-leaders like, AWS, GCP & Azure. If you’ve taken the AWS cloud certifications then these exams will sound familiar and yes, at times I felt I was doing the same test with an Oracle twist.

OCI Foundations Associate (1Z0-1085)

Foundations Associate
  • Certification Name: Oracle Cloud Infrastructure Foundations 2020 Associate
  • Exam Number: 1Z0–1085–20
  • Format: Multiple Choice
  • Exam Duration: 85 minutes
  • Exam Cost: $95
  • Number of Questions: 55
  • Passing Score: 68%

The Oracle Cloud Infrastructure Foundations Certification provides candidates with foundational knowledge of core cloud computing concepts and an understanding of those services in Oracle Cloud Infrastructure. The certification is intended for candidates with technical and nontechnical backgrounds who want to validate their understanding of Oracle Cloud infrastructure.

Exam Topics:

  • Cloud Concepts
  • Getting Started with OCI
  • Core OCI Services
  • Security and Compliance
  • OCI Pricing, Support and Operations

Resources:

OCI Architect Associate (1Z0-1072)

Architect Associate
  • Certification Name: Oracle Cloud Infrastructure Architect Associate
  • Exam Number: 1Z0–1072
  • Format: Multiple Choice
  • Exam Duration: 85 minutes
  • Exam Cost: $150
  • Number of Questions: 60
  • Passing Score: 65%

The Oracle Cloud Infrastructure Foundations Certification provides candidates with foundational knowledge of core cloud computing concepts and an understanding of those services in Oracle Cloud Infrastructure. The certification is intended for candidates with technical and nontechnical backgrounds who want to validate their understanding of Oracle Cloud infrastructure.

Exam Topics:

  • Identity and Access Management
  • Networking
  • Advanced Networking Concepts
  • Instantiating a Load Balancer
  • Compute
  • Storage
  • Launching Bare Metal and Virtual Compute Instances
  • Database
  • Advanced Database
  • Architecting Best Practices

Resources:

OCI Architect Professional (1Z0-997)

Architect Professional
  • Certification Name: Oracle Cloud Infrastructure Architect Professional
  • Exam Number: 1Z0–997
  • Format: Multiple Choice
  • Exam Duration: 120 minutes
  • Exam Cost: $245
  • Number of Questions: 50
  • Passing Score: 70%

If you are planning to take this exam you need to have the OCI Certified Architect Associate exam passed beforehand. 100% of the questions in this exam are scenario-based. So, extensive hands-on knowledge is required. In the exam blueprint currently you have following information available:

Exam Topics:

  • Plan and Design Solutions in Oracle Cloud Infrastructure (OCI)
  • Design for Hybrid Cloud Architecture
  • Design, Implement and Operate Databases in OCI
  • Migrate On-Premises Workloads to OCI
  • Implement and Operate Solutions in OCI
  • Design for Security and Compliance

Resources:

Study Material

My study material was really simple. The official OCI documentation is really good and clear so that was my main area what I used. I also used the Technical White Papers section a lot and picked up several good papers which I read.

Here is exam-wise study material:

Final Thoughts

 So if you ask me how to pass this exam the answer is rather simple. You need to put yourself in front of your computer and watch all videos which I’ve linked above and go through all the study material. Although I think it is also good to practice with most of the OCI services and not count only on theoretical knowledge from learning paths in Oracle University. I have been also asked many times about brain dumps usage… well… honestly speaking I am not a big fan of that approach. Mostly because it is just a shortcut approach. Learning answers for the particular set of questions will not make you capable of architecting OCI cloud topologies for the real customers. You need to know all of the topics well. This is the only way to be really professional. I know it is hard, especially when there is no time, but this is only way 🙂 Good luck on your exams! I know from all recent LinkedIn posts and hype that OCI certs are now extremely popular! It is another sign that the OCI community is growing!

Being Comfortable With Estimation

Let’s talk about how you can prevent estimating software tasks that you feel uncomfortable about. By the end of this article I hope to give you some tips that will help you be a little bit more successful when you’re put into this situation. It’s really common in software industry and usually it is just a result of developers not knowing how to set good expectations and having a good contract with whoever was asking them to estimate the work.

So one of the main reasons why I think a lot of software developers myself included are really passionate about this subject and you’ve heard of the “no estimates movement” that’s really popular where a lot of people talk about this as it’s one of the biggest causes of burnout for software developers. If you estimate some work and your estimate turns out to be wrong many immature software companies will basically force you to work overtime and bend over backwards to meet your original estimate. They really don’t understand the meaning of the word estimate which really just means it’s not going to be accurate all the time.

If you’re out there working to deliver software for customers, inevitably you’re going to be asked to do some kind of estimation so the first thing that I would recommend that you learn to do well when you’re put into a situation where somebody asks you to estimate something and you feel uncomfortable about it is to be very clear with the other person about the unknowns. So, I often found when I was asked to estimate something I was really uncomfortable with, it was usually because I didn’t have enough detail about what was being estimated. I find many subject matter experts or business analysts or project managers even though they understand their market fairly well usually better than you as a software developer. Even though they consider themselves detail-oriented, maybe they’ve went to scrum master training or they’ve went to training on how to do business analysis but you as a software developer, you’re going to know more about the ins and the outs of the design, code and the things you need answers to.

You can get the other person to agree okay we don’t want to estimate our whole project we’re not doing waterfall but you’re still going to need to estimate something and when you get those requirements/user stories handed to you. First thing you should do is to look at it and try to find holes in it. Think of it like you’re almost a lawyer and you want to look at the requirements with intense scrutiny and try to think is there anything they haven’t considered? or are there any questions I have about this?, or when I go to develop this if I don’t get these questions answered I can’t actually commit to an estimate.

You know some companies that are earlier on in their sort of agile transformation journey they look at it like all you need to do is write a user story on your backlog and the developers will figure it out in the middle of the sprint what are all the details. This is actually a horrible idea in my opinion because it puts you as a software developer in a position where there’s no strong contract between you and what you’re on the hook for and what the business expects of you. So, you actually need to get clear about exactly what the software or the task you’re gonna build needs to do before you commit to any kind of estimate.

Lot of software developers really just want to sit at their computer and write code and kind of be left alone but the reality is if you have that kind of attitude you’re not going to really work very well with the larger team. You’re actually putting yourself into a very dangerous situation where if you don’t learn to be more detailed about that the business and other people can basically walk all over you and make your life a living hell because you’re going to do a lot of overtime as you simply didn’t take the time to understand the requirements better. So just make sure any time you’re handed any work that you need to commit to, you clearly communicate to the business this is exactly what the software is gonna do. It’s not going to do anything that isn’t in whatever we’ve used to describe it.

It’s very common that you’re going to be asked to do some work using a technology let’s say you’ve never worked with or maybe a third party component or maybe you’re working in a company where the products you work with there’s multiple teams and you need to use something that another teams building that either isn’t done or you’ve never worked with before. Rather than putting yourself on the hook to deliver something that you’re dependent on that other team for you need to actually estimate and buy estimate I mean set a time box for an amount of time that you’re gonna spend basically researching or experimenting or exploring what is it going to take for me to understand enough about what I’m interfacing with that then I can estimate it. So really, you’re just saying I’m gonna pick a fixed amount of time to try to understand what I’ve been asked to estimate.

Now some companies will really get frustrated about this they want to just push you into giving them a number so that they can commit it to management. You really want to communicate to whoever is asking you to do this estimation that the reason why you’re uncomfortable estimating at this point is because you don’t want to put them in a situation with their boss where they’re late and they look bad. So anytime I found that I have to refuse an estimate for someone it often gets down to how can I help them feel comfortable that I’m not trying to be combative I’m not trying to get out of getting the work done I’m trying to make sure they don’t get into a situation where now they’re under pressure and I am under pressure because the estimate was off. So, the way that you can help do that by clearing the floor making sure the other person understands the reason why you’re declining this estimate. Ask to do a research spike or some exploratory discovery work within a time box is because you don’t want to put them into a situation where they’re in jeopardy with their reputation with the stakeholders.

The last step that I’ll give you that you can use, that have worked really well for me as a consultant on consulting engagements is to remind them of projects or work that has been late in the past in the moment of kicking off a new project. It’s very common for them to forget completely about the project they’ve worked on in their career that’s failed and try to sort-of put rose-coloured glasses on and think well maybe this team is better than other teams I’ve worked with before in my experience.

It is more common that estimates are wrong than that they are right and it’s more common that projects go late or they’re on time but they don’t deliver to their promises than that they do and I think any one even who’s not doing software development who’s maybe not doing the work on the ground but they’re managing the effort they know this subconsciously. They’ve been through it, they remember it but you have to bring that to the forefront of their mind when they come to you to ask for estimations.

Illustration created by Thea Schukken for The Liberators & GIFs taken from GIPHY

Acing Your PSM 1 Assessment

A guideline on how to prepare & pass your professional scrum master I examination from scrum.org

Introduction & Motivation

Scrum is lightweight, simple to understand, and difficult to master

Taking a certification without knowing what you’re going to face is like going to a war without knowing what weapon should you bring. To make sure that you don’t bring a knife to a gun fight, let’s read this and be well equipped to clear your PSM I assessment.

I don’t find many real life experiences here, mostly people just give you theory & the resources you need. This article will take you through my experience preparing & acing PSM I.

Estimating Your Current Knowledge

Well, you don’t really need to do t-shirt sizing or play planning poker here but knowing your current level of knowledge will give you an understanding of what your best next steps should be in order to prepare for this assessment.

For instance, if you already have practical experience working on scrum framework and applying it in your day-to-day project work then you already have a head start in this preparation. You can skip scrum training in this case and directly prepare for the examination.

If you’re new to scrum/agile or if you’re only familiar with the basics then I would suggest going through a comprehensive 2-day course from here. Alternatively you may also enroll in a Udemy course, I would suggest this one.

Read The Correct Reference Book

The analogy is like this.
If you want to learn about a religion, read the Big Book of that religion.
If you want to know about Christianity, read the Bible.
If you want to know about Hinduism, read the Bhagwad Gita.
If you want to know about Scrum, read the Scrum Guide.

As simple as that.

There are many references about scrum out in the internet, but trust me, what you need to do is read the official scrum guide from A to Z, read it word by word, let it sink in your brain, dream about it, trust every word of it, then you’re on the right track. You might think that you understand it completely, but you need at least two readings as every line is important and can be a question in your PSM I assessment.

Practice Resources

 Reading is not enough (at least for me), You need to know the exam sample, somewhere where you can test your understanding of the scrum guide.

Let me share the perfect resource to practice:

  • Scrum Open Assessment – It has 30 questions. Every time you give this sample test it has some different questions than the last time. They are also simpler than the actual exam and have lesser scenario based questions than what you might find in the real test. My suggestion is go through the scrum open again & again until you can score 100% marks in less than 8 minutes. Some questions are also repeated in the real test from this open assessment, so taking this will give you the edge.
  • There are few more open assessments. Find them here Professional Product Owner Open, Professional Scrum Developer Open & Nexus Open. Passing them are not necessary but if you want to make sure that you attempt all questions well from your real assessment then going through these open assessments will help to get the complete knowledge of question types.
  • You should understand how to scale Scrum. Check out the official Nexus guide. There are several related questions in the PSM exam.
  • Mockup Exams – Apart from the Scrum guide, open assessment tests, the Mikhail Lapshin quiz really helps. I would suggest everyone take a quiz from the Mikhail’s site before taking the PSM I exam. You have learning mode and real mode. Learning mode will give you instant feedback while you’re going through the questions. Real mode is exactly like the actual assessment having 80 questions to do in 60 minutes with a passing grade of 85% but it’s a simpler version of it. Go through this multiple times and make sure you get more than 95% in your last try.
  • Go through the whitepaper written by Barry Overeem – The 8 stances of a scrum master.

Exam Tips

Before you jump into the exam, let me give you a few assessment tips:

  • You might want to give examination after studying the resources for hours as the knowledge is fresh, but it’s generally a bad idea. Give the exam after a good night’s sleep when you’re well rested.
  • Make sure you keep an eye on the timer as it expires really quickly. Don’t waste any time because there’s none to waste.
  • Try to mark for review ONLY questions that you really want to revisit. Because of the time constraint, I do not think it is realistic to review more than 5–7 questions.
  • Read the questions loudly if needed and pay attention to the wording as small words like may/can/should/not can make all the difference.
  • Read all the answers. Even if you think you’ve got the right one, sometimes there are multiple right answers and sometimes there’s answers which look identical but only one is correct.
  • Majority of the questions where multiple answers are correct will explicitly have written how many answers to select. For example – “What are the two best ways”, “Select three things which” etc.
  • Make sure that you have a good internet connection, 60 minutes of peaceful time and a silent place from where you can take the assessment.

I scored 95% in the PSM I assessment, if you prepare using all these resources you can do the same or even better.

Good luck & Scrum On!

RPA: What you need to know

Robotic Process Automation (RPA) is an important component of the ‘Future of Work’ toolkit. Many large organizations have big teams working on RPA even as many others are waiting for others to realize benefits before they jump in. This is precisely what happens when a disruptive technology comes to the fore. Risk averse organizations wait and watch.

The objective of this blog is to walk the reader through a basic understanding of RPA, it’s use cases, and points to consider before they make a decision of RPA. RPA is defined by the Institute for Robotic Process Automation (IRPA) as ‘the application of technology allowing employees in a company to configure computer software or a ‘robot’ to capture and interpret existing applications for processing a transaction, manipulating data, triggering responses and communicating with other digital systems.’

RPA offers a quick and simple way to improve any repetitive, process-oriented and time-consuming tasks. 

Let’s get into the details.

How is it Different from Traditional Automation

Isn’t automation overtly talked already? How is RPA different?

RPA works on the user interface layer. It sits on top of an organization’s existing IT infrastructure and doesn’t care about what that is. In other words, RPA is technology agnostic and works across legacy, Mainframes, ERPs, custom applications, etc. If a human can use a system, in all certainty, it can be used by RPA bot. RPA offers ease of usage and debugging. The RPA programs are simpler and user-friendly and easier for a new analyst to understand. So, cost of resource replacement is low and so is the risk to the business. RPA doesn’t have complex integration codes to be written. This results in faster implementation, shorter break-even periods, and higher return on investments (ROIs) Most RPA solutions have inbuilt OCR – Optical Character Recognition Capabilities. Isn’t that one of those much vouched for the capability we all need for businesses to operate electronically? Not to mention the AI capabilities of some RPA bots. With the help of artificial intelligence, these bots learn on their own and make less or no mistakes over a period. None of the traditional automation software offers that capability.

Benefits of RPA

  • Reduce Human Error – RPA reduces the chances of mistakes made by employees performing mundane tasks like data entry, meaning less operational risk
  • Improve Customer Interaction – Using RPA for routine manual tasks frees up your workforce to focus more of their energy on ensuring your customers are happy
  • Better Workflow Processes – RPA bots are capable of performing defined tasks error-free, meaning their output is more accurate and of a higher standard than human counterparts
  • No New Hardware – Implementing RPA bots doesn’t require any new investment in your systems, so there’s no need to be concerned about any upheaval
  • Reduce Cost – Bots complete jobs faster and cost significantly less than a full-time employee. The worker who is freed up by the bot can now be utilized in a more cost-effective manner performing a task that needs a human touch
  • Speed – Consider how long it takes for a human to fill out a data sheet. An RPA bot can do it in a fraction of time. Over months or years, that’s a substantial amount of time and money saved
  • Flexibility – RPA bots can be programmed to perform virtually any manual, repetitive, clerical task
  • Scalability – RPA can be scaled up and down with ease, for example companies can make seasonal adjustments based on demand

Development of Robotic Process Automation

The term “Robotic Process Automation” can be dated to do the early 2000. It is a developing technology as it is still depended on its previous technologies. RPA is now enhancing the capabilities of its previous technologies and using them in the IT industry in a better way.

Unlike its preceding technologies it is not dependent on coding. Rather it allows the user to use its drag and drop features to create automation software’s and manages them. This gives the user a flexibility of managing the software even without any coding knowledge.

Many of the Robotic Process Automation software make use of optical character recognition (OCR) technology to understand the changing websites. This eliminates the need for human intervention.

Future of Robotic Process Automation

The future of Robotic Process Automation is very bright as it transforms the business activities and streamlines the process of many big companies.

According to McKinsey, automation technologies such as Robotic Process Automation will have an economic impact of nearly $6.7 trillion by 2025. With these statistics, it’s definite that Robotic Process Automation is growing rapidly and is going to become one of the leading technological platforms for a positive business outcome.

Industry analysts expect that Robotic Process Automation software’s will be combined with technologies machine learning and cognitive computing to provide better solutions to the industry. This has great potential to make organizations more active and productive, which is very important in today’s global and competitive marketplaces.

Tips for Success in Robotic Process Automation

For a smooth and successful implementation of Robotic Process Automation, it is necessary that a through selection of the process to be automated is done. At the same time, it is very essential that all the people of the business, IT and Robotic Process Automation work as a team. Here is a list of certain important things that should be kept in mind, while going for Robotic Process Automation, in order to make it successful.

  • Analyze And Choose The Correct Process For Automation

For an effective Robotic Process Automation, such processes should be chosen which are repetitive, rule-based, high in volume and that don’t require human intervention for making decisions. This can be a challenging task in itself because choosing an inefficient process to automate will only speed up the inefficiency.

  • Get The Support Of Your Stakeholders

The idea Robotic Process Automation adoption does not come from inside the organization but from outside business units like the consultants. Hence, for this idea to be successful, it is necessary that support must be gained from the stakeholders inside the organization like the CEO, IT head, etc. This is so because none of the Robotic Process Automation software will be able to run without the permission and help of the IT department. Since no robot can work without a PC, a user account or access to an application. The entire infrastructure has to be provided by the IT department. So keep these people in confidence and also try to communicate the benefits that the IT department is likely to get from this technology. Sharing success stories through regular communication helps in creating enthusiasm among the people.

  • Communicate Regularly With IT Department

Communicating with the IT department should be on a regular basis.This will help the Robotic Process Automation team in delivering the new Robotic Process Automation process. The IT team can provide real support to them at various stages of development. For example: – they can provide access to test environment, help in giving permissions within an application, etc. Staying in contact with the IT development is very important in order to ensure smooth delivery of the new Robotic Process Automation process.

  • Prepare A Clear Strategy For The Usage Of Robotic Process Automation Within The Company

There is always a risk of failure if there is no clear strategy regarding how Robotic Process Automation is going to be deployed and utilized. One should have a clear vision about the use of Robotic Process Automation so that the correct Robotic Process Automation software is chosen to fulfill the needs of many departments. The software should also fully integrate into the existing It infrastructure and solutions so that there is no conflict of technologies.

  • Keep The Expectation Realistic

Robotic Process Automation is only a tool and not a magic solution to every business problem. Still there are situations where there is a need of human interventions in order to manage the problem. So thinking that RPA software implementation can take the place of human beings completely is a far-fetched dream. Hence we should keep our expectations regarding Robotic Process Automation.

  • Calculate The Hidden Costs Of Robotic Process Automation

There is always an initial expenditure while implementing Robotic Process Automation and keeping it operational. Hence make budget for each of its stages. Also make provisions for the IT infrastructure like databases, machines, etc and IT resource time to implement Robotic Process Automation. Include additional consultancy costs, if any, from partner companies. You have to also take into account the salary cost of any additional post created due to Robotic Process Automation implementation. All of this needs to be included in the cost for implementation of RPA. If all this is within the budget of the company then only it should proceed for Robotic Process Automation implementation or not.

RPA Platform Comparison

   undefinedundefined   undefined
Community VersionOnly licensed version is availableOnly licensed version is availableBoth community & licensed versions are availableBoth community & licensed versions are available
Enterprise Version Trial14 DaysNot available for trial45 Days30 Days
Market TrendPreference for existing Appian cloud customersPreference for big enterprises as it has good scalability, execution speed & trustworthyPreference for small organizations as it has lot of funtionality & good scalabilityPreference for individuals who are starting with RPA as easier to learn
Based TechnologiesJavaC#.NET & JavaVB script, C#, .NET
Architecture TypeClient-Server Based Architecture with a web console available in Appian environmentClient-Server Based ArchitectureClient-Server Based ArchitectureWeb-based Orchestrator
Process DesignerProcess skeleton can be created using drag-drop but node configuration requires Java codingVisual process basedDeveloper Friendly (Script-Based)User-Friendly with Drag-Drop Functionalities
Programming SkillsModerate Level – Required to create methods and logicsModerate Level – Required to manage business objectsBeginner Level – Required to use activitiesDoesn’t require coding just need basic visual skills
AccessibilityBrowser AccessiblityApplication BasedApplication BasedMobile & Browser Accessibility
Re-usabilityRPA process can be resued and called in Appian using integration objectsLibraries can be resued with other processBlocks are created using smart adaptersProjects are grouped together as library
RecordersNo Recorders AvailableNo Recorders AvailableBasic & Macro RecordersBasic & Macro Recorders
RobotsFront & Back Office Automations (Attended & Unattended) with Best-in-class human-in-the-loop capabilities to handle exceptions and ad-hoc activities, fast.Only Back Office Automation (Unattended)Front & Back Office Automations (Attended & Unattended)Front & Back Office Automations (Attended & Unattended)
AccuracyReasonable across mediumsDesktop Web & Citrix AutomationReasonable across mediumsCitrix Automation designed for BPO
Operational ScalabilityClaims to centrally manage, monitor, and deploy bots across the organization to increase scale and performance.Good & High Execution SpeedLimited large scale robot deploymentCrashes in medium level project
Community & SupportOffers community & support to post technical queries 24 x 7Offers community & support to post technical queries 24 x 7Offers community & support to post technical queries 24 x 7Offers community & support to post technical queries 24 x 7
CertificationNone yetOfficial paid associate, professional & architect level certifications are availableOfficial certifications available for $50 (advanced) & $100 (master)Official paid associate & advanced level certifications are available
Pricing$5000 per month for unlimited botsPer bot pricing based on a custom quotePer bot pricing based on a custom quote. Starts at $750/month for limited botsPer bot pricing based on a custom quote. Starts at $3999 per year per user for limited bots
SecuritySimplified access and adoption of RPA with Appian’s globally available and highly secure cloud with many security certificationsProvides features like infratuctural security, centrally managed user access control, systemized activity logging, Irrefutable audit trsilProvides features like Fine-grained RBAC, Bank-grade encryption & complete audit trailsBuilt with defense-grade security and auditing including role-based access control (RBAC), Encryption Everywhere, and Veracode certified code
Pre-requisitesAppian cloud environmentNoneNoneNone
Operating SystemCan run on Windows, Linux & MacOS out of the boxWindows onlyWindows onlyWindows only
Capture Video & ScreenshotsYes, it can capture both videos & screenshots while the bots are executingException/failure stages can be configured to save a screen capture. Videos can’t be recorded out of the boxException/failure stages can be configured to save a screen capture. Videos can’t be recorded out of the boxHas an activity to capture screenshots but can’t record videos of bot execution out of the box
Schedule BotsYesYesYesYes

Conclusion

With the emergence of Artificial Intelligence and RPA,new job profiles will be created. People should not worry and think that jobs will be on the decline due to automation rather on the contrary these will open doors for re-skilling of man power. Now people have to focus more on super specialization in their particular field of work in order to succeed.

Advice For New Developers

Making mistakes is part of the learning path to greatness. Failing quickly and often is a hallmark of success. And aiming to avoid making the same mistake more than once should be somewhere high on your priority list.

Yes, personal experience is the most powerful way to learn but the knowledge acquired through others’ experiences is a quicker, smarter way to go about it to save significant pain. After all, life is short; you can’t make all possible mistakes in your one life.

And a career in software development is the start of a journey in mastering your craft. As with any field, there will be challenges and chances to be correct, and chances where you can be completely wrong. This piece acts as a reflection on the mistakes I have made in my career so far — and a guide to avoiding them.


Making yourself indispensable

While the rush of power that comes with indispensability is addictive, you are hurting your own growth if you continue doing that.

Always remember, if you want to aim for higher things, you need to get yourself freed from lower things. Create and mentor a successor in place who can take over from you.


Burning bridges

Yes, you are good, you are great and you are a hot-shot programmer but that does not give you the power to burn bridges and pick up needless battles. The software industry is a small world. Bridges you are burning now will come back and haunt you when you need them the most.

Be humble, be cordial and maintain good equations even with people you don’t like.


Not sharing knowledge

From my experience, being good at technology is the most sustainable way to gain respect among your team members. That being said, being good at technology and not sharing your knowledge is a sure shot recipe for disaster.

Knowledge is half the battle and sharing it is the other half. Good programmers talk to junior programmers and show them how to solve problems. They not only tell them how to fix the problem but also explain why they fixed it that way.


Ignoring soft skills

Programmers sometimes forget that software development is a team sport, and a project is a mutual task for a group of people who have to work side by side, support each other, and move towards a single goal.

So, if a programmer is too arrogant, does not have any passion for work, or is not able to communicate efficiently, this will have a negative impact not only on his work but on the whole project by delaying it or screwing up some of its parts. So soft skills are mandatory.


Sticking to one stack

The software industry never stops evolving. Similarly, a software professional should also keep evolving with the industry and must match its pace with the industry to stay relevant and in-demand.

Remember, the key is not necessarily acquiring fluency, but gaining a conceptual vocabulary to attack problems in new ways. Good programmers don’t just code, but they keep learning key concepts that help them to resolve problems in new ways and find the most efficient solution possible.


Cutting corners

There is nothing called “Quick and Dirty code”. Dirty code is bad code. Period. Never cut corners or accept anything that is the second rate.

Your real test as a good programmer comes under a crisis. If your behavior changes during a crisis, then you are not a good programmer.


Not documenting code

It doesn’t matter how good your software is, because if the documentation is not good enough, people will not use it.

Whatever be the deadline, whatever be the workload, whatever be the excuse of not documenting, any software having no documentation is a dead Dodo. Simple as that!!!


Avoiding politics

We’ve all heard techies say: “Leave me out of the politics. I just want to implement the technology.” But that will not work.

Where there’s technology, there’s change, and where there’s change, there will be people who perceive themselves as winners or losers. That’s where politics begin. You need to manage it, circumvent it and come out as a winner. There is no other way.


Designing too much before writing code

Yes, a good design before coding is a good thing, but devoting too much time on it puts you in an analysis-paralysis situation.

Do not look for a perfect design That does not exist in the world of programming. Look for a good-enough design, something that you can use to get started. A good design works like a map. It should evolve, rather than cast in stone.


Picking up the first solution

Yes, the first solution is tempting and might be an easy way out. But good solutions are usually discovered once you start questioning all the solutions that you find.

Remember, your job as a programmer is not to find a solution to the problem. It is to find the simplest and the most optimum solution to the problem.


Not knowing when not to do something

The best programmers know precisely when not to do something.

They know that rewriting a library from scratch just to make it more readable, or switching to the newest framework from the older one are not always good decisions. The purpose of the code should be clear enough to grasp within minutes or even seconds.

The key is not to be risk-averse but just careful in picking the right battles.


Not admitting your ignorance

You’re probably a technical whiz kid, but even you will not know everything about your technology. It’s practically impossible.

On the other hand, the greenest kid in the room might come up with a sustainable, performance-effective solution to the problem at hand. Good programmers don’t impose their solutions on the team. Rather they cultivate a sort of democracy in which the best solution wins.


Bending under pressure

The code is like food. It can be fast, good, or cheap. Pick any two. A bad programmer overwhelmed by pressure tries to get the team to do all three things at once. They’re driven by deadlines and commitments made by somebody else knowing pretty well that it is not feasible.

A good programmer is all about “getting real,” and communicating that reality to all stakeholders up and down the chain in the fastest way possible.


Not networking and building trust

Yes, programmers can exist as lone wolves also but the best programmers are master networkers.

And The easiest way to establish trust and forge relationships can be by helping other teams in crunch situations. This way you start owing them ‘favors” which you can always ask without hesitation at the right time. Volunteering to help somebody with their initiative or going that extra mile to help somebody accomplish their work not only builds your expertise but also your influence within the organization.


Not seeing the big picture

As a programmer, most of the time, you will be working on a piece of code or maybe solving some production issues in existing code. You are doing the work assigned; nothing wrong in it. But if you want to a part of the entire deal; you need to take time to find out what the deal is all about.

And the best and easiest approach will be to take the help of a mentor who can help you develop your skills faster and keep you firmly grounded with the larger project perspective.


Always reinventing the wheel

Good programmers do not reinvent the wheel. They always reuse and build over existing functionalities wherever possible. This not only saves time but also builds a sort of camaraderie among the developers sharing code.

There are already existing answers to the problems you are trying to solve. So when you are trying to complete a task, check to see if someone else has already solved the problem. You are not cutting corners here. You are cutting the effort here.


Not knowing business rules well enough

We programmers sometimes underestimate the complexity of business rules. If we don’t know the business rules clearly we won’t know how to implement the solution effectively.

Remember, you need to adopt a business mindset while programming and create a workable solution in business terms that fulfills its objectives rather than focussing on a powerful technical solution.


Not communicating with team

While there are no set rules to communicate, (in fact, in software-project limbo, people are referred to as resources), getting a bit personal at work is required as part of our journey as Homo sapiens.

Knowing other programmers’ abilities and limitations, combined with knowing what they are interested in, will make you plan your development in a better way.


Not prioritizing health

Health is the foundation that accelerates everything in your life, including your career. It elevates your creativity, energy, and grit to get through the inevitable ups and downs you’ll experience.

Prioritizing your health isn’t just a one-time task. It means scheduling it into your daily routine, making investments to buy the right food and exercise regularly, and even giving up other bad habits.


Last thoughts

Any career has ups and downs and it totally depends on the way you take it. You can either be knocked down by the negative things, or you can take it in a positive way and learn from it

As Carlton Fisk has rightly said:

“It’s not what you achieve, it’s what you overcome. That’s what defines your career.”

Adopting Remote Work

Companies who don’t have a remote strategy won’t be competitive by 2030

Remote work is already everywhere. The smartest people I know all plan to work remotely this decade, while the most interesting startups I have discovered are all offering remote work. At the same time, there is a massive supply and demand problem. Far more people want remote jobs than there are remote jobs available. This had led to a perfect storm, particularly on social media, where a vocal minority evangelizes the remote work benefits while non-remote people question whether the benefits can be as great as is suggested.

Fortunately, this supply and demand problem eases with each passing day. Remote work has grown 400% in the last decade, while the number of full-time remote workers across the US and EU is projected to grow to 40m by 2030. While that is only a fraction of the 255m desk jobs globally, I believe that number will turn out to be a significant underestimation. As the workforce transitions to more flexible arrangements in search of better work-life balance, the inevitable implication is the rise of the two dominant locations of work away from the office: coworking space and remote working from home.

How can I predict that the number of full-time remote workers from home will race past 40m before 2030? Because the vast majority of remote workers today want to work from home

With that being the case, companies must deliver a far better experience to remote workers. Right now, remote workers are happy to accept less than optimum conditions because they see remote work as a perk.

It isn’t.

Remote work benefits both parties and a failure for companies to acknowledge that will be as costly as not going remote at all.

Companies who don’t:

  • Go remote will lose their best people to their biggest competitors who do
  • Provide a great remote work experience will lose their best people to their biggest competitors who do

Remote work experience is the thing that most companies are currently neglecting. We provide our remote work with all the physical tools they need to work remotely while failing to give them the physical tools they need to do their best work. Remote workers should be safer, more comfortable and productive at home than they can be in an office.

There is a missing half of remote work and that involves human connection, experience, and culture. It focusses on improving remote work and bringing it into the 21st century. Anyone who has worked remotely knows that sitting hunched over the kitchen table is a terrible experience. To do great work at home we need dedicated space. We need the right tools and equipment. Working remotely is only half the equation: we have the space to do deep focussed work in quiet isolation but we require more than that to do the best work we have ever done.

The economic calculations are even more obvious:

🏢Cost of the office:

  • $18,400 per workspace
  • 520 hours commuting 
  • 5,443lb Co2 emitted 

Per person, every year

vs.

🌍The cost of remote work:

  • $2,000 per workspace
  • 0 hours commuting 
  • 0lb Co2 emitted 

Per person, every year

A remote workspace is $16,400 less per year, per team member

Companies that don’t go remote won’t be competitive. Office-first companies will die twice:

  • cost
  • talent

💰 Real estate cost means they won’t be able to compete economically.

📍Fixed location will disqualify them from 99% of Worlds talent

Only being able to hire the best person you can afford within a 30-mile radius of your office will mean that your remote-first competitors become more talented than your company with every hire. At the same time, they will be operating at a lower cost than you.

⭐Great Talent

The most talented people are stipulating remote work as a condition of employment. Companies who don’t provide this won’t be able to attract the best people.

Companies who don’t give this to their existing workers will lose their most talented people to their biggest competitors.

🚦Changing Preferences

The smartest people I know personally ALL plan to work remotely in the next decade.

The most interesting companies I know personally *ALL* plan to hire remote workers in the next decade.

Remote will be the dominant workplace of the best companies and people.

⌛Efficiency

Office-first companies won’t be able to compete with remote-first companies in terms of efficiency, both economic and operationally. Not only will remote-first companies increase their average level of talent with each hire, they will be far more cost-efficient. City living is subsidized by companies, leading to a lower disposable and quality of life.

Most Companies Want to Go Remote

Why Now?

Remote work is the biggest workplace revolution in history and nothing will deliver a higher quality of life increase in the next decade than this. Workers having more flexibility to decide their work schedule, able to operate when they are most productive rather than a fixed day, enables a far better future of work than the one we currently experience. Organizing work around your life is a huge transition with major implications. Gone is the requirement to beg your bosses permission to go to an appointment, it is the ability to drop and pick your child up from work every day with time in the afternoon to go for your recharging run.

Being handcuffed to an office and expected to live in a high cost of living city with a low quality of life is a remnant of the industrial revolution. The devolution of offices into almost factory-like conditions as distraction factory adult kids clubs is complete. The office has become the worst place on the planet to get the isolation and focus you need to do deep work.

Make no mistake, remote work is exploding to prominence right now. We are living through the inflection point today. Shortly, workers will realize their power and influence to demand remote work.

Low-code: Build at the speed of ideas

What Is Low-Code?

Low-code allows you to transform ideas into innovation fast. There’s no need to code an application line-by-line and write big blocks of code for everything. With low-code, you draw it — just like a flowchart.

Create & Deliver Enterprise-grade Applications at unbelievable speed

This efficient process:

  • Makes creating new applications quick and intuitive
  • Accelerates the process of moving from idea to application
  • Removes the barriers between business and IT and they work hand-in-hand
  • Boosts the power of every application

What Makes Low-Code So Fast?

According to Forrester reports, low-code development is up to 20 times faster than coding line-by-line. Low-code achieves this speed by simplifying the very complex processes of application development and maintenance.

Intuitive, reusable design

  • Simply draw a flowchart to define business logic, or drag and drop to build an interface. You can even point and click to create rules or configure an integration.
  • Everything you build in your app can be applied to another one, today or tomorrow

Simplified collaboration

With low-code, business and IT work collaboratively to define the application, using a visual design process that makes sense across the enterprise.

  • Keep business and IT on the same page
  • Enable constant communication and direct feedback, with the ability to customize workflows
  • Deploy updates and changes as business needs evolve

Simplified deployment

Low-code makes deploying, managing, and changing applications simple.

  • Unveil applications to your users with a click on web or mobile
  • Make changes or updates instantly, with no downtime and no interruption to business operations
  • Maintain governance with built-in version and change control, along with safeguards to ease application maintenance so you can keep innovating

Why Is Low-Code So Powerful?

Low-code platforms are capable of meeting the toughest enterprise requirements: mobility, security, scalability, and reliability. In the past, application quality reflected developer skills and time spent. With low-code, however, it’s the the low-code platform, particularly a sophisticated one, that does the work. Low-code builds power, for free, into your applications so you can focus on business impact.

Instant mobility

Build once, deploy everywhere. With low-code, mobile and web require no extra effort, coding, or resources.

Quality and reliability

Developers no longer need to spend additional time on SLAs for uptime, high availability, and scalability features. With an enterprise-grade low-code platform, these benefits are inherent to every application you build.

Security and compliance

Low-code applications inherit the platform’s security and compliance features and capabilities, including:

  • Audits and ongoing security monitoring built in
  • Compliance with certifications such as FedRamp, PCI-DSS, SOC 2, SOC 3, HIPAA, GxP, and EU-U.S. and Swiss-U.S. Privacy Shield Frameworks

How Is Low-Code Sustainable?

Maintaining hundreds of applications is a struggle, especially if many are outdated.

Low-code enables unified, reusable common components and data schemas from all applications. This consolidation boosts development productivity while strengthening governance.

  • Incorporate standard interface paradigms and encourage common UX patterns across all applications, improving user experience and reducing training costs
  • Enable simultaneous upgrade of every application, to more swiftly take advantage of new features and capabilities
  • Future-proof any application developed on the platform by seamlessly supporting new operating systems, browsers, mobile devices, and UI technologies, as well as innovations or paradigm shifts in workload management and devops

Low-code accelerates the transition from idea to innovation by removing the traditional barriers between business and IT. Low-code allows the rapid build, launch, and change of powerful apps.

The result? Massive business impact, fast.

Advantages of Low-Code

Until now, organizations had to code from scratch or buy a packaged app and customize it to support their unique business needs.

Low-code offers an uncompromised third option: the speed of a packaged app, the personalization of custom development, and the power to support even the most complex enterprise use cases.

The Future of Application Development

With low-code, IT and business work together. Users can bring innovative ideas to life by drawing, clicking, configuring, dragging, and dropping to translate their intentions into working enterprise software.

Essentially, low-code:

  • Offers an intuitive design that results in a dramatic increase in developer productivity and application output
  • Aligns business and IT so business leaders have the power to bring solutions to market faster than the competition
  • Allows enterprises to create applications that are easier to change while remaining more mobile, integrated, and secure
  • Makes deploying, managing, and changing one or hundreds of applications simple

Low-Code: Top Four Benefits

#1 – Ease of Use

Visual design that allows drawing instead of coding can exponentially accelerate development—especially when combined with automated testing.

  • Minimal coding required. Drag, drop, click, configure.
  • Instant, native mobility with no extra time, effort, or resources required
  • Seamless integration unifying all enterprise data, processes, apps, and existing systems
  • Streamlined user experience on web or any mobile device

#2 – Speed

Low-code development allows more high-quality apps to be built in less time. With low-code development, time is no longer a barrier to real innovation or an excuse for technical debt.

  • Rapidly deliver applications with other departments to increase business impact
  • Launch enterprise apps at the speed of business needs
  • Adapt quickly to evolving market conditions, customer expectations, and new technologies
  • Visual, drag-and-drop development tools make creating and changing enterprise apps easy and fast

#3 – Power

Low-code empowers your IT organization to fully meet the needs of the business and turbocharge innovation through mobility support, high availability, security, and scalability. No additional work by application developers is needed.

  • Build and launch unique apps that meet enterprise-level needs
  • Expand departmental apps to address enterprise-wide challenges, no matter how large or complex
  • Provide security and compliance certifications like PCI, HIPAA, SOC 2 and 3, and more
  • Scale instantly for any project, program, or line-of-business

#4 – Build for the Future

Low-code makes you forget about app obsolescence and technical debt with built-in safeguards to ease application changes and maintenance. You have the flexibility to keep innovating because low-code allows your applications to grow with you.

  • Everything reusable. Unified and reusable components and data schemas across applications makes changing apps painless, boosts development productivity, and tightens governance.
  • Consistent user experience. Automatically incorporating standard UX patterns across every application improves user experience while reducing training costs.
  • Always up-to-date, never obsolete. Simultaneous upgrade of all applications means they take advantage of new low-code platform features as soon as they are available while preserving backwards compatibility.
  • Ready for the latest. An application built today will continue to work in the future with new operating systems, browsers, mobile devices, and UI technologies.

Hello Blogging World :)

Kunal Sharda, A resident of Jaipur, Rajasthan. Started his journey as a low-code developer in 2016 working on Appian BPM platform. He’s an engineering graduate from Manipal Institute of Technology, Manipal in Information & Communication Technology specialization. Currently pursuing MBA from NMIMS, Mumbai. When he’s not coding or learning something new, he loves to play guitar, discover music, gym, & blog

About Me

Since this is my first blog post, I would like to start by introducing myself:

A 16-year old me would have never imagined that I would be so deeply interested & engrossed in broad terms like tech, cloud, BPM, low-code, SDLC, databases, agile etc. I was a school going student who had just opted for science stream going against the will of my dad who is a well-known practicing chartered accountant and wanted me to join his practice. I remember telling that commerce is not for me and it doesn’t interest me. He understood with very little effort from my end & wanted me to pursue what I wanted. The problem was I didn’t have a clear vision at the time but I opted for science anyway – like many other students do.

My passion at the time was music & playing guitar. I had been playing since 8th grade and had got a good hang of it, specially in classical rock, progressive, alternative rock, pop, country & bollywood music styles. I was the lead guitarist of our school band (St. Xavier’s senior secondary school, Jaipur). We named it “Tarangg”. I remember practicing & performing with my band as the best time of my school life. I have memories which I will continue to cherish for the time to come. Like, winning inter & intra school music competitions, performing at various events, writing, composing & producing our original songs and also taking part in national competitions where we had to compete with professional musicians double or triple our age! I was improving myself in guitar everyday by learning new techniques and playing styles & could see myself continuing the same as my full-time career.

I continued my love for guitar and stage performances throughout my college life at Manipal Institute of Technology. I was never a top student during engineering but always loved the topics which were about software design, management & development. I had moved 2500 km away from my home in a college-town called “Manipal” in south-India. I had lot of freedom living on my own, which I loved but also hated. I spent most of my time socializing, living life to the fullest, travelling, making life-long friends, playing/performing guitar and sometimes studying as well.
During my time at my undergrad college & all my internships at various tech companies I fell in love with software design & development and I knew this is what I wanted to continue doing.

Fast forward to year 2016, I had finished my college and was all set to pursue further education when I came across an organization (my current employer) which also happened to be in my hometown – Jaipur.
This organization was partnered with different modern & innovative work platforms to offer accelerated and advanced digital transformation to their clients located globally. One of those was “Appian”. This place is where I met amazing mentors who helped me learn about SDLC, Appian, databases, project management, the value of team and working together to build end-to-end software solutions for customers & help them achieve ROI & meaningful business value. I was fascinated with everything and would spend most of my time in office & at home learning about various technologies as much as I could. I would code, make mistakes, correct them or seek for help and in the end be happy with the end-product I could create. This would give me immense happiness & sense of achievement. I was also termed by my manager as the “quickest learner”. I think it was all because my passion had gradually changed from music to tech & software. Guitar had become just a weekend hobby because I had found a new “passion”.

As of today, near the end of 2019. I am working directly with clients from US, UK & middle east, leading a development team, helping create products and launching them on the “Appian app market”, participating in hackathons, conducting workshops & training sessions to spread my knowledge while learning something new myself everyday. I am proudly certified as Appian Level 3 Expert (highest certification with less than 40 people holding this credential globally), AWS Solution Architect, Professional Scrum Master (Agile), Advanced Excel expert and various other things I learned along the way. Another “nice-to-have” thing I have started in parallel is a 2 year degree in management from Narsee Monjee Institute of Management Studies, Mumbai.

Although I spend most of my weekdays & weekends being occupied with practicing and learning various aspects of software development & management, I believe that family & true friendship is all that matters.

What to expect from this blog?

  • Articles about Appian low-code design & development, trends, best-practices and my day-to-day experiences working with a large team in IT industry
  • Articles about agile, databases, Amazon web services, project management, time-management
  • Tech reviews of various things I use in my day-to-day life
  • Life as an MBA student while working in the IT industry
  • More personal blogs like this one
  • Guitar lessons (can’t promise but I’ll do my best as I’m rusty!)

I’m just getting this new blog going, so please stay tuned for more. I will highly appreciate if you subscribe below to get notified when I post new updates & I have also linked my social media. Excited to connect with you guys! 🙂

Kunal Sharda

Overcoming Imposter Syndrome

Imposter syndrome is a psychological phenomenon in which people are unable to see their own accomplishments, dismissing them as luck, timing, or as a result of deceiving others into thinking they are more intelligent and competent than they believe themselves to be.

Whether you’ve just begun your journey to learn how to code or you’ve been paid to code for many years, you can and (likely) will face imposter syndrome. I’ve been working in the software industry for more than four years now and I still face imposter syndrome often!

The nature of software development is fast-paced, fluid, and always in flux. It’s what makes building software so challenging, interesting, and fun. But that also means that you’re constantly faced with things you don’t know. And even the things that you don’t know (and everyone says you “need to know ASAP”) are changing before you can even start to know them.

So, you’ll need some ways to overcome that feeling of being an imposter. Here are a few ways that help me:

Find a Mentor

This one ain’t easy but it’s one of the things that most helped me get through my early days as a Developer. Preferably, your mentor is someone who is more experienced than you in software development or has worked on various software teams, i.e. in QA, Product, Design, Development etc. A mentor can really help you get over the many humps you face early on. They don’t necessarily have to help you get over those humps by coding with you, but they can help give you perspective and guidance on your progress.

Here’s an awesome post on how to find a coding mentor.

Find Your Peer Pairs

Form a “peer pair” with someone who is going through what you’re going through. It can be immensely helpful to be able to communicate your frustrations, failures, victories, or even just the day-to-day. With a peer, I have found that you can be more open without worrying about how they may view you. And more importantly, you can listen and learn from what they’re going through.

There’s a lot of fellow “newbies” out there in the developer community (check out the appropriately-titled CodeNewbies community) and everyone is a newbie in something. There’s a lot to learn about the different ways we all approach learning. So, find someone with whom you can share your learnings.

Surround Yourself with Smarter People and Take Advantage of it

Company of intelligent people is like a vast ocean, there is so much to learn from them. Having them around awakens a desire to be like them. And that desire pushes us to learn new things, to improve or to be like them. In their company, our pace of growth increases, and sometimes it helps in surpassing our limits as well.

Humans have a tendency to observe others, their actions, style, behavior everything – and this tendency applies to both the situations: When we are surrounded by intelligent people, and when we are surrounded by less intelligent people.

We observe their actions, gradually start feeling comfortable in their company, and sometimes subconsciously start behaving like them. So, if we remain surrounded by intelligent people there will be a greater possibility that it will have a positive impact on our behavior as well. So where on one hand, company of more knowledgeable people provides an extension of our personalities, on the other hand company of less knowledgeable people limits our growth and places boundaries on our intellectual development.

Be Curious

Once you’re surrounded by smart people and challenging problems, be curious. Apprenticeship Patterns by Dave Hoover and Adewale Oshineye is a great book and a must-read for all developers. It treats software development like the craft that it is and paves your long journey from an apprentice to master with practical patterns. One of these patterns is “Exposing Your Ignorance”.

“The most obvious way to expose your ignorance is to ask questions. This is easier said than done, particularly when the person you’re asking has assumed that you already know the answer. Press on! Sure, you could protect your pride and take less direct routes to obtain the required knowledge, but remember that your road to journeyman will be shortened by taking the most direct route available.

With practice and time, you will find that asking direct questions to the most knowledgeable people on your team will become second nature. While you are exposing your ignorance, you are also exposing your team to your learning ability. And sometimes they will gain a new clarity about their own knowledge in the process of answering your question.”

— Chapter 2: Emptying the Cup, Apprenticeship Patterns

Pick Something and Practice it, Regularly

Earlier this year, I started learning Robotic Process Automation. So, I spent my free time learning about the concepts, tools, doing research, following blogs & meeting experienced people in the RPA industry. I could see my own conversations around RPA evolve over the course of my learning period (which is still ongoing). By the end of 4 months, I had delivered a talk on RPA within the company, built some complex bots using various tools & had written a blog post on RPA

I was fascinated by software robots and the new set of capabilities it provides to solve real life challenges. So I picked it, stuck with it, and deliberately practiced it.

Make Decisions Consciously

Oftentimes, when faced with an overwhelming codebase, it can be easy to fall into the trap of programming by copy-pasting code, following existing patterns, and “making it work” without thinking through your choices. Try not to fall into this trap.

When you’re writing code, make sure you understand how your code works and why it’s structured in the way that it is. Remember, I’m not saying that you shouldn’t ever copy-paste code. I’m saying that, if you are copying code, it’s important to understand the code that you’re copying because you are implicitly making all the decisions that were made by the original author(s) of that code. And you are also making an explicit decision not to refactor the code so that you don’t have to write it.

Basically, when someone asks you, “Why did you build it this way?” — try not to respond with, “Well, this other code was written that way.” This may mean that you won’t write a solution as elegant or reusable as a more experienced colleague but, if it meets the requirements of the task, that’s okay! Over time, each decision you consciously make, articulate, and learn from will help you make better decisions in the future.

Be Aware When You’re Experiencing Imposter Syndrome

Awareness is a big step in actively combating imposter syndrome. For me, self-doubt creeps in as I’m implementing a feature and it starts to take longer than it “should.” As this happens, I start to stress about how I’m being viewed by my co-workers and managers and this usually further delays the feature. It’s a vicious cycle and the only way to get out of it is to realize that I am stuck in this circle. I remind myself:

  • The feature will take as long as it takes me.
  • I work hard and care about the quality of the code I produce.
  • I have asked for help when I’m stuck. If not, I can and should.
  • I have communicated my current status to the stakeholders of my feature.
  • Remind yourself of your accomplishments or a moment in the past how you tackled a similar situation

Read – The Imposter’s Handbook

The Imposter’s Handbook is a great resource for *any* programmer, self-taught or otherwise.

That’s it

Now go forth and fight those battles against self-doubt, insecurity, and imposter syndrome. Remember, there’s a big difference in how you perceive yourself and what is reality.