Thursday, April 18, 2019

5 Courses to Learn Software Architecture and become a Solution Architect for Experienced PRogrammers

Every Programmer wants to grow in their career but it's not easy and if you don't pay attention to your career, you will likely to stay in the same position for many years. The grown on initial few years is generally fast, but once you reach the barrier of 5 years, you need to decide which direction you want to move like - people management, product management or software architecture. For tech guys, who don't want to go on people and product management, the software architecture or solution architecture is the ultimate position, which is not surprising.

Wednesday, April 17, 2019

10 Things Every Programmer or Computer Science Engineer Should Learn

If you have been programming for some time and looking to learn to programme then you might be thinking about what makes a good programmer? What a computer science graduate can do to prepare for a career in software development and programming? What are the things expected of a junior developer are some of the common questions I receive from many students on Facebook and Emails who follows me. These are mostly college students who now have access to a wealth of information thanks to the internet and eager to learn things in advance to prepare for their programming job interviews.

How to Find Middle Element of Linked List in Java in Single Pass

ow do you find the middle element of LinkedList in one pass is a programming question often asked Java and non-Java programmers in telephonic Interview. This question is similar to checking palindrome or calculating the factorial, where Interviewer sometimes also ask to write code. In order to answer this question candidate must be familiar with LinkedList data structure i.e. In the case of singly LinkedList, each node of Linked List contains data and pointer, which is the address of next Linked List and the last element of Singly Linked List points towards the null. Since in order to find middle element of Linked List you need to find the length of linked list, which is counting elements till end i.e. until you find the last element of Linked List.

Tuesday, April 16, 2019

5 Best Online Courses to Learn Data Structures and Algorithms for Programmers and Computer Science Engineers

Both Data Structures and Algorithms are one of the most important topics for programmers. The best thing about them is that they never get out-of-date and any investment you made in terms of time and money will pay rich dividends for a long time. I have also found that people good at algorithms and data structures are often a better programmer than others. They tend to improve your programming skill and coding sense and that's the main reason I suggest all kinds of programmers, from junior to senior to spend some time revising, refreshing and honing your data structure and algorithm skills. Most of us first heard about them in school and colleges but didn't understand at that time. At least I can say that for me. I first heard about array and linked list on my engineering college.

5 Free iOS App Development Courses for Programmers (iPhone + iPad) - Best of Lot

If you are thinking to learn iOS App development i.e. developing games and application for Apple's iOS devices like iPhone and iPad and looking for some free courses then you have come to the right place. In this article, I am going to share five free courses to learn iOS App Development and become an iOS developer this year. This is the second article in my serious of articles about learning iOS and venturing into app development. In my last article, I have shared some of the best courses to learn Swift Programming language, Apple's own language to create iOS applications. It also allows you to create apps for MacOS and Linux as well.

Monday, April 15, 2019

10 Web Development Frameworks Full-Stack Software Engineer Can Learn in 2019

The Technical world changes as fast the technology changes and so is the technical jobs. Gone are the days where you can land a job by just knowing one technology or programming language, and somehow to survive in the job for many years without learning new things. Many of us get into programming and web development world by knowing just one or two technology like Java, C++, or JavaScript, but that won't cut the ice anymore. There were teams of tens of people doing specialized jobs e.g. front-end development is done by a separate set of developers and back-end is written by other sets of programmers, commonly known as server-side developers.

How to Count Number of Leaf Nodes in a Binary Tree in Java - Iterative and Recursive Solution

Hello guys, today I am going to talk about an interesting binary tree based coding problem from Programming Job interviews. If you have attended a couple of technical interviews then there is a good chance that you already have seen this question about counting a number of leaf nodes in a binary tree. If you know how to solve this problem then it's well and good but if you haven't don't worry, you will learn in this article. If you follow this blog then you might know that I have discussed a lot of data structure and algorithms problems here, including array, linked list, hash table, binary tree, and binary search tree. 

Sunday, April 14, 2019

Top 5 Free Kubernetes courses for DevOps Engineers and Programmers

Hello guys, DevOps is becoming an essential skill in today's Programming and Software Development world and Kubernetes is an important concept and tool for DevOps Engineer. It takes container based deployment to another level and allows you to manage it on the scale. You can use Kubernetest to scale your container environment or let Kubernetes do all the work for you by leveraging its auto-scaling feature. Many DevOps beginners think that Docker and Kubernetes are the same but they are not. Docker provides a container to deploy your application and commands to interact with those but container but Kubernetes is actually a container management technology, which decides how many containers are needed and deal with other management aspects.

