CodeLand 2020 - Part 1

Due to COVID-19, CodeLand was hosted online this year. The conference was for 2 days, one for talks and the other for workshops. The first day was free so I was able to listen to some awesome people introduce their thoughts and projects to the tech community.

I've been trying to embrace more online tech events due to being kept from traveling during this time. To be honest, I wasn't expecting much from another online conference. Each one has its similar features. There are usually live chats that end up drowning your messages in the stream of thousands of viewers, something I never had an interest in. Sponsors have their own virtual "booths" to introduce themselves and give away digital swag and the possibility of helping you get a job opportunity in their company. I found these setups to be impersonal and hard to follow. Most of the time I was trying to have sponsors open in one tab with the live stream in another, and it wasn't the sort of scheduled view of watching a speaker and then moving on to talk with other devs. Everything was squished together and I didn't enjoy it.

So, yeah, I didn't think I would be very impressed with CodeLand 2020's set-up.

I'm happy to say that I was sorely mistaken.

DEV's platform was perfect. Each speaker had a blog post for their slides and recorded video to be reviewed and referred to for someone that couldn't stay on the live stream all day (like me). The designated times for each presenter were listed along with a link to their post. I didn't see the scheduled times shown until the start of day 1, but was glad nonetheless.

I bookmarked everyone's talk and wanted to give a brief description for each one. This is a 2 part post because there are a lot of talks to go through.


Being Utterly Fearless in Your Pursuit of Learning to Code with Alex Morton

Alex is a first-time speaker who did an amazing job at presenting her experience in how she started her interest in coding and what keeps her motivated.

When she was in her remote job in a start-up working in customer support, she would notice that the engineers would usually celebrate when an update or feature had been pushed out. There's a question that came to her when this happened: "Where are all the women?". This thought isn't new in the tech industry. There's still a small percentage of women in engineering in companies. After coding as a hobby for about 1.5 years, Alex chose to learn programming full-time.

While on her coding journey, Alex had 5 nuggets of wisdom to share:

  1. Cultivate your why: When working in her job, she noticed there weren't really any women in these engineering teams. This helped motivate her to try coding and see what it was all about, not to mention make herself more marketable. Also, your reason why should be unique to you, but connect to something bigger.

  2. Err on the side of taking action: Reject perfectionism and take the next step. Perfection is overrated and if you are always hesitant to take the next step, how can you ever improve?

  3. Dive in and identify your knowledge gaps: Trust your curiosity and move away from tutorials. Tutorials can be helpful to introduce a concept, but your interests should help guide you to what you want to learn and understand.

  4. Be the creative director in your own life: Pursue creative impulses and chase your mindset. Only you can decide what you learn and how hard you work. The decisions you make should help you get to where you expect yourself to be in the future.

  5. Play the long game and have fun: Build systems and habits and embrace your unique journey. You should be enjoying what you are working on and give yourself a break when you need - for as long as you need it. Do not compare your journey to anyone else's.

Alex also has created the Ladies Code Collective Podcast for women learning to code and embracing their creativity.

View Alex's talk here .

An Introduction To IoT with Joe Karlsson

"It's just the internet but with 'things' on it."

-Joe Karlsson

Internet of Things (IOT) is a way to connect the internet to objects for different uses. I have seen it used for some very useful inventions but - as Joe liked to point out - the weird art projects people have made with IOT are just as interesting.

Joe gives the recommendation to use JavaScript and Node since JavaScript is so commonly used and apparently 50% of IOT developers identify as Node developers. Why teach yourself a whole new programming language to learn abut IOT? It's way too much of a learning curve. To start out in IOT he recommends just trying to get a LED light to blink - the version of a "Hello World" project.

I found Joe's enthusiastic personality to learning about IOT to be very encouraging for anyone hesitant to venture into this field for the first time (like me). Don't put so much pressure on yourself to think of a new app to monetize, just build a "stupid project". Something that interests you, regardless of whoever else will think it's cool. As an example, Joe presented his IOT kitty litter box project which would send data to MongoDB on the current weight of the litter box through a bathroom scale beneath the litter box.

View Joe's talk here .

Working Smarter: 5 Steps To Getting Unstuck with Rukia Sheikh-Mohamed

Rukia started her presentation by telling a story of being a junior developer working with a bunch of full-stack developers. When speaking to one of them about a coding problem she was stuck on, they said to her "you are not asking the right questions". This response made her question her tech skills which motivated her to become more unstuck from her problems.

She created this this 5-step plan to getting unstuck when coding:

  1. Start by doing your own troubleshooting.

  2. Google very specific queries: Instead of googling your own console errors with copying/pasting, ask questions that include the framework, language, and tool specific to your situation. Stackoverflow and DEV are 2 of the resources she mentioned when solving your problem.

  3. Look at other pieces of the puzzle: Zoom-in to understand what logic the code is enforcing, then zoom-out to look at other files that touch this code.

  4. Ask someone: Rubber ducking can simply help you solve you problem by speaking it out loud. Ask open-ended questions.

  5. Step away: Give your brain a break. It's not healthy to work non-stop at a problem you're struggling with.

