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

CES 2021: Best Reveals

This year’s CES (consumer Electronics Show) isn’t in Las Vegas. The show was moved online due to the ongoing Covid-19 pandemic. But even a global health emergency can’t stop the march of consumer technology. There are still plenty of gadgets, apps, electric vehicles, smart-home appliances, brain-training headsets, and Alexa-powered workout gear to tell you about.

To find the new tech innovations this year, attendees didn’t wander the millions of square feet of the Las Vegas Convention Center and surrounding facilities, but instead watched streamed presentations, combed through hundreds of exhibitors and, of course, heard plenty of pitches from entrepreneurs and marketing folks eager to keep us in the loop.

That means the attendees weren’t able to touch and feel the innovations like in years past. Still, it hasn’t stopped CES 2021 from bringing the craziest, coolest and most innovative gadgets that will be released this year.

Sony VISION-S 

Sony unveiled its first full-electric concept car that greets you as soon as you approach the vehicle. It features 6 dashboard touch screens where you can access all of the media controls including things like Sony-owned movies, music, and games. Speakers are also embedded into each seat’s headrest. If that’s not enough, it comes with more than 10 Sony image sensors embedded throughout the vehicle, alongside a host of other sensors like LIDAR, and ultrasonic. The largest audience showing interest in Sony’s concept car is a group of “Hardcore Gamers”.

Pimax’s 8K VR Headset

Consumers have been waiting a long time for the Pimax 8K X — 14 months, to be precise. When it launched on the popular crowdfunding platform in late 2017, it boasted lofty specs and big ambitions, many of which sounded like wish-list items than something actually deliverable.

Yet, at CES 2020, Pimax delivered. The impressive headset, which now retails for a cool $1,300, features twin 4K displays and a 200-degree field of view, allowing for a better sense of peripheral vision and minimizing the claustrophobia many experience with VR. Yeah, it’s a behemoth rig and requires an insanely powerful PC to operate, but if you’re looking for the most lifelike VR experience to be had, the Pimax 8K X is your best bet.

Samsung Bespoke 4-Door Flex

If you’re the type of person who stares blankly at the contents of your fridge trying to figure out what you can make with what you already have, a new Samsung fridge is here to save you. 

The latest version of the Bespoke refrigerator features changeable panels that come with a choice of colors and materials that made the original a success, allowing consumers to adjust their fridge for form and function. The new 4-Door model, available in North America this spring, also includes a brand-new Beverage Center™, which gives quick access to a water dispenser and an automatically-filled water pitcher. The 4-door Bespoke also comes equipped with a Dual Auto Ice Maker which makes not only regular cubed ice but also smaller ‘ice bites’ to suit different preferences for cold beverages.

The technology even tracks expiration dates, so you don’t have to worry about wondering if the mayo is bad. And for those with specific diet preferences like gluten-free or vegetarian, you can customize the platform to incorporate them. 

LG’s Latest 4K Projector

LG’s laser projection tech is among the best around, which is why I’m excited to see its brand-new Cinebeam projector in person. In addition to offering excellent color accuracy, it features LG’s WebOS interface, AirPlay connectivity, and WiSa and Bluetooth connectivity (in addition to HDMI eARC) for audio. Needless to say, this should be one of the easiest projectors to get an image to and sound out of. It’s also capable of massive images: It will fill screens of up to 300 inches, for a truly cinematic experience.

The new LG CineBeam HU810P 4K laser projector is launching off the back of the CES 2021 expo, with the next iteration of LG’s accomplished projector range landing on January 18.

It’ll work both in small and large homes, then, and allow some wiggle room for those who tend to move their projector between different rooms.

Sony Airpeak Drone

Sony is getting into the drone business and the company had first revealed its Airpeak drone a couple of months ago but now, during CES 2021, the company showcased it.

The Sony Airpeak drone is touted to be the smallest drone capable of carrying an Alpha-series camera. The company reveals that it is specially designed for video content creation and professional photography.

