Posts

Showing posts from April, 2020

Required courses for Software Developer

These are the courses that I have recommended to my team members. I think these courses are minimum that you should go through to become a complete software developer. Due to current corona virus crisis if somebody is looking for courses to know about programming and to become a software developer, then they can certainly look for these courses. However, this list is not complete. I will continue to add new courses which will greatly enhance the skill of a software developer. Let me know if something is missing here. Fundamentals Mathematics For Computer Science: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/index.htm Fundamentals of Computing: https://www.coursera.org/specializations/computer-fundamentals Introduction to Computer Science and Programming using Python: https://www.edx.org/course/introduction-to-computer-science-and-programming-using-python Algorithms: https://www.coursera.org/speci...

Mental Models

Decision making is one of the most difficult task one face in the life. And almost every day we have to make one or other decisions, some simple, some complex.  Many problems in world, there are few ready made templated solutions that we can apply to solve these problems. For example, In software development, we have Design Patterns , which is a "reusable solution to a commonly ocurring problem within a given context in software design"  .  Mental models are similar concepts when it comes to decision makings. Actually it is more than that. You can apply mental models not just in decision making, but every aspect in life, to understand the world, to reason about how and why certain events happen the way they happened.  Mental models are general thinking principles which can help to think in a structured manner. By stream lining out thoughts while making decisions, we are less prone to miss those information, that would help us in better decision making. Same way, ...

Continuous Integration and Delivery pipeline using Bitbucket, AWS CodeBuild, AWS CodePipline and AWS CodeDeploy - Part 3

Image
This is the third article in the series where I explain how to setup Continuous Integration and Delivery pipeline using Bitbucket, AWS CodeBuild, AWS CodePipline and AWS CodeDeploy. You can read previous two articles here and here . According to Amazon Web Services website : AWS CodePipeline is a fully managed continuous delivery service that helps you automate your release pipelines for fast and reliable application and infrastructure updates. CodePipeline automates the build, test, and deploy phases of your release process every time there is a code change, based on the release model you define. So now, let's see how we can set up AWS CodePipeline. Once you login to you AWS account, go to AWS CodePipeLine and click on "Create pipeline". Here, provide the name of the pipleline and select "New Service Role" option.  Choose all default settings under Advanced Settings and click "Next". On the next step, select source provider, from where...