How Codeup Alumni are Helping to Make Water

Codeup Alumni Help Make Water featuring Jacqueline Murralles, James Murralles, Ted Zamarron, and Carlos Teller

Imagine having a kit mailed to you with all the necessary components to make contaminated water clean. Cool, huh? Four of our alumni are helping to make that possible by partnering with the non-profit Elequa to design a website for their Make Water program. With this project, these Codeup alumni have the potential to make a global impact: Jacqueline Murralles, James Murralles, Ted Zamarron, and Carlos Teller. 

How Elequa is Making a Difference

The Make Water program inspires, educates, and equips people that want to make a tangible difference in the world. Elequa puts together DIY kits with the tools to purify water and delivers them to people that need them, locally and abroad. This project is also given to students in the San Antonio area, who in turn are challenged to research, tweak, and further develop the kits to make them better and more accessible. These problem-solving challenges engage students in the STEM field, inspiring teamwork and collaboration while making a difference that they can be proud of: helping to provide clean water.

How Codeup Alumni are Making a Difference

Currently, the Make Water program lacks a platform to house and share the data gathered by students to improve the kits, while also challenging other community members for further development. They needed help with the gamification of these processes to make participation more engaging. That’s where Codeup alumni Jacqueline Murralles, James Murralles, Ted Zamarron, and Carlos Teller came in. They are helping Elequa to build an open-source application for the Make Water program that turns community participation into a game where users can level up as they contribute and collaborate through an array of real-world challenges in water research, coding, hardware innovation, and creative storytelling.

Did we mention that they are working on this project as volunteers, as Codeup alumni often do? Codeup students are always looking for ways to challenge themselves, sharpen their skills, and make a difference, and that continues after graduation. To see more of the projects our students have worked on (and what you can do, too, with Codeup), check out these capstone presentations.

Alumni Share their Journey into Web Development

Alumni Bridget Mills and Eddy Bautista Share their Journey into Web Development

Everyone starts somewhere. Many developers out there didn’t grow up wanting to code. It’s something they fell into over time, much like two Codeup alumni, Bridget Mills and Eddy Bautista. These two software developers graduated from our Web Development class in December 2019. They came back for a virtual panel event to share their journey into web development and to give advice to people wanting to become a software developer.

 

What were you doing before Codeup?

Eddy had been a sales assistant for years and was a student at San Antonio College studying Kinesiology.

Bridget worked at a courthouse, but those career plans were altered after becoming a military spouse and moving. She went back to school for a degree in Information Technology (IT), specializing in System Engineering, and became an IT Specialist.

 

What led you to a career in coding?

When someone he knew mentioned coding, Eddy learned all he could and coded for three days using online courses and tutorials. He immediately knew this was what he wanted to do as a career. 

While Bridget was working at the lawyer’s office, a development team came in to help with court systems. She asked them questions and became fascinated by what they were doing. After deciding not to pursue law, she decided to go back to school for IT. Her job as an IT Specialist isn’t exactly what she had in mind, but her degree didn’t offer the coding experience necessary to become a developer, which was her true end goal. Even after moving to Hawaii and having two kids, that dream persisted. Her cousin, a developer, mentioned that some of her coworkers went to a coding bootcamp. With another kid and another move on the horizon, she decided she would enroll in a coding bootcamp when her family settled down in Texas. 

 

Why Codeup?

While researching how to become a developer, Eddy found Codeup. Our culture stood out to him, the admissions team was helpful, he liked that we offer help with the job search through resume assistance and interview training, and he really liked how plugged in we are to the San Antonio technology scene. He felt all the pieces coming together and could picture himself here.

For Bridget, it boiled down to the curriculum and hands-on experience. When she was in college, she learned a lot of theory, but didn’t get experience actually coding, which, as she learned the hard way, is what employers are really looking for. She looked into some options for coding bootcamps and Codeup stood out to her. It was big plus that even as a military spouse, she was able to use VA benefits. She loved our assistance with job placement, and noted that she had gone to school twice and neither college offered anything like that. 

 

What’s a typical day for you?

Currently, both panelists are working as developers for VIA Metropolitan Transit. Due to COVID-19, they’re both working from home.

Eddy usually starts his day early with a coding challenge on a website like Codewars. He has a virtual meeting with his mentor to discuss some code. For most of the day, they solve a problem or do some pair programming. They also have team meetings and daily standups.

Bridget is currently leading an Artificial Intelligence project with VIA that takes up most of her time. She usually has virtual meetings with members of her team, other teams at VIA, and contractors. She does documentation and uses programs to update the current status of her projects for the team to see. 

 

How is the work-life balance?

Coding is a hobby for Bridget. She takes her laptop with her from room to room, sometimes coding with her child in her lap. She loves it so much, she often works late unintentionally until her kids come in the room to check on her. Because of this, she doesn’t feel completely balanced but knows that it’s only because she loves it so much.

Eddy feels similarly, stating that when they do work late, it’s usually because they want to. The work-life balance has been good for him.

 

What advice would you give to someone thinking of attending Codeup’s Web Development program?

Bridget was nervous coming into Codeup, but it gave her everything she was looking for. Part of why she wanted to be a developer was because she thought they get to sit around alone, not having to interact with anybody. She very quickly realized this was not the case. “You have to speak up and you have to do it well, and often, with a lot of people. You’ll have to work hard, beyond the regular hours. Take advantage of all the resources. Schedule some meetups with peers to work together outside of class. It’s so worth it in the end. Just go for it!”