Spring Boot Error - Error creating a bean with name 'dataSource' defined in class path resource DataSourceAutoConfiguration

Hello guys, If you are using Spring Boot and getting errors like "Cannot determine embedded database driver class for database type NONE" or "Error creating a bean with name 'dataSource' defined in class path resource ataSourceAutoConfiguration" then you have come to the right place. In this article, we'll examine different scenarios on which this Spring Boot error comes and what you can do to solve them. The general reason for this error is Spring Boot's auto-configuration, which is trying to automatically configure a DataSource for you but doesn't have enough information. It is automatically trying to create an instance of DataSourceAutoConfiguration bean and it's failing.

Saturday, April 13, 2019

How to generate an Array of Prime numbers in Java - Sieve of Eratosthenes Algorithm Example

Hello guys, I have said many times that a good knowledge of Data Structure and Algorithms is the first step towards becoming a better programmer and that's why I share a lot of Data structure and Algorithm stuff in this blog. To continue the tradition, I am going to share an interesting algorithm today, The Sieve of Eratosthenes algorithm, which can be used to generate prime number up to a given number. There are many occasions when you need to generate all prime numbers up to a specified integer and one algorithm which is most often used to generate prime numbers is the Sieve of Eratosthenes Algorithm. Surprisingly, not many developers know about this algorithm, particularly Java programmers, which is mainly because not doing enough competitive programming.

10 Free Angular and React Courses for Programmers and Web Developers

There is no doubt that both Angular and React (also known as Angular JS and React JS) are two of the most popular frameworks for modern web development, particularly front-end development. It was Angular who started the new way to develop a web application using JavaScript but now React and Vue.js is taking that to another level. I have seen more and more people are learning React in recent time. Btw, today's world is all about full-stack developers like you should know how to develop a web application end-to-end, starting from front-end to back-end and that's why as a full-stack Java developer, you should React or Angular Framework.

Friday, April 12, 2019

What is a Functional interface in Java 8? @Functional Annotation Examples Tutorial

The Functional interface is one of the most important concepts of Java 8 which actually powers lambda expression but many developers don't put enough effort to understand it and spend time learning lambda expression and Stream API without first understanding the role of functional interface in Java 8. Unless you know what is a functional interface and how lambda is related to it, you can't use powerful features of Java 8 like Lambda expression and Stream API. Without knowledge of functional interface, you won't be able to understand where you can use a lambda in the code but also you will struggle to write lambda expression the method is expecting, hence, it's important to have a good understanding of functional interface in Java 8.

Top 5 Online Courses to Learn to Code With No Programming Experience- Best of Lot

Programming and/or Coding is one of the important skills for today's technical world and awareness of coding is growing every passing day. In my time, about 20 years back, I only learned to code when I entered into engineering college to pursue Computer Science and Engineering degree, but things have changed a lot since then. Nowadays, even kids have started learning to code, even my daughter can code and much better than what I can do even in college. More accessible computing gadgets like iPad, iPhone, Smartphone and Laptops has truly changed the environment and made Coding or Programming more accessible.

Thursday, April 11, 2019

Top 8 Python Libraries for Data Science, Machine Learning, and Artificial Intelligence

Hello guys, today I am going to talk about something which is not related to Java but a very interesting technology development which is happening around and you simply can't afford to miss out this opportunity. Yes, you guessed it right, I am talking about Machine learning, Artificial Intelligence, and deep learning. There is a good chance that you might have already heard about them and even started learning them. You may be either form Python camp or learning R programming for the sake of machine learning. When I started my journey of Machine learning and Data Science, I had to first make a choice about choosing the right programming language as both R and Python were doing great.

Top 20 Searching and Sorting Algorithms Interview Questions for Programmers

Hello All, If you are preparing for Programming job interviews or looking for a new job then you know that it's not an easy process. You got to be lucky to get the call and make to the first round of interview at any stage of your career but it is even more difficult at the beginner level when you are searching for your first job. That's why you can't just take your chance lightly. You got to be prepared to grab that chance and for that, you must know that is expected from you on the interview. What is asked, what topics should you prepare, etc? I have blogged a lot about what you can find helpful articles in this blog but to recap let me tell you that apart from data structure questions, System Design Questions, and Programming language specific questions like Java or Scala, most of the programming job interviews also ask algorithm based questions.

