isolation – Devstyler.io https://devstyler.io News for developers from tech to lifestyle Mon, 13 Feb 2023 08:07:02 +0000 en-US hourly 1 https://wordpress.org/?v=6.8.5 7 Programming Myths You Shouldn’t Believe https://devstyler.io/blog/2023/02/13/7-programming-myths-you-shouldn-t-believe/ Mon, 13 Feb 2023 08:07:02 +0000 https://devstyler.io/?p=101074 ...]]> The ever-evolving field of programming and development is piquing the interest of people from all fields. Today, they rank among the most in-demand skills of the 21st century. At the same time, several myths, lies and misconceptions about this field need to be busted. They are exaggerations, false expectations, or perhaps figments of someone’s imagination, but they are popular nonetheless, and programmers are sorely bored with them.

Today, we have chosen to bring you a list of the most common myths about programming, presented by Analytics India.

7 Programming Myths You Shouldn’t Believe

AI can replace programmers
With the launch of ChatGPT and Copilot-like AI models that can write code, came the question whether the developers’ jobs are safe or not. While it is true that AI’s ability to write code is not questionable, it still falls short of the creativity that a developer holds. Moreover, the code can be prone to bugs, and since a human hasn’t written it, debugging it becomes an even harder task. Yes, Artificial Intelligence is a great addition that can boost the work of programmers, but human intelligence remains indispensable. At least for now.

Anybody can learn to code in a week
Though it is true that anybody can start learning to code, being proficient takes a lot of time, practice, and effort. Coding requires an understanding of various concepts and the ability to mold them for solving real world problems. The advent of auto-code platforms has made it easier for non-developers to build applications, but even these applications do not explain or overpower the nitty-gritty that experienced developers can circumvent or solve.

Programming languages are interchangeable
Different programming languages are designed for different purposes, and switching from one language to another can be a challenging process. While it is possible to learn multiple programming languages, each language has its own unique syntax and way of thinking, making it important to have a deep understanding of the language you are working with.

You have to be a maths genius to be a programmer
Mathematics is an important component of computer science and programming, but it is not the only factor that determines a programmer’s success. Though being a mathematical genius can definitely boost your skills to another level, many successful programmers have a strong background in logic, critical thinking, and problem-solving skills, which are more important than mathematical prowess.

Becoming a programmer requires a degree
Many successful programmers have taught themselves and obtained their skills through online courses, workshops, bootcamps, or even on-job training. Most of the degrees in programming are most concerned about the theoretical aspects, or even maths. Some organizations may ask for credentials while hiring, but it all comes down to the skills and the problem-solving capabilities.

Programming can be done in isolation
Programming requires collaboration and team effort, while sharing a lot of ideas. It is one of the fastest-evolving fields, and keeping up with the developments and trends is as important as sitting and writing the code. Moreover, building relationships and learning from other programmers gives different perspectives, ultimately giving new ideas to solve problems.

]]>
Slack Lessons Learned From Supporting Workloads in AWS GovCloud https://devstyler.io/blog/2023/02/03/slack-lessons-learned-from-supporting-workloads-in-aws-govcloud/ Fri, 03 Feb 2023 12:00:33 +0000 https://devstyler.io/?p=100105 ...]]> Archie Gunasekara, a staff software engineer at Slack, and Andrew Martin, a staff software engineer at Slack, recently shared lessons learned from building GovSlack, an instance of Slack running in the AWS GovCloud region. They shared the challenges of adapting to unsupported services, creating accounts, and isolating accounts.

As described by AWS, the GovCloud US region is an “[isolated] region of AWS dedicated to hosting sensitive data and regulated workloads in the cloud.” Gunasekara and Martin note that one of the first challenges is that “only US persons will be allowed access to the production environment” as this is a core requirement of FedRAMP High. AWS also requires that only U.S. persons manage and have access to root account keys, Infoq wrote on the topic.

To simplify their Slack setup, Gunasekara and Martin describe an approach to creating “GovDev” and “GovProd” accounts. While the “GovProd” account is locked to US persons only, the “GovDev” account is more free as it does not contain end-user data. This allows development teams to deploy and test their applications in the GovCloud environment before handing them over to the GovSlack team to deploy to the more restricted “GovProd” account.

AWS ARNs differ between commercial accounts and GovCloud accounts. Commercial accounts have an arn:aws prefix, while GovCloud has an arn:aws-us-gov prefix. Gunasekara and Martin said that the team wanted to maintain the same Terraform modules for deployment in their commercial and GovCloud accounts.

AWS GovCloud is separated logically and physically from their standard regions with different access to certificates between partitions. AWS recommends that “workloads that process or host US export-controlled data be hosted within the AWS GovCloud (US) partition.” This includes workloads requiring FedRAMP High P-ATO or DOD IL4 and 5 PA services.

AWS provides some resources for understanding best practices when architecting workloads in GovCloud. This includes an implementation guide and a user guide. More lessons learned from Slack’s use of GovCloud can be found on their blog.

 

]]>