While there are so many talks introducing different tech and projects, I welcome a speaker breaking down the steps to being unstuck in your coding journey.

View Rukia's talk here .

Freedom of Security with Paula de la Hoz

Paula is a hired hacker by companies and her presentation was a beginner introduction to cyber security.

I learned abut the different cyber security roles - red team (attacker roles), blue team (protect against red team), purple team (extensive attack knowledge to both attack and protect) and some of the history of cyber security. It seems those in this field are encouraged to share their knowledge with others, similar to other fields of tech I've seen.

Paula showed quite a list of the different tools used to gather information of a client's company to see if users are ready for an attack with scam emails and other techniques. Hardware like Arduino and Raspberry PI are common to use when testing.

Paula introduced many different technical concepts and sites that were completely new to me like Metasploit when new to cyber security and PortSwigger as a resource to better understand web security.

View Paula's talk here .

The Cost of Data with Vaidehi Joshi

Vaidehi goes over how data is stored and what it takes to manage these physical servers that are referred to by most people as "cloud providers". This topic is something I've never given much thought about before.

I learned more about how "green" these cloud providers are by their grade and what well-known providers like AWS, Microsoft Azure, and Google Cloud are doing to better their carbon footprint. Some companies are solving this problem by storing data centers in colder climates while others are recycling heat waste for other uses.

She shared a few resources to provide more information about the real cost of our data:

View Vaidehi's talk here .

The Art of Programming with Erika Heidi

Definition of art by the Oxford Dictionary:

"Works produced by human creative skill and imagination."

While pursuing a degree in Computer Science, Erika struggled in the math courses but excelled in the coding classes. She ended up abandoning the degree and instead decided to read about coding to better understand how much art is in programing.

Erika spoke about the history of coding and Margaret Hamilton who was one of the first programmers working in software development. Margaret regarded programming as an art and not a science.

This concept helped Erika understand that coding can be considered art because it's a creation. It's not perfect, not everyone will agree with what you make or understand what you did, but it's yours.

Programming is art built on top of logic.

View Erika's talk here .

Salary Negotiation for People That Hate To Negotiate with Josh Puetz

If you get to the final stage where you are offered the job, it's hard to seem as if you're looking a gift horse in the mouth when it comes to negotiating your salary with the company. You don't want to disappoint them, but choosing that makes you end up disappointing yourself in the long run. Josh presented a very informative and encouraging talk about how to negotiate effectively. Salary negotiating is tough to do and goodness knows I didn't think to do it at the start of my software developer career.

He outlined everything from researching your worth before even reaching this stage of the job interview to what should you do if their counter offer is above or below what you deem the minimum respectable salary for yourself.

One thing I will follow from now on is to never give the first number. This advice doesn't only apply when speaking to companies, I've seen application forms that require this answer in order to just apply for the job. This obstacle is also shown with recruiters who think it's appropriate to know what you're looking for in order to know what companies to match you with.

View Josh's talk here .

Using Cognitive Services and Mario Kart to Create "Astrology" with Chloe Condon

Chloe once sent out a tweet stating that choosing a Mario Kart player gives a lot about your personality. This comment got a few people asking what their chosen character said about them. This led to a friend of hers creating a GitHub page based off her replies.

She decided to use the Microsoft Face API to actually read the data of a character's facial emotions to write a creative horoscope describing what kind of person normally picks a specific character and posted it to her GitHub page .

Unfortunately, the API couldn't detect faces from animated cartoons (that would be cool though). So she decided to find cosplays of Mario Kart players that had the most accurate portrayed emotions like their character (for example, Bowser is grumpy so a cosplay player portraying grumpy would be good for him).

The Face API is useful in detecting faces in images and returning rectangle coordinates of their locations. It even breaks down the character's facial expression by estimating how much disgust and other emotions make it up as well as accessories and facial hair and returns it in a JOSN object.

Chloe gives a link to try facial recognition on your own and for someone who has never considered looking at this sort of technology, I'd like to try it and see if it sparks any ideas for future projects.

I also learned about the NES.css CSS Framework which gives you the style of old retro games. Cool!

View Chloe's talk here .

The Whale, the Container, and the Ocean - A Docker Tale with Nick Palenchar

I started using Docker in my previous job and vowed to understand it better...well that goal hasn't been reached yet, but Nick's talk has been a lift of encouragement to try again.

Nick explains the basics of understanding what Docker is through storytelling.

There are 3 key parts:

  • The Whale: The Docker Daemon that exists on your machine.

  • The Ocean: Your computer, which is the whole environment we get to work with.

  • The Container: What we're trying to make, the end goal.

There are many steps to follow before the container and Nick goes about this by explaining what Docker commands he uses as he goes.

He mentioned some useful tips like saying the whale (Docker daemon) only "floats" on the ocean (our computer), it never dives into it. This explains how the Docker daemon doesn't have access to your whole computer, it only sees a specific section of files.

I've bookmarked this talk for future Docker learning and am really thankful for Nick's basic beginner story for newbies like me.

View Nick's talk here .
Read part 2 here