10 Reasons to Learn Python Programming Language in 2019

If you are a regular reader of this blog then you may be wondering that why am I writing a blog post to tell people to learn Python in a Java blog? Didn't I ask you to prefer Java over Python a couple of years ago? Well, things have changed a lot since then. In 2016, Python replaced Java as the most popular language in colleges and University and since then it has never looked back. Python is growing and growing big time. If you read programming and technology news or blog post then you might have noticed the rise of Python as many popular developer communities including StackOverflow and CodeAcademy has mentioned the rise of Python as a major programming language.

Wednesday, April 10, 2019

Top 6 Free Online Database and SQL Courses for Programmers

Hello guys, we are already in the first week of New year and everyone is talking about their goals to improve them as a better person, a better programmer, or get better health. If you have also made your goal and one of them is to improve your SQL skill then you have come to the right place because I am going to share some of the free courses to learn and master SQL this year. As you already know, SQL is one of the essential skill and much more important than any fancy library or framework you are thinking to learn.  If you ask me which two skill every programmer should have, I would say SQL and UNIX, these two have survived for a long time and will survive for many coming decades. SQL is also very interesting, once you get a hang of it, you would love to write queries and analyzing the performance of your queries.

Top 10 Tools Every Java Developers Should Learn in 2019

Hello guys, we are already in the second month of 2019 and I am sure all of you have already made your goals about what to learn in 2019 and how to achieve them. I have been writing a series of articles to give you some ideas about the things you can learn and improve to become a better, all-round developer in 2019 like learning new programming languages, frameworks, and libraries. These three things are extremely important and help you to become a better Java developer but as some wise person said, "you are only as good as your tools", you should also look to upgrade your tools, learn new tools and improve your understanding of old tolls which are still going well.

Tuesday, April 9, 2019

How to find the largest and smallest number in given Array in Java

Hello guys, today I am going to discuss one of the frequently asked programming interview questions to find the largest and smallest number from an integer array. This question is commonly asked on telephonic interviews and the first round for screening candidates. This coding problem is in the same league of other frequently asked algorithmic question like Fibonacci, Palindrome, Prime, and Power of two checks. They are easy but you will find them difficult during the interview because of the pressure, particularly if you have not solved them before. Sometimes even if you have solved the problem one time, you tend to do mistakes because you haven't understood them properly. So, always take your time to understand the question.

Top 5 Unity Game Development and Certification Courses for Programmers - Best of Lot

Hello guys, if you don't know Unity is a powerful game engine which allows you to build both 2D and 3D games for PC, Mac, and Console. Many popular games of last decade like Temple Run Trilogy, Rust, Wasteland 2, Pokemon Go, and Angry Birds 2 were built using Unity game engine. Unity is also a cross-platform game engine which means you can create games for multiple platforms like Android, iOS, MacOS, PC, Linux and even popular gaming consoles like Xbox among others. Unity Game engine also allows you to create both 2D and 3D games and provides several useful features to make your game truly amazing.

Monday, April 8, 2019

How to find the 3rd (kth) Node from end or tail in a linked list in Java

Hello guys, the problem to find the 3rd element from the end in a singly linked list or Kth node from the tail is one of the tricky but frequently asked linked list problems in Programming job interviews. I know you can easily solve this problem by moving from tail to head or in the reverse direction but the main challenge here is to solve the problem in just one pass. That means, you can not traverse the linked list again and you cannot traverse backward because it's a singly linked list. So what do you think? Isn't this problem challenging? Well, I did struggle when I saw this problem very first time but once you understand the logic and some tricks to solve a linked list based problem like Recursion then it would be easy for you, and that's what you will learn in this article.

Top 20 Libraries and APIs Java Developer should know

One of the traits of a good and experienced Java developer is the extensive knowledge of API, including JDK and third-party libraries. I spent a good deal of time learning API, especially after reading Effective Java 3rd Edition, where Joshua Bloch has advised to use existing API for development rather than writing new pieces of code for common stuff. That advise making sense to me because of the testing exposure these 2nd party libraries get. In this article, I am going to share some of the most useful and essential libraries and API, a Java developer should be familiar with. Btw, I am not including frameworks e.g. Spring and Hibernate because they are pretty well known and have specific features.

Top 5 MongoDB Online Training Courses for Programmers and Web Developers

