Shahid Shaikh is an engineer, blogger, author, and thinker who loves to solve computing problems. He shares his software expertise on his site, CodeForGeek.com.
We recently caught up with Shahid to learn about the biggest lessons he’s learned in his career so far and get his advice for how developers can make themselves more valuable to the companies they work for. Here’s what he had to say:
How have you approached your career as a developer?
Since high school, I was in love with creating things, be it a small science project or a replica of electro magnet gloves. I was introduced to computers by my father when I was 12 years old and have been fascinated by them since then. There is no limit to creating things with computers and that’s how I chose to major in Computer Science and landed to the Developer job.
What are some of the most important lessons you’ve learned in your career?
The most important lesson I learned is about prioritizing and time management. I have been in sports so I knew that without hard work and dedication you can’t achieve anything. I have learned that if you want to be successful in any aspect of life, not just the developer job, then you must out work people.
Work with focus, priority and dedication. It’s the key to success and that’s what I learn and apply every day.
What do you do to improve your skills and make yourself a more valuable employee?
The key to being more valuable is to always learn and never settle. The majority of people fail here, they achieve their goals and then settle down and that’s when some young kid comes and out works them. I always thrive and hustle for more knowledge because I believe learning is an infinite process. And, of course, you must apply what you learn to do things in better way.
What advice can you offer other developers who are seeking competitive positions at a higher pay? What can they do to prepare for these jobs?
To compete for high-paying jobs, one must know basics of the field very deeply. The majority of people know how to use or write a program but don’t know what’s actually going on inside the computer to execute your program. Basics are key and it’s what separates you from average to expert.
With that said, you should also be fluent in the programming language demanded by the job. I have interviewed lots of people who have been working on Node.js for more than three years but can’t answer the simple architectural question. You, as an engineer should focus more on “how” to solve the program instead of “what” programming language to use.
How should IT professionals use online tools like Paysa when they are seeking now positions?
The major confusion among IT Professionals is what I am worth? What should I ask (and justify) as expected salary? Which technology should I learn now to jump to high pay scale? Answers for all of these questions can be found on Paysa.
What skill sets are most in demand in your world today?
Full stack developers are in demand right now in the development zone. At the back-end, machine learning and automation is picking its pace so I am sure there is going to be lots of high paying jobs in that section.
What are the best ways for developers to grow these skills? What are your favorite educational resources?
“Practice makes man perfect” – this simple rule can be applied here, too. You should write code every day to always improve your coding skills. Don’t know what program to write? Visit websites such as Topcoder, HackerRank to find out problems and solve them.
I have subscribed to some educational resources such as RisingStack engineering blog, Node.js weekly, Microservices weekly from where I get lots of material to learn. I also visit various blogs and sites mentioned on social media by developers.
What trends or innovations are you most excited about right now?
I am excited about machine learning and automation. I believe it’s the future and it can help our civilization to go to next level. I also love Internet of Things and in the mean time, I’m learning those, too.