Eddy learned that keeping a part-time job is possible but really, really hard. He was one of the only students ever to finish Codeup while working a job, rushing to work right after class. He regrets doing that because he missed out on socializing and working together after hours. But when he had time, he always tried to work with other students to solve problems together, and encourages the same in others. “Break out of your comfort zone and don’t be scared to just start from where you are. The first couple weeks will be really hard, but learn to fall in love with the feeling of being stuck, because eventually you’ll be able to solve it.”

Bridget and Eddy are working together at VIA, but took very different pathways to get to where they are. Eddy hadn’t thought much about coding before deciding to dive right into it, whereas Bridget wanted a career as a developer for years. Whether coding is something you never gave much thought to or you’ve tried a different route before, you, too, can make a transition into web development with Codeup! If you’re interested in starting a career that you love in an ever-growing industry, apply today

The Best Path To A Career In Software Development

“Don’t I need a Computer Science degree to get a job as a software developer?” As a non-traditional educational model, we hear this concern a lot. Prospective students often compare us to four year degrees in CS with the concern that lacking a piece of paper and formal degree will prevent them from getting a job. We’re here to tell you once and for all: college is NOT the best way to become a software developer.

For the avoidance of doubt, there is a lot of merit to a four year degree, as well as a lot of valuable knowledge from a CS program that can apply to life as a developer. However, if your goal is to get a job as a software developer, there’s a more direct path.

Think of it this way:my plumbing is old and broken, and I need to replace it all. I hire a PhD in Fluid Dynamics – someone who really understands flow, gravity, resistance, momentum, and all the intricacies of what’s happening in my pipes. They come and explain how everything is supposed to work in my new pipes, charge me $5,000 for their time, and then leave. With my pipes still broken, I decided to hire a plumber – someone who knows how to identify the problem and fix it,and a week later my plumbing is fully functional and I’ve only spent $2,500. [Note, we kind of made these numbers up to illustrate a point. After all, we’re no drain surgeons.]

The message here is simple: theory is not the same thing as practical experience. With the rapid growth in web and IT, we’re no longer just dealing with cutting-edge technologies. Development is becoming the new blue-collar factory work, and the amount of code out there is astounding. It’s no longer as important to have high-level abstract education. Instead, the top priority is up-to-date practical experience.

Now, let’s get more specific. Why exactly is a coding bootcamp the better way to get a job as a software developer?

#1 Technologies: Technology changes at the speed of light. One day the popular framework is Angular, and the next it’s React. In one generation, companies are building with C++ and in the next they’re building with Java. Because of this rate of change, it’s hard for traditional learning environments to keep pace. While they continue to teach C++, we’ve moved on to Java with a Spring framework and MySQL database. Because we’re more agile, we are able to keep pace with industry trends.

#2 Curriculum structure: Have you ever watched Top Chef or The Great British Bake Off? You were probably pretty entertained, but how did that seared Ahi Tuna with orange mint avocado salsa and balsamic vinegar reduce amuse-bouche turn out? The sad reality is, watching experts do their thing doesn’t make you an expert. Nor does listening to lectures. Our program is built around the concept of praxis, which is essentially the practical application of theory, or the blending of theory and practice. Half of your 670 program hours are spent actually writing code, so you develop the muscle memory and experience of programming. This career is like an old-time trade, like becoming a blacksmith: you have to learn from masters and practice, practice, practice.

#3 Job placement services: If education is your goal, stop reading now. If a career is your goal, then you’re in the right place. Most undergraduate institutions have career service offices where you can get advice on your resume and attend job fairs. But Codeup makes you a promise: get a job after graduation or get 100% of your money back. There are no two ways about that: our singular focus is your outcome. Unlike traditional institutions, we sell jobs, not education. 

#4 Programming hours: This is similar to number 2, but so important that it’s worth repeating. The single most important thing a would-be developer can do is spend time writing code. Practice, practice, practice is the lesson above all else. You need to engage with the problem-solving cycle, learn how to fail, and learn to overcome the barriers inherent in programming. It’s a lot like learning an instrument. When you start out, you struggle to play single notes. You then practice scales and exercises, and before long you’re playing songs, thinking about the intonation and sound over playing the notes. With programming, you need to spend hours to get the basics under your fingers in order to graduate to complex problem-solving and application development. At Codeup, you spend 670 hours in hands-on, instructor-led classroom time. For those of you who like math, that’s roughly equivalent to the number of hours in a four-year degree. It just happens in 5 months, and those hours are hands-on.

If you’re still not convinced, consider the story of Po. Po graduated from Trinity University with a 4 year degree in Computer Science. He graduated with a good GPA, but couldn’t find work as a web developer for a whole year. Companies told him he didn’t have enough full-stack experience, a big enough portfolio, and was lacking modern technologies and languages. So, he came to Codeup. He paired his theory knowledge with our practical knowledge and landed a job immediately upon graduation. Since then, he’s moved to Dallas to join Cognizant, where he’s been able to double his salary and move into a new position as a lead developer. Learn more about Po’s journey here.

So, you want to be a software developer? A career accelerator like Codeup is the path for you. Still not convinced? Contact us and we’ll talk it out.

Hey Dallas, Meet Your Software Development Mentors!

We may be new to town here in Dallas, but Codeup has a long history of training software developers. After launching our first class in February 2014, we’ve now successfully trained 574 alumni. So while the streets might look different around 75202, the code looks the same. To anyone nervous about trusting us ‘newbies’ with your careers, meet the incredible team of software development mentors you’ll get to learn from. 

Professionally, Douglas Hirsh and Fernando Mendoza have over 30 years of industry experience between them. They’ve worked at household names like CitiBank and bring a wide range of diverse industry experience across gaming, oil, and SAAS. Combined, they also bring nearly 10 years of formal teaching experience. Fernando worked as an instructor over the weekends while he was going through University for four years, and is also one of our most tenured instructors with almost 4 years of Codeup experience under his belt. PS, that’s over 20 cohorts and 400 students! Douglas is a life long mentor, but also taught at another coding bootcamp earlier in his career before joining Codeup.

Technically, the pair is experienced in a wide range of languages and technologies, including: 

  • OOP and back-end tech: PHP, Java, C#, Ruby, Node.js, Visual Basic, VB.NET, Andriod Development
  • Database tools: MySQL, MongoDB, PostgreSQL, SQL Server, Oracle
  • Front-end technologies: JavaScript, Angular, React, HTML, CSS, JQuery, Ajax, PWA apps
  • Web frameworks: Spring Boot, Laravel, CodeIgniter, ASP.NET Web Forms/MVC/Web API
  • Testing tools: JUnit, PHPUnit, NUnit, MSTest, Jasmine

But what’s our favorite part of this dynamic duo? They come from opposite ends of the development world. 

Douglas is a self-taught programmer. He started self-teaching at the age of 12 with a C++ book, and by the time he was 19 he was being paid to write code. Over the next 18 years, Douglas worked his way up to a Senior Developer and even a Chief Technology Officer. So although he wasn’t formally trained, Douglas knows not only the ins and outs of software development, but he also knows first-hand what it’s like to self-teach, learn on the job, and follow a non-traditional career path.

Fernando has also been programming since he was 15. He then received his BS in Computer Systems Engineering from the Institute of Technology in Uruapan, Mexico. Over the next 12 years, he progressed from a Jr. Developer to a Senior Web Developer. He even has his own freelance web development agency. With his formal background, Fernando brings deep expertise in software architecture, database design and administration, and CS theory.

When you join Codeup Dallas, you first and foremost join a classroom to learn alongside Senior Developers with 30+ years of practical experience and 10+ years of teaching experience. Contact us today to learn about kickstarting your career in software development in the quickly growing Dallas market!

Join us for our next learn to code workshop, where you will get to meet and learn from your Dallas software developer mentors! Click here to find workshops and more at our Codeup Dallas campus. 

Coding Resolutions for the New Year

Codeup Veterans Scholarship | Code Tech Bootcamp

By Joyce Ling

For many people, January is a time for new beginnings. People commit to losing weight, learning new things, establishing new budgets – it’s a time of action and hope. In this article, I’d like to share a few ways that have helped me improve my coding and might give you some ideas to implement for 2019!

1. Kickstart with a 30-day challenge.

“Good seasons start with good beginnings.” – Sparky Anderson

Why do a 30-day challenge?

Although the process of learning coding is a marathon and not a sprint, there’s something to be said for short bursts of productivity like a 30-day challenge. For one, it may be an effective way to just get started on something you have been meaning to do for awhile, and as Mark Twain noted, “Half of getting ahead is getting started.”

On top of that, it gets rid of any excuses about “not having enough time”. Because it’s a short sprint, most people will begin prioritizing it differently. As different items on your daily to-do list begin to demand your time, you begin to prioritize the things that matter. Especially if you are a goal-oriented person, the satisfaction of completing a challenge like this may force you to prioritize it over other things. This may be the impetus you need to create lasting habits, ideally even after the challenge is over. However, over-enthusiastic participants may have to be wary of burnout or of a short-term “high”. Make sure to use that momentum and keep on keeping on!

3 Challenges to Try

If you Google “coding 30-day challenge”, a multitude of options pop up. These challenges hypothetically can be done at any time, but doing it in January can be a powerful experience as you make a commitment to investing in yourself in 2019. Some popular coding challenges include the #Javascript30 by developer Wes Bos, the 30 day challenge at TechGig, and the 30 Days of Code by HackerRank. The first challenge is specific to Javascript, but the latter two challenges allow you to choose from a variety of languages to complete the challenges, so choose your best language and get coding!

2. Commit to coding every single day.

Success isn’t always about greatness. It’s about consistency. Consistent hard work leads to success. Greatness will come. Dwayne Johnson

Slow and Steady

For those of you that are over the 30-day challenge hype, simply commit to coding every single day of 2019. If you’re like me and have a bunch of grandiose life goals for yourself such as “Speak French fluently” and “Be able to program any full stack application”, you may also have to be reminded that these grandiose goals can only be reached by consistently chipping away at it on a daily basis. It requires you to embrace mundanity and discipline.

Set Yourself Up For Success

A neat life hack for making this goal a reality is finding a habit tracker such as HabitBull or Habitica. Both of these apps allow you to customize habits that you would like to form and track how often you complete those habits. Habitbull generates statistics and graphs for the frequency of completing certain habits, while Habitica promises to “gamify your life”. Although this option may no longer be available for purchase, take a look at Simone Giertz’s Kickstarter for a 365 calendar here. This is a visual example of what completing a full year’s worth of coding can look like.

If you dedicate yourself to coding every single day, you may be surprised at how much progress you’ve made by the end of the year. Even extremely successful individuals such as Josh Bosquez, the Senior Vice President of Engineering at my company, Armor, has shared that he still commits to coding every single day even if it’s only one line. No matter what your coding experience level is, making it a priority to code every single day can only benefit your growth as a programmer.

3. Learn a new technology.

No matter what, you’ve got to always follow your passion in life and always keep learning. Harold Hamm

Technology is developing rapidly, and developers are constantly enhancing and creating frameworks and programming languages. For example, if you’re even slightly involved in the coding community, you would probably know that for front-end frameworks, React and Vue have recently exploded in popularity. In order to stay relevant and continue to develop marketable skills, make an effort to stay up to date about news and trends in the programming world and keeping your skills sharp.

What To Learn Next

If you’re just starting out with programming and feel that you have reached a plateau, many more experienced developers will recommend learning a second programming language to reiterate what you know and simultaneously enhance your understanding of programming on a deeper level.

However, learning a new technology includes more than just learning a new programming language or framework. Explore what’s interesting to you. Have you always wanted to look into artificial intelligence and machine learning? Or are you interested in the cloud and learning AWS? Or maybe you’ve always wanted to learn more about developing mobile applications.

Commit to an actionable goal by either taking a course for a specific technology you want to learn or by studying and passing a certification. If you work for a company, it may be worth it to see if your manager agrees to help pay for additional learning or certifications.

4. Build a project from scratch.

The best way to learn is by doing. The only way to build a strong work ethic is getting your hands dirty. Alex Spanos

If you’ve decided you want to learn a new technology, the above quote by Alex Spanos is the perfect way to gain that proficiency. This can be done on your own or with a group of friends for accountability. One specific resource I always like to recommend is Chingu. This international group of developers goes through “Voyages”, a process which encompasses project planning, developing, testing, and launching an application, specifically with the end goal of learning or practicing a new technology. Many of the participants are full-time software developers, but the collection of individuals is usually diverse. This organization is mostly focused on front-end technologies but they also have data science/design tracks in development. Check out their website for examples of previous projects teams have built and details on how to apply.

5. Pass on what you know.

You’re never too young or too old to be a mentor. Reshma Saujani

Even if you are just starting out, there are usually local organizations that need volunteers to mentor/facilitate learning for youth. In San Antonio I was hired part-time by Youth Code Jam, a non-profit that organizes and plans pop-up events and hosts summer camps in order to educate youth in topics related to technology. Currently, in Dallas, I volunteer with Bold Idea, a local organization that teaches kids to code, as well as facilitate a Girls Who Code group at a local library.

Benefits of Mentoring

Although I don’t consider myself yet to be a very experienced developer, seeking these leadership roles is more than just a resume builder. Because I have participated in these opportunities, I’ve been able to expose myself to a wider variety of technologies such as block-level coding in Scratch, or creating Minecraft mods in Python. Additionally, it’s a great way to network and meet people who are also interested in or work in the the technology field. Most large cities have similar local nonprofits or a chapter of a national organization such as Girls Who Code. If none exist, start one!

6. Find a community.

Every successful individual knows that his or her achievement depends on a community of persons working together. Paul Ryan

Although flying solo works for some, I have always found that having a tight knit community of motivated developers to consistently code with has always helped me grow. When I was participating in Codeup, some of us would form study groups or code together on projects after class at the local co-working space, Geekdom.

Where to Look

Although the community that is available at a bootcamp is not available to everyone, I would recommend searching Meetup.com for technology networking groups or programming specific get-togethers. Alternatively, make sure to check for a local chapter of FreeCodeCamp in your city. Other places to look include maker spaces and co-working spaces, both of which are communities that developers are typically drawn towards.

If both of those options come up empty, then start a group! Create a space for people to get together and work on their projects – invariably, you will draw like-minded people towards you.

[rev_slider alias=”footer”][/rev_slider]

Don’t Be Scared of Coding

 

Halloween Dancing GIF
When you’re scared to run your code, and it works the first try (Halloween style)!

When I first started as a developer I ran into some scary scenarios. My code was very error prone and I created some functions that I was expecting a string as the output but I got an object. It was very frustrating and I wasn’t even sure I would be able to understand software development let alone have to go and fix my code. My nightmare scenario was to be hired on as a developer and then have to troubleshoot, a.k.a. debug, some other developers code😱😱😱. I think most junior developers have had shared my fear at some point in their career. I was taught to heavily rely upon outputting your results to the console whether its good or bad to help troubleshoot.

In this post I will do my best to help calm the fears of my fellow junior developers with helpful debugging tools and hopefully transition away from relying upon console.log(). While my focus will be on JavaScript these tools can easily be translated to other languages.

Logging output to the console isn’t always helpful

For the longest time console.log() was my go-to when I needed to debug JavaScript code. It was my developer friend who told me what was wrong with my code and was never judgemental . I will admit that there are few scenarios where it is “OK” to output the results of a function to the console.

Except more recently, I have found using console.log() to be less useful when debugging and only making things worse by expecting a good outcome and then disappointing me. Like an expired $5 Amazon Gift Card (Thanks, grandma). Take for example, this gem:

Object doesn't support property or method 'from'

That lovely error is from IE 11 which does not support Array.from(node List) prototype without a shim/poly fill that is available here.

However, I have come to find out that logging errors to the console is either inefficient or completely irrelevant to what may actually be causing the problem in your code. I will admit that some errors are easily resolved by reading the output of the error message and fixing the typo or following the instructions of the error message to help resolve the problem.

So in the image above we are shown a node item which has so many properties that you might not be aware of, which renders console.log useless. You have to know ahead of time what value or specific attribute you are trying to output which requires some abstract thinking or referencing documentation to identify this property. Now using the console.log will output all the entire properties of the node item but its an unnecessary step to add in this line of code while you debug and then go back and remove the line of code.

“You don’t know what you don’t know” -Bill Parcel (Head Coach New England Patriots)

The error the console outputs might provide you with the location of the error, but you may not know why are you getting the error in the first place. Maybe you’re passing the incorrect value to the function or you are working with event handling and bubbling events.

Either way, chances are that you aren’t thinking about that one property that is actually passing the value your expecting because you weren’t aware of how to call it or pass it along.

I’m going to piggy back off of Mozilla’s Debug Playground as an example for why you shouldn’t use the console and instead use the Browsers built-in debugger or equally as helpful is an IDE’s built-in debugger.

cough cough Visual Studio Code cough cough

 Now, whether you prefer Chrome over FireFox is a whole different can-o-worms.

IDE Tools and Online REPLs

“Hey man, I’m a back-end developer and so I need to console.log”

-Fictional Backend Developer

So maybe you don’t have a fully fleshed out web form or you’re trying to get data from some API or JSON file. You need to see data from the function you’re writing or better yet you want to test a function that someone else wrote without having to clone the entire project. Using console.log() seems like the go to. In fact, around ¾ of Node.js developers report using it (in 2017) for finding errors in their applications.

I’m here to tell you of a few better ways to debug your code.

IDE Tools

The first tool I have come to love and trust is one made by a company called Wallaby.js

QuokkaJS (Integrated Scratchpad for JavaScript)

With this plug-in you can write your code and get immediate results. No need to throw in a bunch of console.log’s in your function and check the output. It has an integration for VSCode (💖💖💖 ), JetBrainsIDE and Atom. I personally have purchased a pro license but for the most part the community version will work just fine.

SonarLint ( Like spellcheck but for your code)

I think all developers should have some sort of code linting tool added into their IDE. This helps review your code in real-time and “should” prevent you from compiling or running code with errors in it. I’ve chosen SonarLint because its given me better results than ES6 linter or some other linting tools that i’ve tried. I’m not saying its the best or that the others don’t work but I haven’t had to configure much other than just installing the extension.

Scratchpad (Built-in Browser Javascript sandbox)

Mozilla also offers a feature in their DevTools that allows you to write, run, and view the output of JavaScript code that can interact with the current web page or not.

REPLs

I have a background in .NET development and I have fallen in love with Microsoft’s F# Language along with the fsharp community. While going through the documentation I was introduced to a new term, REPL.

REPL stands for: Read-Evaluate-Print-Loop.

“ In a REPL, the user enters one or more expressions (rather than an entire compilation unit) and the REPL evaluates them and displays the results.” -Wikipedia

So I thought, this was cool and I used my Googliness™️ to search for an online version or service and so I came upon THIS.

REPL.IT

I don’t need to console.log my output or assign the function to var result = greeting() and then console.log(greeting("Jessica")) . I just write my function, invoke it and BOOM! I get the output without the need of console.log() .

Repl.it supports many languages!

I can even create a Repl, write some code and share the link with someone that can give me feedback, Brilliant!

Coincidentally, Repl.it uses Monaco, which is the same Editor that VSCode uses.

Finally, for the developer on a budget (including myself) most popular IDEs have a built-in debugger that works the same was as the debugger in Chrome or Firefox.

I’ve kindly added links to How-Tos: For a few IDEs (don’t get mad if your IDE is not listed, I’m looking at you Atom IDE community).

Debugging in VSCode 

Debugging in JetBrains IntelliJ

Debugging in Visual Studio

Final Thoughts

So why have I gone through the long winded trouble of explaining / trying to convince you why you should wean yourself off of using the console.log and embrace debugging tools? How was this suppose to make you feel better / more confident in writing code?

The short answer is: I believe having more information and proper tools “should” make coding, and for that matter debugging, less daunting / scary.

Use of widely available, open-source debugging tools is key to be more familiar with software development and to grow as a developer.

[rev_slider alias=”footer”][/rev_slider]

Debugging with Codey the Rubber Duck

By Jennifer Walker

I first encountered rubber duck debugging while attending Codeup. Each student had a duck at their seat on the first day of our 18 ½ week advanced full stack web development boot camp. The expression of each duck varied, but they all stared quietly and blankly at us as we took in our surroundings with excitement and anticipation. At the time, I had no idea what it was for or why we needed that bath time friend. Now I do.

Part of what I love about programming is the problem-solving. However, in the attempt to figure out a software solution the developer very often can get tunnel vision – stuck on solving a problem the same wrong way or just get stumped with no real direction. This is where rubber duck debugging is the most useful. It originated from a book called “The Pragmatic Programmer” by Andrew Hunt and David Thomas.

Rubber duck debugging is simple. It includes taking the problem you are trying to solve and explaining it out loud to the rubber duck. This may seem silly because most of us have not talked to inanimate objects since we were kids. However, by doing this it forces a developer to think in a different way and to look at an issue under a microscope. Talking out loud activates a different part of the human brain, which very often helps the developer solve a problem without ever talking to another person. It keeps us from wasting our own time and the time of others when the solution is right at our fingertips.

I have experienced this phenomenon myself when I try to explain aspects of programming to people who are not programmers. It forces me to think of programming in a different way. I have to lose the acronyms, and just speak plain English to a person who isn’t such an avid techie like myself. When I do that I walk away with new knowledge and a refreshed passion for what I have been discussing.

Codey, Codeup's Mascot
Photo: Photos By Marvin Pfeiffer / Staff Photographer

I also learned later that the rubber duck is the official mascot for Codeup. His name is Codey and he has a special meaning to me beyond just rubber duck debugging. I began to sketch him on the first day of class. Over time he began to express my struggles and triumphs while learning to code. He came alive for me and became a student of Codeup alongside me during my time there. If I had a bad day, he totally understood because he was in the fire with me. If I struggled to understand a concept, he got that too and listened while I talked to him about what I was trying to do. Now, as a proud graduate of Codeup working as a software developer at a fantastic company, I keep Codey with me. He is in my car and at my desk at work. He also sits on my desk at home – waiting patiently to hear my struggles and what I am trying to solve for that day.

If you do not have a rubber duck for debugging, I suggest you go out and get one!

5 Hiring Trends in Software Development

5 Hiring Trends in Software Development

 

Companies (and ideal candidates) care about solving problems for the end user.

Hiring needs in the tech industry – specifically on software development teams – evolve almost as quickly as the technologies themselves. One year employers are trying to get their hands on Ruby developers, and 12 months later, a new JavaScript framework is all the buzz. This doesn’t make things easy for job seekers or new employers looking to hire their first software developers.

Drawing on conversations with our 200+ employer partners at Codeup, we’ve compiled a shortlist of five trends we’ve seen emerge recently. In a nutshell, it’s all about solving problems for the end user.

The growing popularity of Agile has created more opportunities for full stack developers.

First, what is Agile? In a nutshell, it’s a set of management practices that allows software developers to write code and build products more efficiently.

Agile has gained serious ground in IT departments across a variety of industries, from finance to food service. While Agile doesn’t explicitly require a team of full stack developers, it does ask developers to be fully engaged in all facets of building an application, from creating user stories to deployment. As a result, roles on an Agile team start to blur, and each individual winds up working on features across the tech stack.=

There’s no doubt that a team of specialized front-end and back-end developers can build great software. However, today’s hiring managers seem to have a preference for full stack developers, or at least those who understand both sides of a given tech stack, because these well-rounded employees have a leg up on others in an Agile environment.

Good software development leverages design thinking across the stack to benefit the end user.

Structure and efficiency are still important for software engineers to get right, but more and more, it’s critical for developers to code across the stack with the end user at top of mind. In fact, Agile teams dedicate time to create user stories that inform the products they build, and each team member is involved in a recurring (or iterative) design process.

Tim Brown, the CEO of international design firm IDEO, says, “Design thinking is a human-centered approach to innovation that draws from the designer’s toolkit to integrate the needs of people, the possibilities of technology, and the requirements for business success.”

Software is everywhere these days, and it’s not just for techies. Solutions need to be slick, innovative, and easy-to-use. The latest version of iOS or Android needs to be impressive enough for tech enthusiasts to get excited about and straightforward enough for grandpa to check his voicemail. Most importantly, good developers realize those two things aren’t mutually exclusive.

JavaScript takes candidates further than ever before.

Now more than ever, a strong understanding of JavaScript can really help software developers land a great job.

Once a fairly basic, client-side scripting language, JavaScript has made powerful gains in functionality while staying lean and efficient. In recent years, Node.js, a server-side runtime, has transformed JavaScript into a full stack powerhouse.

JavaScript continues to deliver on the front-end, too: React.js has revolutionized user interface development and has become the front-end JavaScript framework of choice for Fortune 500 companies and startups alike.

Diverse and non-traditional candidates are in the spotlight.

Diversity in tech remains elusive and persists as a key talking point in the industry. Women, as well as black, Latinx, and LGBT workers, remain severely underrepresented. In light of this year’s high-profile headlines on gender diversity issues at Uber and Google, many tech companies have doubled down on their commitments to boost workplace equality and employ people who authentically empathize with a diverse group of end users.

We’ve also noticed a growing trend toward diversity initiatives that aim to include nontraditional hires like military veterans, career changers, and candidates without four-year degrees. For example, the Microsoft LEAP initiative seeks candidates who have tech experience but may have been out of work for a while (e.g., stay-at-home moms or dads) or career changers with at least six months of software development experience.

Strong problem-solving skills remain the common denominator among great developers, and interviewers know it.

This is less of a hiring trend than it is a skill that employers continue to require of all new developers, especially non-traditional hires who may not have a computer science degree or years of experience.

Software developers – especially those new to the field – are in a constant state of learning new technologies and solving problems they’ve never encountered before. The ability to define a problem, recognize key inputs, and identify potential solutions is particularly important when the quality of a line of code depends on the developer’s ability to think logically and efficiently.

Interviewers often ask candidates to walk through a scenario, usually a past experience or a hypothetical case study, where the candidate needs to demonstrate their ability to assess a problem and formulate a solution. Sometimes these questions can be technical and quantitative, other times they’re more behavioral, but either way, it’s clear that companies want employees who think well on their feet and come to their managers with solutions instead of self-explanatory questions.

Conclusion: Honing your skills to meet employment trends can help you get a software development job, but first, invest in learning the fundamentals of programming.

Beyond these trends, employers continue to look for one thing above all else: technical skills! Before learning a new JavaScript framework and doing research on best practices for design thinking, you’ve got to have the fundamentals of software development under your belt. That’s where Codeup comes in. Our 18-week career accelerator gives you all the tools and training you need to capitalize on these trends and land a great job as a software developer.

To learn more about Codeup, email us at info@codeup.com or apply today!

 

What Makes a Successful Software Developer?

What Makes a Successful Software Developer?

 

4 questions to ask yourself when considering a career as a Software Developer.

Written by Dimitri Antoniou

Software developers build the programs, games, and apps that run on your computer, cell-phone, tablet, video-game system or e-reader. A software developer can be front-end, back-end or full stack.

Successful software developers come from diverse backgrounds and a variety of industries. Here at Codeup, our job is to advance existing careers and launch new ones. That means we’ve seen it all. We’ve learned that being a successful software developer comes from the right combination of personality traits and technical knowledge. We’ve gathered a few questions to ask yourself if you are considering becoming a software developer.

#1: Do I like working with computers?

You will spend your time building, improving and maintaining different types of software across different pieces of technology. This means that working with computers, phones & tablets should be something you enjoy. This might sound obvious, but it’s huge! We often meet students who are attracted to tech because of exciting new products, collaborative work environments, and flexible schedules. These are all awesome perks, but remember that the most important piece of your work will be the code itself. A software developer spends the majority of their time fixing problems and building frameworks.

#2: Do I love to learn?

Technology is a constantly evolving industry. While one language is hot today, it might die tomorrow. Our co-founder, Jason Straughan, often reminisces about writing an entire book on a language that disappeared from use by the time the book was published. What does that mean for you? You should love the process of learning new skills and keeping up to date with cutting-edge technologies. A career in technology gives you the opportunity to reinvent yourself many times. You may love working with databases today and find that UI/UX is where your strengths are in a year. You will need to be able to adapt to changes in the industry and be willing to learn on the job or put in the hours on your own time. The more programming languages under your belt the more value you will be able to provide during every stage of your career.

#3: Am I gritty?

Grit is a character trait that can make or break long-term success. Psychologist Angela Duckworth explains it as, “Passion and perseverance for very long-term goals. Grit is having stamina…sticking with your future, day in and day out.” When it comes to software development, having grit means learning from your failures. We’ve seen students struggle not because they can’t figure out the content, but because they are afraid of failing. Move past that fear! You will inevitably make mistakes, but our successful students are those that learn from their failure along the way.

#4: Am I a problem-solver?

At the end of the day, code is designed to solve a problem! Your ability to think logically, brainstorm creative solutions, proactively research answers, and fill gaps will make you an effective and efficient software developer. That’s why we test for problem-solving ability in our admissions process. Do you like tinkering, Googling, fixing, solving puzzles, and finding your own answers? If you do, you may appreciate the challenges that come along with developing software and debugging code.

These are the questions to ask yourself when making the decision to become a software developer. If you answered yes to these questions, coding could be for you. At Codeup we offer an 18-week career accelerator that will help you get a foot in the industry. Ready to start? Call Codeup at 210.802.7289 or shoot us an email at info@codeup.com

Alumni Spotlight: Stefanie Young and Lorne Barfield

Alumni Spotlight: Stefanie Young and Lorne Barfield

 

Stefanie Young and Lorne Barfield are both Codeup grads and the co-founders of Innov8 Place, a website development company. Here, they share their highs, their lows, their experience and their best tips for succeeding during and after the program.

Please give a little introduction about yourself.

Stefanie: I’m originally from California. I grew up in the Silicon Valley before the days of Google and had a pretty decent handle on free internet via AOL Trial discs, Napster torrenting, and multi-player gaming platforms (before they were cool). Given the mid to late 90’s, I had quite a bit of backlash within the online communities for my gender and my age. I gave up on tech during my early college years when a female professor told me, “there no room for women in the booming tech industry.” I quickly turned to music and language arts and found myself pursuing the long-term degree before leaving for Texas to enter a Japanese Studies program. I had a rude awakening and poor experience when most jobs I was offered were non-technical, non-creative, and extremely repetitive. It wasn’t going to work. My grandfather had always been a firm believer that I was meant for tech, engineering and developing new ideas. After chatting with him about my failed attempts and unhappiness, I decided to give tech another try through coding and entered into the Codeup family. I worked full-time while attending a night class and found myself doubting my abilities from the beginning. During our first project, something clicked and with the help of the instructors, I had a new-found love for problem solving, developing and code. I haven’t turned back since.

Lorne: I’m also from California.  I hail from Oakland.  I’m into just about everything.  I have worked as a high school basketball coach, personal chef, bartender, bouncer, opera singer, paralegal/legal assistant, and dance instructor.  I love movies and books….I read about 40+ a year.  I’m into fantasy and sci-fi, but also enjoy reading Deepak Chopra and books about travelogues (which is somewhat funny because I’m terrified of traveling). I’m a hippie, jock, musician, and nerd. I love people and connection and for someone who grew up largely an only child, I’m always out creating new family.  If something interests me, I pursue it.  I like to dive into things that I can share with others.  I’m an avid NBA fan (Go Warriors!) and if you ever want to argue about basketball, I’m game.  If you want to see me fully free and in my element, put me around music and dancing. Programming puts me back in my Lego days, where I get to be creative and build things. It’s my new adventure.

Can you describe your career path and how you got to where you are now? Were you always interested in programming?

Stefanie: I wasn’t always interested in programming. I had always seen programming as a career that leads to a dark room with smelly individuals, Cheetos and Mountain Dew. I didn’t want to be placed in a cubical and made to work 10 – 16 hour days to complete a project or operating system. Web development when I first set out to learn tech was not a major degree option or talked about much. Browsers were faulty and new to the scene. It was a questionable career path at the time. My grandfather was an engineer with Stanford University and always brought home hardware for PCs. I thought that would be my path as well. I loved building and problem solving the communication errors between parts. Little did I know that programming was that too on a more abstract and dynamic level.

Lorne: I absolutely thought programming was way out of my range and my experience.  Nothing about it felt like something I would be into.  I had simply grown out of my old position and location.  I was a paralegal in San Francisco and I was no longer challenged.  I wanted to go back to school or do something new but had no clue what.  It was too expensive to do there, my parents brought up Codeup (they live here), and here I am.

Why did you look into an immersive program? Why the Codeup experience?

Stefanie: Honestly, I was extremely doubtful of the program, especially after being trained into the thought process that traditional college was the only form of useful education and the only experience one should seek before career searching. It wasn’t until I was trying to break into marketing firms, coding communities and design groups that I was told about the program. Three people approached me and recommended the program. I didn’t listen. Then life started shouting it at me. I saw the billboard… then a marketing card in the mail… and then I heard a friend talking about their acceptance into the program. Finally I gave in and went to the Codeup location.I took a couple of tests and passed with flying colors. I decided to take the leap since they were offering a night program that started after work hours. Since they helped with job placement as well, I took them to be my chance at a better work life.

Lorne: I was on the verge of going to teach English in Turkey when my parents suggested that I look at Codeup.  I took the test, not sure if I’d get in, and then when I did, I bought a ticket the next day and the rest is history.

What was your experience with Codeup?

Stefanie: Overall, my experience was eye-opening. I did not expect to have young mothers, grandmothers, high school graduates or college graduates with Masters in the same class. The culture was liberating since we were all there for the same reason – to change our paths and achieve new goals. The instructors were very hands on and helped everyone thinking about problem-solving in new ways and how to attempt developing ideas out of nothing. The hardest step was always deciding where to start and finding the confidence to dive in, code first, and prepare to work through your own problems and use the resources available.

Lorne: Codeup opened my eyes to a new world.  They made programming and something that seemed so daunting, really fun.  I never thought I would enjoy it, but the collaborative nature of it and the creative juices that got to come out, made me fall in love with it.  The instructors, the classroom, everything about it made me feel like I could do it.  I think that was the largest thing.  Despite any difficulties or frustrating, I felt empowered…like given time and community, I could solve anything.  That’s an awesome feeling.

How do you feel Codeup has helped/is helping you grow? Did/How has Codeup’s career services helped you?

Stefanie: The program taught me independence and confidence. I am more free-thinking than I have ever been. I understand how to think about everyday issues from multiple viewpoints, and I know how to stand my ground and prove my points and way of thinking. I know that it’s okay to be wrong and how to go about admitting it. Even if it seems counterproductive to building independence, I know it’s okay to ask for help.The program also taught me about resourcefulness and communication on a whole new level. These two features alone were enough to land me just about any job. Soft skills are just as important as the hard skills.

Lorne: It taught me how to break down problems.  It taught me how to ask for help and that is perfectly right and ok. Codeup gave me my first job, and kind of my second, as I worked for one of the founders as my second.  They always believe in their students and help them match and grow.

Any advice for current and future Codeup Alumni?

Stefanie: Understand that this program is meant to accelerate your learning of development. You have to be hungry for this knowledge and supplement the curriculum outside of the classroom as well as practicing it. There has to be a drive for the goal ahead. Be willing to sacrifice some of your free time.This class is so much more rewarding if you learn to work as a class unit early on and help each other succeed. Employers will see it in your example work, the projects and want to hear about your ability to communicate and mesh well as a developer. Be open-minded and be willing to be wrong. I learned so much more from being wrong than from being right. Experience is priceless in the long run. 

Lorne: Stay patient and humble.  This world of programming is huge.  It can be overwhelming.  Just keep that learner mind and understand that time and keyboard time are your greatest assets.   It may not feel like you’re growing, but then you’ll look up every now and then and realize just how much you know and how far you’ve come.  It’s a pretty awesome feeling.

What was the best part of the experience in your opinion?

Stefanie: The staff and fellow classmates made the program great in my eyes. The interactions and experiences of having a new community of people who had similar goals made for a welcoming and productive environment.

Lorne: I think the greatest part is the classroom.  The idea that when everyone shares knowledge, everyone succeeds.  The collaborative power of coding is insane and if there’s anything I can attribute to the rapid rise of technology is that it brought a collective human mind to any problem.  People from all over the world now have the ability to work together to create brand new things.  You get your first taste of that in the classroom.  The sense that everyone wants you to succeed and you can lean on one another to fill in gaps where you may not be the strongest.  It’s a really amazing feeling.