MongoDB is one of the leading NoSQL databases and it was on my radar for a long time but I never get a chance to learn or work on it, but Recently I got an opportunity to use MongoDB for one of our projects and I learned a lot on the way. In this article, I will introduce MongoDB and how to learn MongoDB so that you can use it in your project. In this article, I will share some of the online courses which I have taken to understand everything up to the basic CRUD (Create, Retrieve, Update, Delete) operations on MongoDB. I have also read a couple of books and followed some tutorials but these courses were my main source to learn Mongo DB.

Sunday, April 7, 2019

How to declare and Initialize 2D or two dimensional int and String Array in Java

Declaring a two-dimensional array is very interesting in Java as Java programming language provides many ways to declare a 2D array and each one of them has some special things to learn about. For example, It's possible to create a two-dimensional array in Java without specifying the second dimension, sounds crazy right? but it's possible because two-dimensional array in Java is nothing but an array of array. You can even create a two-dimensional array where each subarray has a different length or different type, also known as a heterogeneous array in Java. This means it's possible to create a two-dimensional array with variable column length in Java.

Top 5 Web Development Courses for Programmers and Software Engineers

Hello all, wish you a very Happy New Year 2019. We are already approaching the end of January and I am sure you all have made your goals for 2019. Some of you might have started already on planning how to achieve those goals which is great. If you not, you can get some inspiration from my goals about what you can learn in 2019. Anyway, If one of your goals is to learn Web Development or become a Web Developer in 2019 then you have come to the right place. I can help you to achieve your goals. There is no doubt that Web Development is a very exciting career and financially rewarding as well. If you are good at creating web apps you can also create your own website and your own business and become an entrepreneur.

Saturday, April 6, 2019

Does Spring Certification helps in Job and Career? 5 Reasons to Become a Certified Spring Developer

One of the frequently asked question among Java and Spring developer is whether Spring certification is valuable? or does Spring Certification help you in Job and Career? These questions are not very different from what Java developer ask about Oracle's Java certification (see here). The short answer to these question is Yes, Spring Certifications are very valuable and it not only provides Industry recognition for your knowledge, experience, and skill but also set you apart from the millions of Java and Spring developer who are not certified. Of course, as with any certification, the most valuable part, apart from recognition is the learning process and this is true for Spring certifications as well.

Top 5 Python Web Development Frameworks for Programmers

Hello guys, I am a Java developer and have been writing about Java for a long time. Initially I wasn't interested in Python but eventually, I had to join the Python wagon when I started exploring Machine Learning and Data Science. There is no doubt that Python is the #1 programming language and it's heavily used in areas like automation to web development to machine learning and Data Science. The popularity of Python has exploded in recent years as more and more people started learning Python for Web Development and Machine Learning. One of the important reason for such a phenomenal rise in popularity was the framework and libraries available in Python which makes everything easy.

Friday, April 5, 2019

How do you find length of a Singly Linked list using Loop and Recursion

Hello guys, here is one of the classical programming questions how do you find the length of a linked list using recursion and without recursion. This is not the about the LinkedList class of Java API but the linked list data structure which is made of nodes which contains both data and address of the next node. In order to calculate the length, you need to count all nodes in the linked list. Since it's a singly linked list you can only move in one direction from the head to tail.  This coding problem was asked to me on my first interview with a multinational Investment bankAfter that, this question has been asked to me on several occasions in other Programming Job Interviews as well.

Top 5 Courses to learn JVM Internals, Memory Management and Performance Tuning in Java

For a senior Java developer, it's very important to know how JVM works and how to troubleshoot issues with respect to memory, most notably memory leaks in Java applications and servers like Tomcat. You might be thinking how come memory leak in Java? isn't memory is managed by JVM and Garbage collector? Well, that's true but poor coding or just a bit of carelessness can cause memory leaks in Java. If you don't know about how to configure JVM, troubleshoot memory related problems on heap and stack, you will struggle at a higher level. That's why it's very important for experienced Java developers to spend some time learning these advanced skills as their experience grows.

The 2019 Web Developer RoadMap

Hello Guys, Happy New Year 2019. I am sure you all have already made your goals by now and thinking about how to achieve those goals. If one of your goals is to learn to code or to become a Web Developer in 2019 then I have something great to share with you, the 2019 Web Developer RoadMap. This is an excellent illustration on how to become a web developer in 2019 and guide you on how you can learn and master Web Development in 2019. It's a collection of different paths to learning front-end, back-end, and all other things a Web developer should know.  You will not just know about web development but about essential programming stuff which is important for all kind of programmers.

Thursday, April 4, 2019

