Week six started with our first module 1 exam covering material and topics in Django and Python. The following days after the test, I found it interesting that the instructor mentioned how the development team at Hack Reactor had built an ability to detect if students were answering with the help of ChatGPT, which was very interesting to note as this technology has only been around for several months and already has a large user base of over 100 million active users. Okay, so this week marks the end of Module 1 and starting next week working on models, JSON, and Javascript.
This week's learning covered the following: comparing Javascript differences to Python, Big O notation and how difficult algorithm building can be when factoring in efficiency, what technology the engineering team at Duolingo is using to help with building the most popular language app, informational interviews and building a Django backend project for a membership site using the API of Stripe.
We don't use var in Javascript, and the reason we don't has to be with updates during ES6 or since 2015. Additional note If a solution uses var, the code is much older.
Python is often referred to as computer programming for data. Here are facts that make it different than Javascript. It is a high-level programming language that is object-oriented. Guido van Rossum created Python and named it after the comedic group Monty Python. Python makes it simple to read and maintain code. You'll almost always need an interpreter to run dynamically typed Python code. For server-side scripting, Python is commonly used. By default, it is encoded as ASCII.
JS abbreviates Javascript. Brendan Eich (Netscape) created Javascript, which ECMA presently maintains. Because of its flexibility, Javascript does not provide easy code readability or maintainability. The ability to run Javascript code is built-in to most web browsers, and it's a dynamically typed language. Client-side scripting is the most common use of Javascript and has UTF-16 encoding.
The website simplelearn.com highlights this even more in the article on the differences between the two programming languages.
Learning about Big-O notation and how computer scientists compute the cost of an algorithm. This is measured by identifying how many simple and complex operations/steps are in the code. This is an important perspective to learn and always consider when developing code. Algorithms can get very large with the possible calculations to find the programmed solution. It is also recommended to avoid coding with a nested for loop inside another for loop, as this will create many steps in the number of calculations needed to be run. Outstanding articles highlighting the Big-O I found and read this week come from articles published on freecodecamp.org by Shen Huang and happycoders.eu, written by Sven Woltmann. In addition, one of the explorations this week used the example of the traveling salesperson problem, how it has been around for a while, and how computer scientists need help solving it. This is documented well in this YouTube video that covers all the ways to solve and how quickly the problem gets complex once you calculate for more than 20 cities to consider in your model.
I read this article published on Github that I first discovered on Linkedin. Duolingo, the world's largest language learning platform and my favorite way to learn and practice my Spanish speaking and understanding, heavily relies on GitHub products to keep its 300 developers organized and focused. The company's primary objective is to provide affordable and accessible language learning opportunities to everyone. Since its inception in 2011, Duolingo has grown exponentially, and in 2021, it went public with over 500 million users.
Initially, Duolingo's developers focused on developing mobile applications and infrastructure. However, the company realized it needed to expand its engineering power and hire machine learning and data science, experts. With over 300 developers, efficiency was critical to avoid distractions and irrelevant tasks. With its API, Copilot, and codespaces, GitHub enabled Duolingo to achieve this goal. The company has been using GitHub for source code management since 2011 and has adopted new services as GitHub added them, increasingly making GitHub the core of its development approaches. Custom GitHub bot implementations and Slack integrations using GitHub's APIs standardized workflows across repositories and projects, significantly reducing the median turnaround time for code reviews.
According to Jonathan Burket, a senior engineering manager at Duolingo, "GitHub enables us to enforce consistency and a standardized engineering culture that makes internal mobility easier." With the integration, the company has moved towards a microservice architecture with 400 repositories. Teams can easily contribute to each other's projects, and non-technical employees can make minor code changes without compromising quality. Customizations using GitHub's API ensure developers test their code before deployment, improving site stability.
Duolingo's adoption of GitHub Copilot has accelerated its workflow significantly. The AI-powered pair programmer provides autocomplete-style suggestions to developers while coding, reducing the need to produce boilerplate code manually and limiting context switching. Copilot can be used by writing code or natural language comments that describe what the code should do. For developers new to a specific repository or framework, the tool provides at least a 25% increase in developer speed and a 10% increase for those familiar with the codebase. Burket estimates that this increase in developer velocity comes from the fact that GitHub Copilot's suggestions can be built within the context of the codebase.
Duolingo has also found efficiency and consistency in Codespaces, GitHub's cloud-based development environment. It has enabled teams to configure a standardized yet customizable environment, making it easier for Duolingo to onboard developers into new projects. The power and efficiency of Codespaces have motivated teams within Duolingo to move entirely to Codespaces.
GitHub's products have allowed Duolingo's developers to spend more time improving the product experience and developing new apps learning the content instead of dealing with daily minutiae. By making the best use of its engineering time with the help of GitHub Copilot and Codespaces, Duolingo can reach its goals faster.
Duolingo is a company I will continually learn more about and how they operate, especially from the developer and business side.
My following thoughts and notes come from the following resources:
https://www.themuse.com/advice/3-steps-to-a-perfect-informational-interview
https://www.linkedin.com/pulse/coffee-questions-what-should-we-asking-during-mukai-matsiga/
https://www.youtube.com/watch?v=8FsUm5noXEM&t=4s
https://www.livecareer.com/resources/interviews/prep/informational-interviewing
The best way to job search is to not job apply but conduct information interviews. The person-job seeking or junior in the conversation will lead the agenda and get the other person to talk about themselves. In this video, Steve Dalton shares his questioning algorithm that frames the interview as an expert. TRIRA - Trends, Insights, Advice, Resources, Assignments.
Trend: an open-ended question that asks about the current state of the company now.
Insights: what have been your successes while working at the company?
Advice: Remember what it was like to be me.
Resource: What do you do daily to stay updated on your industry and position?
It is critical to send a thank you note 24 hours after. Ben Franklin effect - people like you better if you ask them for favors and don't pay them off. Ask for further mentorship. What keeps you up at night with your position/job? Additionally, Mukai Matsiga article on networking questions is highly informative, and they used to work at Galvanize, the company that owns Hack Reactor.
The following video is a sped-up version of myself working on the backend of my models, views, URLs, admin, and templates folders and also accepting the free Stripe API for test mode to hook the keys up to a web buildout. I started this project with starter files from the course provided on Linkedin, but I wrote all the code after the starter files myself and can prove from my commits done for this project on my GitLab. This project demonstrated and taught me how to do the following:
That would be identifying a "stretch goal" for this week to work on as a project during our class time dedicated to working independently. At first, I spent the first two days of this week primarily enhancing my project Alpha project and getting to the point where I considered working with the Google Maps API. Still, as I signed up for the premium version on my LinkedIn account, I discovered that Linkedin has many online technical courses and decided to work on a project from a Django course that I found instead. Another challenge was getting sick this week with a sore throat, but it could always be worse, and this only impacted my sleep. I'm grateful for my health, that I recover fast, and that my cold has quickly exited my body.
This past weekend I had the opportunity to go to the circus in Santa Rosa de Cabal with my family. The circus only cost five mill Colombina pesos (about $1). The show lasted an hour and a half with the performers being highly talented and also fabulous stand-up comedians and even included me in the show to their jokes and called me out in front of the entire crowd because I was the only gringo. We then had a great family Sunday by attending one of the most elegant lookout/restaurants/cafes in Santa Rosa de Cabal called finca del cafe. This week's video will share footage from our time here. In addition, I met for the second time with Father Andres, the father of a catholic church here in Santa Rosa de Cabal. I spent the previous week writing and researching my homework for learning about angels and archangels in the catholic church and writing my notes in Spanish. They can be viewed below.
The father then provided six names of saints with ties to the United States and learned about their history. So this is what I will be sharing with him when I see him again this coming Sunday. Val. I am leaving for Medellin, Colombia, on Sunday and will be there for an entire week for work purposes. This means I will be taking week seven from Medellín, Colombia, hoping to meet up with another student from the March cohort, as he lives there. Ciao for now!
I'd be happy to discuss your project and how we can work together to create unique, fun and engaging content.
Go ahead and click here to be taken to my business service page and see what I can do for you. Book a call with me now. Looking forward to chatting soon!