Blog Layout

Week 18 — Sorting My Way Through Software Engineering: A Week of Learning and Action

Alexander Clemens • Jun 20, 2023

Share

This week marks the second to last week of the Hack Reactor coding Bootcamp! The last of the project work and exams have been completed. This week we had our final exam and our team project presentations done. The last week of 19 is for career services, and everything now is dedicated to networking, keeping my skills sharp, applying for positions, and interviewing. On interviewing and applying, I have used to 50 jobs since just starting last week and got an interview within one day of applying. More details to follow on that interview are below. The following screenshot is from my Huntr dashboard.

Huntr has been provided to us by Hack Reactor for six months and is a job-searching management software tool to keep the process organized. My focus thus far has been applying for jobs on the following websites and along with LinkedIn:

https://www.linkedin.com/

https://app.listopro.com/en/

https://app.usebraintrust.com/talent/dashboard/welcome/

https://remote.co/remote-jobs/developer/

https://remoteok.com/remote-dev-jobs

https://www.revelo.com/

https://remotive.com/remote-jobs/software-dev

https://www.turing.com/

Revelo and Listopro are partnered and have a video assessment process. They have created 23 prerecorded interview questions that you can listen to and respond to in audio or video format. It took me about 3 hours to film myself replying to each technical question. At the very least, it helped me sharpen my perceptive more profoundly on topics or areas of being a software engineer that I hadn’t thought of before and understand the role and tasks on a deeper level.

My first interview from quickly stating the job interview process as a software engineer occurred at 11:30 PM here in Colombia as the CEO is based in Bali. This was for a startup that had just secured seed funding and was looking to have their minimal viable product ready by September and needed a full stack developer to the team instantly. I had a 25 min call with the CEO and founder of the company, and we chatted about the company, mission, management style, and my roles before developing software. The CEO confirmed that the pay for this position was substantially low at $1,500 a month until potentially securing the next round of funding, hopefully by January. Too many individuals in my cohort or other software engineers, and this would be a significant turnoff. However, I’m still interested in learning more about it and chatting with the development team to know more about the role and what they want to create. I already have a good idea of what it consists of, from reaching the company ahead of time and coming to understand the market they are in and what they are looking to create with an on-demand video mentorship plugin that can send and receive payments and built into the most popular social media and communication tools used in society.

I enjoyed chatting with the founder and connected with him about his idea and his goal. Since the call, I didn’t receive a follow-up email to contact his tech lead. Grateful for securing a quick interview from applying early in the job searching process, and I’m prepared for the journey ahead; lessons learned from this were a better understanding of how to address my management style, communicating my value, and learning more about the industry and market of software engineers and technology. I learned about the website https://wefunder.com/home, a platform for entrepreneurs to raise investments for their projects, and I have noted this for further entrepreneurial endeavors for myself in the future.

From the job searching process this week now to what was I learned from this week:

For starters, I have completed the following LinkedIn Learning Courses this week:

Introduction to AI foundations: Machine learning course - Artificial Intelligence Foundations…

After watching this video, you will understand the goals and objectives of the AI Foundations: Machine Learning course…

www.linkedin.com


Overview - Negotiate Like a Lawyer Video Tutorial | LinkedIn Learning, formerly Lynda.com

Join EverCourse and Dana Robinson for an in-depth discussion in this video, Overview, part of Negotiate Like a Lawyer.

www.linkedin.com


TensorFlow: Working with NLP Online Class | LinkedIn Learning, formerly Lynda.com

Learn about using transformers in natural language processing with TensorFlow.

www.linkedin.com


Deep Learning Foundations: Natural Language Processing with TensorFlow Online Class | LinkedIn…

Learn foundational deep learning techniques to classify, predict, and generate text using different neural networks.

www.linkedin.com


GPT-4: The New GPT Release and What You Need to Know Online Class | LinkedIn Learning, formerly…

Get a sneak peek at GPT-4, the latest version of the popular AI software that interacts with large language models and…

www.linkedin.com


Transformers: Text Classification for NLP Using BERT Online Class | LinkedIn Learning, formerly…

Learn about transformers, the go-to architecture for NLP and computer vision tasks.

www.linkedin.com


Applied AI: Building NLP Apps with Hugging Face Transformers Online Class | LinkedIn Learning…

Learn how to build natural language processing (NLP) applications with pretrained transformers in Hugging Face, the…

