This is an excerpt from the e-book ‘self.debug – An Emotional Guide To Being A World-Class Software Engineer’ written by Karan Kurani. It’s a guide to increasing your skill set as a software engineer to the next level by debugging yourself and your emotions.
Karan Kurani is the co-founder and CTO of DoctorC, which is the leading marketplace in India connecting consumers with easy, affordable diagnostic & lab tests. DoctorC’s mission is to make healthcare simple, transparent and affordable. Karan is an alumnus of Cornell University with an overall experience of 8+ years. He has worked with GREE as a Lead Software engineer and founded two startups Shoutt and DoctorC.
Here’s an excerpt from the chapter ‘Hacking Skillz – Jack of more than 1 trade’ it talks about how being average in more than 1 thing is easier and more valuable than being excellent at just 1 thing.
Check out our free courses to get an edge over the competition
Note – This guideline is most useful for the bottom 99% of the practising software engineers. So if you are part of the remaining 1% – you can safely skip this post.
There is a surprisingly easy hack that you can apply to increase your value generally in life. Pick up more skills. It sounds obvious when put on paper but there is one subtlety which makes it a “hack” in my opinion.
For this point, we turn to the excellent Scott Adams’ book – “How to fail at almost everything and still win big”. Speaking about being successful, he says –
“… I tell them there’s a formula for it. You can manipulate your odds of success by how you choose to fill out the variables in the formula. The formula, roughly speaking, is that every skill you acquire doubles your odds of success.”
He goes on to mention that the level of proficiency for a skill is not mentioned because –
“… you can raise your market value by being merely good – not extraordinary – at more than one skill.”
“To put the success formula into its simplest form: Good + Good > Excellent”
upGrad’s Exclusive Software Development Webinar for you –
SAAS Business – What is So Different?
Check out upGrad’s Java Bootcamp
This subtlety makes it very easy to execute. You don’t need to be extraordinary, you just have to be ordinary/average. Hence, if you are an average software engineer and you have any of the skills mentioned below –
- Good at drawing
- Public speaking
- Managing people
- Have a knack to pick up people’s emotions
- An eye for design in product
- Spot problems in operational processes
- Shoot, edit and/or make videos
- Make original music
- Writing essays/blog posts
- Or anything else
Explore Our Software Development Free Courses
Check out upGrad’s Full Stack Development Bootcamp (JS/MERN)
Learn Software development courses online from the World’s top Universities. Earn Executive PG Programs, Advanced Certificate Programs, or Masters Programs to fast-track your career.
You are immediately more valuable to yourself and your organisation vs someone is who is a very good software engineer only. So if you are a software engineer who can think of product ideas and execute independently (remember you only have to be of an average skill in it) – you have more than doubled your value.
Leverage that skill.
What Does A Software Developer Do?
Explore our Popular Software Engineering Courses
In-Demand Software Development Skills
Just like programming, it’s an adventure to delve into your own mind. You can debug yourself – this book shows you how.
If you’re interested to learn more about full stack software development, check out upGrad & IIIT-B’s Executive PG Programme in Software Development – Specialization in Full Stack Development which is designed for working professionals and offers 500+ hours of rigorous training, 9+ projects and assignments, IIIT-B Alumni status, practical hands-on capstone projects & job assistance with top firms.
Read our Popular Articles related to Software Development
What exactly is software?
A set of instructions, data, or programs that are used to control computers and perform certain activities is referred to as software. It is the polar opposite of hardware, which refers to a computer's physical components. Applications, scripts, and programs that operate on a device come under software. It is comparable to the moveable element of a computer, but the hardware is fixed. Almost all software is now downloaded via the Internet. The software is available on both vendor service websites and application service providers' websites.
What is a Software Engineer?
It is a branch of computer science that deals in the development, testing, and functioning of the software. A Software Engineer is important because every company needs specific software which is required in every industry as well as every business. They apply all the knowledge as well as all their skills in the programming language so that they can build the software for the end-users. Software Engineers are of all types, whether they are full-type employees, part-timers, or contractors, they are vital members of the IT industry.
What are the responsibilities of a Software Engineer?
Job prospects for software engineers are expected to rise in the coming years. Large enterprises, small setups, and independent freelancers, all employ software developers. While many people work in the computer information system and related services, banking, software development, and manufacturing are all popular. Software engineers create software programs and are frequently involved in the specifics of their creation. They analyze and alter current software, as well as develop, construct, and test end-user applications that match user requirements. They make sure that all technology they develop, be they websites, gaming applications, video streaming platforms, form-filling websites, or data management tools, are compatible with the company and individuals incharge. They make all digital interaction with humans seamless and easy to understand.