The drone will be equipped with an Alpha mirrorless camera to capture high-quality images and videos. As shown in the image below, the aircraft features a rectangular central body with a gimbal. The legs retract upwards after the drone takes off to allow the camera to rotate 360 degrees. Built with a quadcopter design, each of the arms sports a propeller, a motor and rotor.

Panasonic Lumix BGH1

Panasonic’s new Micro Four Thirds video camera could become the next go-to device for filmmakers. Building off much of what made its GH series cameras popular in the first place—high quality video, low image noise levels, and support for industry-standard codecs and gamma curves—the BGH1 is aimed squarely at video pros. It’s small, lightweight (under 18 ounces), and screen less. The expectation is that you’ll hook it up to an external monitor through the full size HDMI output. That gets to the heart of the BGH1; its modular design means you can build it out the way you need it to be. The box-style camera is meant to compete with the likes of the Red Komodo and the Hasselblad 907X, both of which have similar form factors but cost nearly three times as much. To be fair, those cameras have larger sensors than the BGH1, but Panasonic is betting that for many filmmakers, it’s good enough. Netflix at least is on board; the company is reportedly sending the BGH1 out to many of its show-runners so they can start shooting with it.

Hex Home Security

Security cameras do a great job of spotting intruders—provided they step into the camera’s field of view. The Hex Home Security system from Origin Wireless can sense a burglar no matter where they move inside your house. A Hex Command Hub and Hex Sense plug-ins blanket your home with Wi-Fi radio waves and then use artificial intelligence to analyze how those waves are disrupted by people walking around. If you’re not home, the Hex Sense units will sound an 80dB siren and the system will send an alert to your smartphone via your Wi-Fi network. You can tune the system’s sensitivity so that your pets won’t set it off and trigger a false alarm. Origin says it plans to offer an optional but inexpensive professional monitoring service plan that will dispatch the police if you can’t be reached after an alarm is tripped. A kit adequate for a 1,500-square-foot home will arrive this spring for $180.

Noopl Hearing Enhancer

Hearing loss is no joke once you hit the magic age of 40, but a new gadget debuting at CES could make for a more effective alternative to a hearing aid (or simply cupping your ear). Equipped with technology licensed from the National Acoustics Laboratory in Sydney, Australia, the Apple MFi Certified Noopl plugs into the Lightning connector on your iPhone or iPad, and it uses a triangular array of three beamforming MEMS (microelectromechanical system) microphones and a head-tracking system to amplify the sounds that are coming from directly in front of you, while also screening out background noise. Designed to work with Apple AirPods, the $199 Noopl can also be used with any other headphones or microphones, provided you manually control the direction of the microphones using the Noopl app for iOS (an Android version is in the works too).

LG’s Rollable phone

LG teased its Rollable phone yesterday at the Consumer Electronics Show, and now the company is confirming it’s a real product that will be available in 2021. The LG Rollable has what the company calls a “unique resizable screen” that extends from a phone into a small tablet display. The screen slides in and out of place to provide a bigger screen area.

LG is working with China’s BOE Technology Group on the rollable screen technology. LG has not yet confirmed what display tech the Rollable is using, or any details on the different display sizes.

Samsung Bot Handy

Robots are a common sight at CES events, and companies simply won’t stop showing off their robo-tech. This year at CES 2021, the best robot we came across is Samsung’s Bot Handy, It’s an upright robot with a rolling base, and it has a long mechanical arm equipped with a clamp to pick things up. 

The Bot Handy is designed to help with house chores, like cleaning up messy rooms, picking up and throwing away trash, and putting dirty laundry into washing machines. It’s even delicate enough to put dirty dishes into the dishwasher. But, why stop there? The Bot Handy will truly prove its worth when it pours you a glass of wine. Good robot. 

To perform these complex tasks, the Bot Handy relies on AI and delicate mechanics to apply an appropriate amount of force with its clamp.

The Bot Handy is still in development with no definitive price or sales date at the moment. However, Samsung will have its smart robo-vacuum, called the JetBot 90 AI+, available this year. It’s essentially a smarter and better vacuuming robot that doubles as a travelling security camera. Unfortunately, we don’t know how much the JetBot will cost yet, or exactly when it’ll be released.