www.linkedin.com


Introduction to Responsible AI Algorithm Design Online Class | LinkedIn Learning, formerly…

Walk through the steps involved in designing responsible AI and to making responsible decisions. Along the way, check…

www.linkedin.com


Generative AI: Working with Large Language Models Online Class | LinkedIn Learning, formerly…

Explore a user-friendly approach to working with transformers and large language models for natural language…

www.linkedin.com


Jumpstart Your Skills with Large Language Models Learning Path | LinkedIn Learning, formerly…

Large language models are being used for many natural language processing tasks, and expertise in LLMs can give…

www.linkedin.com


This week I spent a majority of my LinkedIn Learning on educating myself about Machine Learning and Large Language Models and understanding how to build my models using the Google Cloud Platform and TensorFlow. It is pretty straightforward, and it is incredible what one can do with a computer and then understand processes. The more I learn, the more I know very little, but also, in working with software and various tech stacks or tools, learning is all about understanding processes and replicating those processes. What continues to pique my interest in Large Language Models is further understanding AI and where my skills as a software engineer need to be focused on to keep myself valuable to the marketplace and stay caught up. It is essential to recognize cycles. For example, AI has been around for quite some time. Since the 1950s and many times, AI has been seen as the hottest thing in the technology and capital market space, drastically changing society forever. If you look on Wikipedia (which has been a primary source for training many Large Language Models that researchers include in their models) in the article titled AI winter periods of hype and great interest in AI have existed before, only to see crashes of interest, funding, and advancements with seven different AI winter periods listed on the Wikipedia article with reduced funding and interest in artificial intelligence. I learned about this article when listening to an episode of The No-Adgenda Podcast by Adam Curry and John C. Dvorak and produced by people worldwide. Highly recommend!

Medium Articles

I read two medium articles this week that really stood out to me.

I’m an experienced CEO. I applied for 1001 positions. This is what happened.

After Covid, enormously tough personal years, a devastating divorce, the full-scale war in my country, heartbreaking…

medium.com


Ted Skyba wrote this article on his documented job search after applying for over 1000 positions and still needs to be given offers. It is straightforward: Ted has over 20 years of growing companies’ products line to be massively successful and has deep experience with startups, mergers, and actions. Life is unfair when viewing Ted’s story because it doesn’t make sense that a company wouldn’t want to have him leading the vessel of their product or team, or maybe it is just life continually placing us on a trajectory of continual deeper learning, asking why are things the way there are and forcing us to sincerely view everything different potential perspective that could exist to a situation to extract and give meaning to the situation to have a deeper understanding of us and the human experience. Nonetheless, it was a read that taught me the importance of documentation in the job search career process and how Ted is making sense of his life, becoming displayed from the war in Ukraine and building himself a new network and the next outstanding chapter of his life. I would recommend reading Ted’s article and connecting with him on LinkedIn to learn more about business, career searching, entrepreneurship, and learnings from a CEO.

Dear Sam Altman- There was never an era of making models bigger

LLMs have never been revolutionary or as game-changing as gurus online would have pushed you to believe

medium.datadriveninvestor.com


This was an article written by a Software Engineer and Machine Learning specialist named Devansh. He highlights the history of how effective Large Language Models work. He calls out Sam Alman’s comments about big LLMs needing to stop developing LLMs and that Machine Learners have also known that throughout large parameters and data into a model doesn’t mean you will get good results and was always doomed to fail. I think this article is thought-provoking to highlight that Open AI has many competitors in a market that has quickly become saturated with numerous models for develops to use and not have to worry about the size of the data being experienced to use because when models have too many parameters to work with they become unscalable and too expensive to operate. This is what Devash is proposing, and consumers would quickly shift to alternative services of open-source models if OpenAI raises prices for the use of their model — a fascinating read after becoming more adept in unseating Machine Learning and LLMs from this past week.


Hacker Rank

This week we were guided to sign up for Hacker Rank and to start on the preparatory material for Python. The significant aspects of Hacker Rank are the number of materials they assist with preparing developers and creating preparatory kits depending on how far out your job/technical interview is taking place. In addition, they offer certification that we have been advised to take and then place on our website and Linkedin.


And now, onto the sorting algos that I learned in more detail this week. They are from questions I worked on earlier this week and understanding what two soring algos were displayed based on watching two Hungarian dance videos depicting a sorting algorithm.

