New to the World of Programming?

10 tips and tricks to help you succeed in the IT Industry

Whether you just graduated with a Computer Science degree or simply decided to switch career paths to join the IT industry, the road ahead will not be easy. Many professionals start down this road, but many don’t make it. Why? Reasons can be multiple – maybe the lack of support or time, or perhaps setbacks at the beginning become so frustrating that you just want to give up. 

As a software engineer in Cognizant Softvision’s Bucharest studio, I’d like to share with you some tips and tricks I’ve learned throughout my career that could help you in your professional journey.

1. Choose your specialty and stick to it

The world of IT is massive, which means you end up having a multitude of options and this can become confusing. So, it’s important to discover what you want to do and focus on it – whether it’s web development, mobile development, game development, DevOps, ERP, business intelligence/analytics, security, and so on.

Once you’ve selected your specialty, it’s important to choose a technical stack within this specialty. For instance, within web development you can select between .NET, Java, Python, JavaScript or React; if you go for mobile development, then you need to decide between Android or iOS, etc.  Ask yourself, do you want to be a backend, frontend, or fullstack developer, or are you more attracted to design? Do your research and see what appeals to you the most, then you need to stick to it and master it.

2. Lay the foundations

Building your skills on the right foundation is essential to your success. Therefore, it’s important to invest time and effort into learning the basics well. Learn how to follow the proper procedures and deliver clean code as much as possible. Getting it right from the beginning is only going to make your journey easier later on, so don’t be afraid to spend as much time as needed on the basics. Don’t try to skip ahead hoping it will all come together eventually, because it most likely won’t and it will further set you back. It’s just like in grade school – you can’t read a book if you don’t know the alphabet.

3. Beware the tutorial trap

Starting this journey can be intimidating for everybody as this is a challenging and time-consuming process. However, one of the advantages of technology today is having access to all the information you need at your fingertips. Becoming self-taught and learning how to code by reading books and watching tutorials is common practice among many developers. Unfortunately, it is just as common to fall for the tutorial trap – watching tutorials in a loop, day in, day out for a really long time. There is a huge difference between watching someone code and actually doing some coding yourself. Creating a project of your own can be intimidating and daunting, but it truly is the best way to learn. 

4. See it? Like it? Bought it!

So, you’ve chosen your specialty and framework and started working on the foundation. Do you enjoy it? Great! Then keep on learning and developing your skills. It’s important to master your chosen programming language and framework, but don’t forget about becoming proficient in your chosen text editor/IDE (Integrated Development Environment). IDEs are important since programmer productivity is increased by combining common activities of writing software into a single application: editing source code, building executables and debugging.

5. Use your Version Control System like a pro

Version Control Systems (VCS) are used for streamlining the development process, managing code for multiple projects and keeping a history of all changes within the codebase. VCS presents many advantages and there are plenty of options to choose from (Git, TFS, Bitbucket, etc). Once you decide on your preferred system, learn to use it like a pro and experiment with all of its features as this will improve your work quality greatly.

6. Test your code

Testing your code is an important practice and it should become a habit. First of all, unit tests are created to confirm the code is doing the right thing by testing individual modules of an application in isolation (without any interaction with dependencies). Then, integration tests are written to check if different modules are working fine when combined together as a group. Both kinds of tests are vital in keeping your codebase as bug free as possible, which makes it common practice among developers. 

7. Refactor your code often

As you progress in your career and your skills improve along the way, you realize a problem can have many solutions. If at first, it’s important to write code that works, the next step is to write code of higher quality with emphasis on optimum performance, which can be achieved through constant refactoring. Also, with extra functionality added, the codebase becomes more and more complex, so keep it manageable by refactoring as you go. If you make this a habit from the beginning, you will definitely make your life easier later on.

8. Google your bottlenecks and reach out to the programming community

The first rule in a developer’s handbook – Google is your best friend. It’s not uncommon to get stuck on a problem or to have a question about a particular topic. What do you do? You google it. Chances are the answer is already out there. And on the off chance you cannot find what you need, reach out to your network and the community. Stack Overflow, Reddit and Quora are a few of the platforms you can use to reach out to and learn from the software engineering community.

9. Code reviews – a necessity

Code reviews are common practice among developers for several reasons – fewer bugs in production, improved code quality and readability, and knowledge sharing. When just starting out in this career, having a more senior developer take a look at your work and give you advice on how to improve your code is really beneficial. This is also a great opportunity for you to take a look at someone else’s code and learn from it. Don’t be afraid to ask questions. The “why” and “how” are important in this industry – never stop asking these questions. Additionally, don’t be afraid of criticism. Code reviews are not about being critiqued, but about the opportunity to learn and grow. 

10. Practice, practice, practice and then practice some more!

In the beginning you will not understand anything. Then, you will slowly start getting used to the terminology and learn the syntax. Then, you will get past the basics and dive into more complex concepts. This doesn’t happen overnight, though. For all that to happen you must practice every day. Do you think spending an hour daily doing a tutorial is enough? Think again! Nothing can be achieved without putting enough time and effort into it and software engineering is no different. 

BONUS – Believe in yourself and never give up!

Having a strong mindset with a clear goal in sight is essential in the world of programming. The path ahead is going to be challenging and full of obstacles. The first real obstacle you will encounter is yourself. You might become frustrated and want to give up.  You may suffer from impostor syndrome and feel like a total fraud. Been there, done that. My advice as someone who’s made it to the other side?  Realize you will never know everything there is about software engineering, take each day and each skill one at a time and never stop learning. 

So remember, if you truly wish to persevere in this industry, the key to success is to never give in, believe in yourself and put in the necessary time and effort to overcome all challenges. Though frustrating at times, it will be fulfilling in the end.