Razer Project Hazel

CES is always chock full of wearable technology and wellness gadgets, but the COVID-19 pandemic has put health in focus more than ever in 2021. One of the most promising devices at this year’s CES is Razer’s Project Hazel, which aims to fix many of the shortcomings and inconveniences that come with wearing masks today. 

Project Hazel is an N95 respirator prototype that comes with a special UV light charging case for disinfection, a built-in microphone and amplifier to make it easier to speak loudly while wearing the mask, and clear design so that others can actually see your mouth when worn. And of course, in typical Razer style, the mask also lights up automatically in the dark.

Mercedes-Benz MBUX Hyperscreen

There were plenty of futuristic car tech unveiled, but most were more fantasy than reality. One that is actually coming is Mercedes-Benz’s next-gen vehicle infotainment system, the MBUX Hyperscreen.

The highlight is a high-resolution 56-inch OLED display that spans across the entire dashboard. Technically divided into three components — digital gauge for the driver, a central 17.7-inch touchscreen, and a screen for the front passenger — the Hyperscreen incorporates artificial intelligence to help the driver adjust controls without taking hands off the wheel or eyes off the road. While such telematics aren’t entirely revolutionary, the Hyperscreen digitizes nearly every control — something we will start to see more and more in new cars.

The MBUX Hyperscreen will debut in the all-electric Mercedes EQS this spring.

Burnout in Software Development

We often spend our time complaining about how screwed up software development is and how other programmers didn’t know what they were doing and how managers piss us off.

I want to share with you how I think many of us lose hope as software developers and why there is hope out there for you. You might have to be open to some things that most people don’t want to tell you because they just want to go along for the ride of being just as pissed off and frustrated as you are.

I want to help you have a sustainable career in software development where you don’t get burned out, you don’t let other people who don’t understand software development push you around and you can just make sure you have a long and healthy career.

Causes of Burnout

1️⃣ Forced to Cut Corners

We’re asked to do low quality work and rush best practices just to make sure we hit original deadlines and when we get close to that deadline we inevitably realize that it’s gonna take us longer than we thought. If you’re anybody who’s been programming or doing software development whether you’re a designer or UX or any discipline related to software development you know that estimates in software development are highly improbable to hit.

It’s not that people aren’t good at estimating it’s just the reliability of estimates is bad and if you work at a company that doesn’t understand that and you get to a situation where you realize the work is gonna take longer most companies that don’t have a healthy tech culture they’re gonna pressure you to hit that deadline. Then usually what we have to do is a compromise on what we know is right for the code, we have to write low-quality code, hack things, shortcut or maybe skip unit testing, not follow a good set of design patterns just to rush to it and hit that deadline and I think when you’ve done that enough times it’s so frustrating you can completely lose hope in your job.

2️⃣ Cognitive Overload

Our job is already so hard to keep track in our head, different functions, languages, classes, design patterns, the structure of our architecture, code management, best practices and all the moving pieces and dependencies with the business and then we’ll have people who aren’t programmers at our company that ask us to attend endless meetings, use three different time-tracking software, follow all these processes that are on top of this complexity that we’re already dealing with and I think when we’re just overloaded with too much information that we have to understand it’s really easy to lash out and get pissed off at other people and I certainly have many times and I think that can cause us to lose hope.

3️⃣ Low Perception of Value

When other people because our work is somewhat opaque to them they don’t understand how complex the work we do is there’s a low perception of value so it’s a common thing I mean there are memes all over the internet about this where when a user or somebody who’s even a project manager or a product manager or a software company you know looks at let’s say the user interface of an application your company’s building or they look at the API for some machine learning software you’re building they just see the surface and they know there’s code back there but they don’t know how much code is back there they have no idea how complicated it is like you and I know and I think what that tends to do is it creates this perception from the other person that the work that you’re doing behind the scenes isn’t as hard as we know it is.

We do this same thing to non-technical people, we look at them and think to sell the software or to run the company or to manage a project or a product that’s not nearly as hard as my job is and when we have this disconnect where the non-technical people and the people who are technical or programmers when we don’t respect each other because we just look at basically how much we think the work is difficult based on our limited understanding of it.

4️⃣ High-Income Forces Seeking Deeper Goals

This is probably going to be unpopular but you need to hear it as many software developers myself included we make a lot more money than many other professions very early in our career. If you start making a lot of money and all of a sudden many of your financial dreams are fulfilled you get to drive the car that you want, you get to live in the apartment or the house that you want, you know you can get married, you can take trips, you buy all these gadgets, you’re able to buy nice new clothes and guitars and things like that very early. I think as programmers we reach that level in life where we have most of our needs met and so we then realize you know what I can keep making more and more money, I can keep getting promoted and it’s not going to fulfil me and we’re suddenly challenged with why am I here what’s my purpose what am I supposed to be offering in the world? is all I’m here for just to write code and make money and purchase things?

I think when we fall into consumerism and when we make a lot of money and just use that acquisition of money and acquisition of material things to drive us, we can feel empty inside quickly. So if you’re losing hope because you’re making a lot of money know that it’s great to make a lot of money but there may be more to your career into your life than just money and that’s something that’s gonna be challenging for you as a software developer.

5️⃣ Learned Helplessness

You’ve might have heard of this concept called learned helplessness. There was an experiment done years ago where there was a ladder in a cage and a whole bunch of monkeys in it and a banana at the top of the ladder. Every time the monkeys rather climbed up the ladder and they tried to get to the banana they would spray the monkey with water. So the monkeys learned when they tried to go up the ladder and try to get that banana, they were gonna get sprayed. Eventually, when somebody went to start to climb the ladder to get the banana the other monkeys would grab that monkey and pull it down and not allow it to even try to get the banana because they had learned they were helpless and don’t have a chance of getting the banana as they we’re just gonna get sprayed hard with water and knocked off the ladder.

The interesting thing about this experiment is you could then take one of the monkeys that don’t bother climbing the ladder anymore out of the cage and put a brand new monkey in there and he would very quickly learn without even trying to climb the ladder to pull other monkeys down because he saw other monkeys do it and I think this is what happens to us as software developers. I see sometimes fresh grads right out of college they come into a software company and they start to pick up the attitude and the negative sort of like misery loves company attitude and they just behave the same way as other veterans in software development behave because that’s just what they see. When we get around a group of people that are miserable and they’re all self-identifying as programmers we feel like to fit in, it’s easier for us to just act the same way.

What to do About it?

1️⃣ Say NO with Grace

First thing I think that’s important is to learn to push back against people who give you unreasonable requests. You will always have someone whether it’s a manager or a tech lead or anybody that’s going to ask you to do some development that you know is gonna cause a problem. The common excuse they give you is I don’t care you need to get it done by this date no matter what even if that means you need to change the code quality. You cannot allow people to do that, you need to have the will and the courage to say look I know this is gonna create a problem for the product and gonna be a disaster if you want to continue to do this I’m not going to be the one to help you do that. If you get threatened with being fired you can just go okay well let me think about it and then go to HR and resign if you have to. I think many of us we let ourselves be bullied into situations and let the code or the quality of our deliverables be compromised because we don’t dare to just stand up to people that don’t know what the hell they’re talking about and we are worried we’re gonna lose our job.

You know there are so many open programming jobs out there you don’t need to worry about that even if you quit and you have to explain to another employer the situation don’t you think it would be better if you’re in an interview and you can be honest with that company you’re interviewing at. You may say that the company was asking me to compromise the quality of the product in a way that was gonna cause the company to have financial problems and I didn’t agree with it, so I decided to walk away. So, whatever you can do to learn to just stand up for yourself and you don’t have to be a jerk about it but just don’t be pushed into compromising the quality of your work.

2️⃣ Communicate Uncertainty

Everybody is addicted to certainty everybody wants to think they can predict everything that’s why we go out and we get insurance to think well I’ll just pay some money and then if any disaster happens to me, they’ll cover it well. Every time I write code or every time I work, something comes up and I couldn’t predict it and then I get worried like oh my god they’re not gonna think I don’t know what I’m doing because all the sudden now I have something about the work that happened that I couldn’t predict. As I’ve gotten older have gotten much better at just telling people I can’t agree to commit to that yet or I don’t know enough about that to be able to tell you that we’re gonna be able to hit that deadline and if people say things like well you need to come up with a number anyway it doesn’t matter if we don’t have the requirements. Sorry no that’s not how software development works you’re not developing the software I am this is my career and I care about the output of this if you’re asking me to compromise that because you want to have certainty. You want me to agree to something so you can walk away from this meeting and feel good that I’ve committed to you on how long something’s going to take.

You don’t have to be a jerk about it but you need to be firm, you need to let people know you can’t force me to agree to an amount of work in a deadline that I don’t have enough information on and I think when I’ve been able to talk to other people and set this expectation with them in a kind way, in a way to help them understand look I’m telling you this not to be a jerk I’m telling you this because I want you to look good I don’t want you to go commit to your boss and then have to look bad because you told them it was gonna take a certain amount of time and it took way longer.

I think if you can get to a point where you’re able to push back anytime somebody tries to get you to agree to certainty and just be more honest and open with people when you’re like I don’t know how long that’s going to take. I don’t know how complicated that is or you haven’t given me enough requirements. I’m sorry I need more help with that you’re not gonna get pushed into a situation where you work overtime you lose hope and get frustrated.

3️⃣ Ask for Help Earlier

I think as we develop skills in software development, we kind of get a big head we get really smart around a set of frameworks or technologies and we get experienced. It doesn’t matter how long we’ve been doing it you might have experienced this yourself too we hit these brick walls where we realize oh there’s a part of this project that’s more complicated but maybe I’m an architect or I’m a lead or I’m a director or you know some big title at a company and you kind of get this feeling like I’m not supposed to ask for help there’s something wrong with me asking for help. I think that’s just developing software it doesn’t matter what discipline you’re in you need to get comfortable with asking for help because if you don’t, all you’re doing is putting yourself into a dangerous situation where you haven’t let whoever you’re committing that work to know that you’re actually in trouble.

This is hard as I can take it a lot of times to heart like a blow to my ego like you know what if I tell them I need help and they think there’s something wrong with me and they’re not gonna think I’m as smart. That’s not true, you need to if you’re gonna continue to have hope in your projects and not fall into despair over the frustration of it just be able to ask for help without worrying about other people and what they think about you

4️⃣ Develop Empathy

Develop empathy for other people and by this, I just really mean stop looking at other people around you like they have to work the same way you do like they have to talk like you do like they have to care about the same things or think that the same programming patterns that you do. I think when we release people of the obligation to behave exactly like us we respect them we treat them as individuals and they’re gonna treat us the same way.

I’ve been in this situation many times where there’s this feeling where everybody has to act like they’re gonna get the work done at the same speed. They’re gonna use the same coding patterns, they need to write the requirements the same way, they need to track their time the same way. It just causes us to feel like a robot but people aren’t like that we’re much more complicated than a computer. The more you can just let go of that false belief that I’ve had many times in my career that everybody else is the problem if they aren’t the same and recognize that everybody’s different I think it’s gonna help you have hope without having just an unfair set of expectations that’s never gonna get mad for you. You’re just going to continue to get let down all the time if that’s how you expect people to be.

5️⃣ Surround Yourself with Positive Developers

If you want to find software developers or programmers out there who want to post memes making fun of the system or at each other or make fun of other people’s work. You’ve got a multitude of people out there that will be happy to join you along and you can just be another voice that’s part of that but if you want to be happy and you don’t want to lose hope and you want to not spend the rest of your career pissed off about your job and where it’s going you have to refuse that.

You have to care about yourself more than just being accepted by a large group of people. So, if you are in a place where you’re losing hope I encourage you to go try to find more positive people, try to find people that maybe have been through a really hard time in their career and they’ve been frustrated but now they don’t have to be a victim to this negativity, don’t have to be a victim to the fact that everybody else wants to just moan. Surround yourself with people that can build you up and lift you and help you have some hope again.

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.