Strategy Design Pattern in Java using Enum - Tutorial Example

Hello guys, how are you doing? I hope you all are fine and doing good in your life and career. Today, I am going to talk about the Strategy pattern, one of the useful design and coding pattern which will help you to write flexible code. The code which can withstand the test of time in Production. I'll also teach you how you can use Enum to implement the Strategy design pattern and Open Closed design principle better in Java. I have said this before that Java Enum is very versatile and can do lot more than you normally expect from it. We have seen a lot of examples of Enum in my earlier posts like writing thread-safe Singleton using Enum and 10 ways to use Enum in Java.

Top 5 Spring Boot Features Java Developers Should Know

You might have heard about Spring Boot and it's magical powers about creating a Spring Web application in just under 140 characters which can be written in a tweet, but what that really means? What are those features which provide Spring Boot such power and make Spring application development so easy? Well, that's what you will learn in this article, but if you are in hurry let me tell you that you will learn about Spring Boot's auto-configuration, Starter dependencies, Spring Boot CLI, Actuator and Spring Initializer feature in detail. These are the feature which takes away most of the pain and friction associated with writing Spring-based Java web application.

Wednesday, April 3, 2019

Top 5 Java 8 Certifications Courses to Prepare OCAJP (1Z0-808) Exam Online

If you are preparing for Oracle Certified Java SE 8 Associate exam, also known as OCAJP 8 and OCPJP 8 with exam codes 1Z0-808 and looking for a decent online course to kick start with your preparation then you have come to the right place. In this article, I will share some of the best online courses to prepare for Java SE 8 certifications. Btw, first of all, configurations to make the right decision. If you are a Java developer then certifying for your skill will not only distinguish you from millions of other non-certified Java programmers but also improve your knowledge and understanding of Java SE 8. If you are looking for a job then this can help you to get a better job and if you are looking for a career growth e.g. to become senior Java developer, these certifications can help you to get a promotion.

Tuesday, April 2, 2019

10 Object-Oriented (OOP) Design Principles Java Programmer Should Learn in 2019

The Object-Oriented Design Principles are the core of OOP programming, but I have seen most of the Java programmers chasing design patterns like Singleton pattern, Decorator pattern, or Observer pattern, and not putting enough attention on learning Object-oriented analysis and design. It's important to learn the basics of Object-oriented programming like Abstraction, Encapsulation, Polymorphism, and Inheritance. But, at the same time, it's equally important to know object-oriented design principles. They will help you to create a clean and modular design, which would be easy to test, debug, and maintain in the future.

10 Tools Used by Java Programming Developer in Day to day life

Every trade has their tools, and Java programming is no exception. In fact, good knowledge of tools and mastery of using them, saves a lot of time in design, development, testing, debugging, and troubleshooting any production issue. In order to become a good developer, you must know the right tools for the right jobs. A developer without tools and tricks are like a toothless lion, hence it's very important that you devote some time to learning tools required for your day to day job. Many developers think that learning an IDE like Eclipse, NetBeans or IntelliJ IDEA is enough, but that's just the start of the process. No doubt that IDEs are the most important tool ever created for programmers but they are not the solution for everything.

Monday, April 1, 2019

Top 5 Spring Boot Courses to Learn Online for Java Developers in 2019

Hello guys, if you are interested in learning Spring Boot and looking for some awesome resources e.g. books, tutorials, and online courses to start with then you have come to the right place. Earlier I have shared some great books to learn Spring Framework, including Spring Boot (see) and today I'll share some of the best online Spring Boot courses you can join to learn Spring Boot by yourself. In the past, I was a big fan of learning from a book, but online courses have changed that completely. Now I prefer to start with an online course e.g. Spring Boot Essentials and then move on to a book like Spring Boot in Action for more comprehensive learning. Anyway, before going through those Spring Boot courses, let's first revise what is Spring Boot and it's benefits and why you should learn it.

Top 3 Programming Languages Java Programmers Should Learn in 2019

If you are a Java programmer and thinking to learn some news programming languages to expand your knowledge and skill, but not sure which programming language is better for you then you have come to the right place. In this article, I'll share 3 programming languages Java developers should learn in 2019 and why they should learn them. There is no surprise that all of these programming languages are JVM based programming languages but they all have different qualities which makes them unique and useful for a certain task. Also, being a Polyglot developer is good quality and often valued high on interviews. It also expands your thinking because different programming languages have different features which make certain things really easy.