Sorting Algos

Whch algo sorts by repeatedly finding the minimum element from the unsorted part and placing it at the beginning.


Selection Sort

A simple sorting algo that works by repeatedly swapping adjacent elements if they are in the wrong order.

Bubble Sort

Selects pivot element and partitions array around it. Algo is applied recursively to the two sublists.

Quicksort

Repeatedly puts items into different buckets while counting them, then arranges them back into order.

Radix Sort

Divide the list into two halves, calls itself for the two halves, and then joins the two sorted halves.

Merge Sort

Which algorithms use the divide-and-conquer method of sorting?

Merge Sort

Quicksort

Which algorithms should be used only to sort large data sets in practical use?

Bubble Sort

Selection Sort

Which sorting algorithm does the traditional Hungarian dance demonstrate from the above video?

Merge Sort

Is this a divide-and-conquer algorithm?

Yes

Is this algorithm a good choice for large data sets?

It is a very good choice for large, mostly-sorted data sets

Which sorting algorithm does the traditional Transylvanian dance demonstrate from above?

Bubble Sort

Is this a divide-and-conquer algorithm?

No

Is this algorithm a good choice for large data sets?

No, this algorithm should only be used will small data sets, no matter the state of the data

Identify this type of code


Merge Sort because the helper function is using four parameters: values, left, middle and right. This signifies a divide-and-conquer approach to sort an array and has two functions. However the merge sort doesn't always utilize two functions but is a common pattern I have come to recognize when identifying the merge sort.

Bubble sort because it takes one parameter and has a nested loop. However I know bubble sort doesn't always have just one parameters but these are two patterns that I have come to recognize when setting if a code is using a bubble sort algorithm. To note, it does seem bubble sort isn’t used in actual software development because it is very time complexity heavy and mainly is used as a education example in to first understanding sorting algorithms.

The reason why the radix sort algorithm above works is that it sorts the elements by processing them digit by digit.

Based on my understanding, it seems that this piece of code functions as a selection sort algorithm. It continuously sorts the array by identifying the minimum element in the unsorted section and relocating it to the start of the sorted section. This process is repeated until the entire array is sorted.

This is a quicksort method because it divides an array into two sub-arrays using a pivot element and sorts them recursively. The rightmost element is chosen as the pivot, and the array is split into two sub-arrays of smaller and larger values. The process repeats until the array is fully sorted.

Week 19 and time in Colombia

Next week marks the final week of the program and the conclusion to the coding Bootcamp and then transiting to being a full-time software engineer looking for work opportunities and keeping my skills sharp. The last week of the Hack Reactor course is for career services and working with the Career Services Team on interview strategies, job searching, stories and objections, cover letters, negotiating, and applying. This week was also four days, with a Friday and Monday off from the course. To take advantage of this, I spent time getting an extra hour of sleep and going with my family to a new town in Colombia to spend the night at called Cartago. I did not take any videos or photos of my time here. The following picture was from my girlfriend’s phone.

Cartago is a much warmer and dryer climate than Santa Rosa de Cabal, where temperatures in Cartago range from mid-80s degrees Fahrenheit in the day and mid-60s at nighttime. The weather is the same year-round but humid and dry. When visiting this type of clime located in a valley, your sweat all the time, and a pool and air conditioner would be necessary. The city is a great place to retire, and the economy is quite good by Colombian standards. With many residential projects being currently built on and a lively nighttime social scene of parks that have excellent outdoor food, and an area called Parque Lineal that is several blocks long that probably has over 20 different cafes company every sector of the park with chairs and a relaxing and safe scenery with all types of locals hanging out. I would deafeningly consider living there a portion of the year if it wasn’t for the intensely hot weather, as it is very affordable to live there, and according to https://livingcost.org/cost/colombia/cartago, it ranks in the top 5% of the least expensive cities in the world. We went this weekend to visit because my girlfriend’s uncle’s family is moving to this town and is even considering starting a restaurant there, so possibly55 we will be making future trips back to Cartago, especially once we have our car here in Colombia.


If you have taken the time to make it down this far in my write-up, I would appreciate a comment and a follow. To thank you in return I will follow you back. I would be grateful if you know of a software engineering role open; please send it my way! Thank you for your time and nos vemos!

Ready to work with Xander Clemens?

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!

Book A Call
Share by: