We are so excited to announce the celebration of Codeup’s 5th year of contributing to and building a family within San Antonio’s growing and vibrant tech ecosystem.From the moment our three founders, Michael Girdley, Jason Straughan, and Chris Turner, realized there was a shortage of tech talent in San Antonio to launching their first full stack web development class back in February 2014, Codeup has come a long way.
All of Codeup’s success would not have been possible without your support, and we would love for you to join us as we celebrate the growth of not only Codeup, but our community.We look forward to using this time together as a way to celebrate all of our accomplishments as a community.
This event is free and open to the public, so invite away, but please make sure to RSVP so we can prepare. The event will be held at Codeup’s (600 Navarro St.) 6th floor. There will appetizers, drinks, live music, a photobooth, GAMES, and other fun activities for you to enjoy while you are here. If you have not seen our new space, this would be the perfect opportunity to get a tour!
If you have any questions at all, please feel free to reach out at email@example.com. See you there!
Special thanks to:
*Jlen Events for helping us build out our party
*Geekdom and San Antonio Economic Development for their support and sponsorships!!
Are you interested in technology and want to learn the basics of web development? Come out and join us for our FREE Learn to Code Workshop! This Learn to Code workshop will cover the basics of HTML and CSS.
This event previously sold out in record time and tickets are VERY limited! RSVP today!
Materials to bring:
1. Laptop (does not matter what kind)
2. Your smiling face!
AGE REQUIREMENT: 17+
Please e-mail us at firstname.lastname@example.org if you have additional questions! See you guys there!
In four months, a lot can change. Four months: A San Antonio winter, a long distance relationship, a college semester.
During my four months at Codeup, I pursued what felt like an unattainable goal and actually reached it. When I tell people that I’ve been coding less than a year and am now working as a software developer, people are usually impressed. But to be frank, I could never have done that without attending a coding boot camp like Codeup. It was a short four-month process that was like stumbling from a dusty, old wardrobe into Narnia: on one side, a clumsy and unenlightened beginner and thereafter being transformed by a completely new and fantastical world. Attending Codeup armed me with the experience and knowledge that allowed me to survive the harsh winter landscape that starting out from scratch as a software developer can be.
Now as I am working at my first real job, I’m grateful to Codeup for teaching me several things that allowed me to be better prepared for my career.
From beginning to end, Codeup placed a huge emphasis on group exercises. The beginning of the course was characterized by paired programming, a process in which one person is the navigator and one is the driver. As the names suggest, the navigator communicates with the person at the keyboard and directs them to type certain bits of code or navigate to specific elements on the page. Often, we would flip-flop between these roles so both students could get a crack at practicing one of two things: Firstly, we practiced how to communicate clearly and efficiently. Secondly, we learned how to take direction and ask clarifying questions.
At the time, I wasn’t sure what the big deal was with paired programming and why the instructors at Codeup had made it such an integral part of the curriculum. However, as I go about my everyday duties at work, I realized how often I engage in informal bouts of paired programming. Although we have a Wikipedia-style knowledge base at my work where we document our processes, a lot of knowledge is still transferred orally (not ideal, but we’re working on it!). What this means is that paired programming happens on a daily basis. If a developer is having a complex problem, it is usually easier for a coworker who has solved this problem before to sit down and walk them through it rather than try to explain things via chat or email.
Towards the end of the semester, we coalesced into group projects in which the primary focus was teamwork. This was where we got a taste of working independently but in a team effort. It was during the group projects that I discovered the importance of learning how to use a versioning control system, such as GitHub, that allowed multiple developers to participate on the same project without stepping on any toes. When I started my job at Armor, I realized how much more complex versioning control can get when you have potentially 50+ people contributing to the same repository at any given time. I had to relearn the fundamentals and be extra careful not to overwrite someone else’s work. Most mistakes are reversible, but the headache of figuring out what went wrong and how to fix it is usually a source of distraction from a developer’s daily duties and sprint goals.
2. Learning how to ask for help
Like Real Life
When I initially started at Codeup, I found myself wanting to ask the instructors questions as soon as I got stuck on something. However, I quickly realized that their resources were limited since there were only 2 of them (plus 1-2 fellows) in a class of 30. Although this wasn’t ideal, it actually did simulate a real-life scenario that parallels a professional working environment. At my work, there are probably only 2 or 3 lead developers. However, they are constantly inundated with requests by QE and other junior developers, code review, and demands from management. If you need to make a request, best make it quick and efficient.
Asking Questions the Right Way
I then remembered what instructors had mentioned during Codeup. They taught us that if you have a question, make sure you present it in a format such as:
Describe your question/problem in detail.
What have you already done to try and solve it?
Why don’t you think your solution worked?
This made it so that students would actually try to figure out a solution before shooting their hand up every time they had a problem, only to find that they could have easily solved it with a little more digging. In my experience, most experienced developers are usually happy to help. However, it’s good practice to make sure to demonstrate you tried your best and that you’re not wasting their precious time.
3. Pushing through the doubt
“I’m not cut out for this”
Throughout the boot camp, it came to be a running joke that everyone would have an emotional breakdown at least once during their time at Codeup. You would see someone walk off and come back with teary, red eyes. Or for some, they would vocalize their despair: “I don’t think I’m cut out for this.”, “This is too hard.”, “I’m so frustrated!”, “Maybe I should just give up.” I myself broke down emotionally several times during Codeup and reiterated several mental self-doubts to myself: “Maybe I should have stuck to the arts. I’m too emotional to do well in computer science. I’ll never be good enough”. On some days, you would feel accomplished and confident in your abilities. On other days, the doubts would flood in unexpectedly and endanger everything I had worked so hard for. However, through the support of other students in the class, the instructors, and the encouragement of the staff, I was able to succeed throughout the course and completed my Demo Day project.
It Always Gets Better
All this is to say, Codeup taught me to have emotional fortitude and a confidence to believe in myself. Because to be honest, the first several months at my job also felt like an emotional roller coaster. I was thrown into an environment where I had to learn and adapt very quickly. I was constantly afraid and timid because I was the only female developer and also the most junior developer. I expected a lot out of myself, and when I was given criticism I would internally berate myself until my negative self-talk had multiplied the original piece of criticism in my mind ten-fold of what it actually was.
However, my experience at Codeup had taught me to push through in those moments of self-doubt. It gave me a thicker skin in order to ask for help, to learn quickly amidst a ton of ambiguity, and most importantly, a realization that it will always get better as long as I don’t give up
4. Learning how to learn
As you might have noticed, none of the points above are actually related to the technical knowledge I received by attending Codeup and how it affected my career. It goes without saying that Codeup provided me with the coding skills I needed to be succeed in my career. However, another point that our instructors emphasized was that Codeup was not a comprehensive coding academy or computer science degree. In some ways, it was like a tour bus that allowed you a brief overview of all the major stops in the area.
It allowed us to have the impetus and catalytic energy to start off a software development career. It also gave us the tools to quickly be able to pick up any technologies our companies were using.
“We’re teaching you how to learn,” they would say throughout the course. After starting my first job, I came to realize how true this statement was. I imagined myself trying to pick up the technologies at my job without having Codeup as a primer and it seemed near impossible.
Needless to say, Codeup was an essential experience I needed on the way to becoming a full-time software developer. I learned critical skills that have proved invaluable in my day-to-day and have allowed me to be where I am today.
Joyce is a full time software developer at Armor, a cloud security company in Richardson, TX. In her free time, she sings in a women’s chorus, plays electric guitar, rock climbs, and is starting a freelance writing business. Check out some of her work at thelusciousword.com.
Almost every day since graduating from Codeup in December 2017, I have meditated over how much my life has changed in such a short period of time. Especially during this Thanksgiving season, I took the time to reflect even more deeply about the top three reasons I am grateful for Codeup. I am thankful for:
1. Codeup as a career accelerator
When they say that Codeup is a “career accelerator,” they are not joking! In just 18 weeks, you graduate with the knowledge and skills necessary to succeed in the industry as a junior developer.
When I was first searching for options to learn how to code, I was told that any college degree program would take me two to four full-time years, or four or more part-time years, to finish. As we all know, our bills do not get put on hold while we are in school!
I also looked into free or inexpensive part-time programs so that I could continue to work full-time, and although I would describe myself as diligent and able to handle self-study, this would also have been a long route, and without the career advice and connections Codeup provides. Knowing what I know now, I am so glad I didn’t try to study on my own. The depth of Codeup’s curriculum, compared to some online training I have tried, is unmatched and very important to have in my current work as a developer.
When you think about it, 18 weeks is a blip in your life, especially when that blip of time in Codeup very quickly produces a return on your investment. Remember to consider wages lost when making your decision: your time is VALUABLE, and time spent not in the workforce is wages lost that you could have been making. Speaking of finances, I am also thankful for…
2. Codeup’s financial aid offerings
Did you know that many students receive internal scholarships and financial help from Codeup’s funding partners? I, too, had sticker shock when I saw the price tag, but I ended up receiving Codeup’s Women in Tech scholarship, as well as a grant from Project Quest, which greatly reduced my cost. For the remaining balance, I utilized one of Codeup’s loan partners, which offers reduced payments while in school, and for two months after. Read more about my journey through Codeup here. Last but not least, I am thankful for…
3. Codeup opening the door to the tech industry for me
Until just a few years ago, I had never in my life met a computer programmer. I was not aware that this was a thriving career, or that development and IT jobs occupy many of the slots on Glassdoor’s list of top careers. For several years, I was stuck in another field that was not for me, and I spent a lot of time thinking about how to get my foot in the door of this industry that seemed like it would better suit me and my needs. However, I did not have any connections in the industry or the direction needed to do this myself.
Codeup provided access to the tech field to me, as a woman who knew nothing about code prior to attending, and as someone who constantly doubted (and still do sometimes) whether I would be able to grasp what I had heard was very difficult subject matter. They saw potential in my aptitude and, more importantly, in my attitude.
Life since Codeup has been incredible. My job is fun, challenging, and stimulating; most of the time, it feels like I’m working on jigsaw puzzles all day. The hours just fly by, and I can’t believe I’m getting paid for this! Sometimes, when that pesky ol’ imposter syndrome pops up, a coworker of mine will brag about the quality or speed of my work to my supervisor, and I’ll feel validated and appreciated all over again, despite my newness to the field. Financially, I also feel appreciated, as I am now a skilled worker in high demand. In fact, in less than a year since graduating from Codeup, I was able to purchase my first home, all by myself!
This truly has been a life changing year. Codeup got me in the door of the tech industry, and where I go from here is up to me. This Thanksgiving, I am humbly grateful for finally being able to carve out my place in the world, and I hope the same for you. Happy Thanksgiving, y’all!
Amy is very proud to say she is currently the only female developer employee working on Whataburger’s first ever online ordering platform. She has a Master’s degree in Music Theory and keeps that knowledge fresh by analyzing music on the radio during her daily commute. Since learning to code, what she enjoys most is mentoring new developers.
I looked at Codeup for 2 years before I finally made the decision to apply. As a requirement for my Math degree, I took an Intro to Java class. I enjoyed it so much and was tempted to switch majors. However, I was a semester away from graduation and decided not to. Coding was still something I wanted to do so I tried some online courses.
The online classes were satisfactory, but it made me realize two things: 1) I didn’t know what I needed to be learning and 2) whatever I did learn, I needed to be in a classroom setting to learn it. I heard about Codeup and other coding bootcamps and added myself to Codeup’s mailing list. However, both the price and the thought of having to quit my job scared me from ever applying. I found a cheaper coding school and attended one of their coding workshops, but didn’t like the way the workshop was run. The instructors only gave us lines of code to write with little theory behind it. That combined with poor organization in general made me realize that was not the place for me. I went back to Codeup’s website and read about their curriculum. I liked how theory as well as practical usage was taught. I was also liked seeing how much help was available to students from instructors and student fellows. However, the biggest question still on my mind was, “Will I get a job afterwards?”
I learned that the curriculum at Codeup is developed with input from tech companies, which means that Codeup is teaching important skills that employers are actually looking for. Incidentally, the curriculum changed a bit a few months before I started due to employers’ requests. An added bonus on the job front was an in-house liaison between students and employers. Codeup’s Director of Product, Stephen Salas, has connections with several companies and he always know which ones are looking for developers fresh out of school. I decided to take a chance and applied even though I was still worried about the financial part of it. When I got accepted, I found out that there are many scholarships and programs to help ease the financial burden. I qualified for some of these even though I thought I wouldn’t. Many more scholarships and grants have been added since I left Codeup thus lowering the barrier to attend. I graduated in May 2018 and am currently working as a developer specializing in data extraction and transformation. I love what I’m doing now. My only regret is that I didn’t do this sooner.
Codeup welcomed the Wrangell cohort on July 23. With the start of this cohort, we launched a new blog series: the Codeup Student Check In. We’ll interview a student over the course of the 4.5 months to see how things are progressing from first impressions all the way to graduation. Thus, welcome to the Codeup Student Check In: Month 3!
Codeup: How has your experience been at Codeup so far?
Wrangell Student: I’ve had a great experience so far. Everything has been what I imagined and more. I have learned things in a short amount of time that otherwise would’ve taken me months upon months to learn. The people here are some of the kindest and most supportive people that I’ve met in a long time, and I’m happy to have this experience in my life.
C: Describe what you’re learning right now. Is it hard/fun/challenging?
S: We’ve just started our capstone project which is the final hurrah of our Codeup experience. We are in the planning stages and it’s honestly a little overwhelming due to the sheer amount of information we’re communicating to our teammates and because of the volume of work that’s going to be done over this next week or two. Nonetheless, I am excited by the challenge and I know that our final project is going to be something that I will be really proud of and really happy to have been a part of. I’m excited to see how it will all pan out.
C: How has the learning process/information gathering been?
S: I love doing research and the focus of my research has shifted from solely academic to a balance between academic and professional. I am still researching new technologies as well as doing further research into the current curriculum but now I am also doing research into potential companies I’d like to work with. I’m interested in their mission and if their goals align with mine, both short and long term.
C:What has been the most memorable part of this month?
S:The most memorable part of this month has been actually shopping for new interview outfits, looking at myself in the mirror, and seeing a young professional. This has been one of my long-term goals and it’s a great experience seeing it come to fruition.
C:How do you feel your skill level compares to last month?
S: I think my skill levels are increasing each month. Now that we are going into full stack applications I can finally see the cumulative success of my time here.
C: How have the instructors and staff been helpful? Have you started working with the placement side of Codeup? If so, can you elaborate on that?
S: I am grateful for the mock interview process with the instructors. It’s really helpful to have your instructors grade you on your performance and prep you for real world interviews. These instructors all have some sort of practical experience and firsthand knowledge of the professional world. Their experience and advice is invaluable.
C: Did you learn anything new at Codeup that you weren’t expecting?
S: I wasn’t expecting to learn as many people skills as I did. I thought this was strictly a technical school and this really came as a surprise. I have really learned how to network and how to talk to people that I otherwise would have been scared to talk to. I’ve learned that people are people, just humans, and improving conversational skills to talk with them is valuable. Learning the value of a human connection in the professional world is a very exciting thing.
C: Have you been interviewing for jobs? What has that been like? If not, do you know what type of role you are looking for? (Ie. Developer, Q/A, Tech sales, Tech Ed, etc)
S: I’ve had a few interviews this weekend and they have been very exciting and stressful. Having interviews back to back is both a blessing and a curse. It’s important to destress at home and really be aware of your emotions and reactions to stress. Time management is another big challenge. How much time do I put into studying versus interview prep? How much time can I dedicate to other life roles and be a good girlfriend, good daughter, and good pet owner while still fulfilling my role as a student and job seeker? These challenges are tough to overcome, and this is where emotional awareness can really help.
C: If you can give one piece of advice to any prospective students, what would it be?
S: Really do your research. Know what you’re getting into. You can’t go into anything blind! Get as much knowledge as you can so you can thoroughly prepare for and enjoy this journey. A great plan will save you a lot of suffering in the long run.
I grew up loving technology. I still remember thinking that my grandmothers’ flip phone in 1995 was the coolest thing I had ever seen. As a child, I took all my electronic toys apart, because I was curious what was inside. So you can say, I always yearned for a career in tech.
My name is Sukari Schutzman. I don’t take myself too seriously, I’m always laughing, and trying to share positive energy, but most importantly I am a software developer.
When I got my cosmetology license, I was passionate about doing hair. I wanted to learn how to be better, and how to perfect my craft. In many ways, I see a lot of parallels in cosmetology, and in software development. Drawing those parallels kept me strong in the program and reminded me to never give up. I remembered when I was in cosmetology school, or when I was in the salon and I was stuck on something, I always asked for help. In software development and at Codeup, the same rings true.
I had always driven by the billboards on I-10 on my way into San Antonio and was ALWAYS confused. “Software Developer? Why is ‘Retail Manager’ crossed out? What is that?”, I always wondered. But I always continued to drive on and thought nothing of it when I reached my destination.
I decided development was for me and wanted to transition into it and learn how to code, as I had been exposed to it for a while. I knew self-study would not work for me. I needed to be in a classroom and knew I needed to be in front of an instructor. But most importantly, I needed a job ASAP because I needed to support myself and my child.
When I arrived at Codeup and went on the tour I was amazed. I knew this would be the place for me, and it was going to be where I knew my life would change. I was going to be walking out of one door and into another. And I wasn’t going to look back.
When I found out that I had got in, I was so happy that my hard work paid off and I knew it was just the beginning of what was to come. I looked forward to the start date and marked it on my calendar. I also quit my job, which was much needed because salon life was stressful enough, let alone learning a new skill.
The next few months were filled with triumphs and failures, which is normal in any career. No one is born good at everything, it takes practice and determination (I totally had to repeat that to myself every single day at Codeup. Thanks Ryan!). Sometimes it felt like two steps back, but I was determined to make it to Demo Day and present my Capstone.
With the help of Codeup staff, I felt setup to succeed at Demo Day. But most of all, I felt prepared for my new career.
Demo Day finally came! Our project got the most compliments on the visual interface, which I worked hard on, and helped us stand out amongst our classmates. I had a few interviews set up for within a week after Demo Day and landed my first job. At this point, I was in awe. Everything I worked hard for had finally came to fruition. And most of all, I didn’t have to work weekends unless I wanted to.
There’s nothing wrong with being hair stylist, absolutely not! However, it just wasn’t for me anymore. Thanks to Codeup, my life is so different now.
It would be an understatement to say that the bar of expectations were set high as the youngest of 4 to immigrant parents, who were also mechanical engineers. Eldest: Entrepreneur with several successful businesses; Second: Contract Law Lawyer; Third: Doctor of Neonatal Genetics; Fourth (Me): cooked since I was 15. Although the decision to make a career of cooking didn’t hit me for a few years, I had known that I did not want to follow the footsteps of my parents or siblings.
At the age of 19, I decided that I wanted to attend college at the prestigious Culinary Institute of America (CIA). Before I could finalize my decision, I knew I had to tell my parents. They reacted just as I thought they would. “What?! NO, NEVER! Never in my life did I ever think my son would become a cook.” Our family comes from a culture where there are three acceptable career paths: Doctors, Lawyers, and Engineers. Coming from a family where I already had a sibling fulfilling each of those roles, I felt that I had nothing to prove to anyone except myself. I ended up attending CIA and working in the industry for 15 years. Having held every role in a kitchen and marriage, including being a parent, I decided it was time to put my ego aside, think about what’s best for my family, and transition careers.
The Most Important Thing
Early on in my cooking career, I had a mentor that drilled a simple phrase into my head: “The most important thing in life is to figure out what is most important.” This simple saying spoke very loudly to me; how can you work towards a goal if you don’t know what the goal is? Every task I would work on in life would ring those words in my head; So what was most important to me? “A happy family and nothing else” is what I have defined as what is most important. Now it’s time to figure out how to get there.
The First Step: Codeup Open House
After spending too much time on autopilot, it was then that I realized the only thing keeping me in the restaurant industry was that it was the only thing I really knew. I needed to break the mold to be able to achieve the most important thing. Having always been computer savvy and a self-proclaimed problem solver, I soon realized that I was better with computers than I thought. It seemed to come more naturally to me than others, which was when I realized I needed to find a career that would allow me to use my skills in computers. There was only one clear answer for me, and that was Codeup. I spent time at their open house, and I was sold. Not only were they kind and caring individuals, but also extremely smart and talented developers and teachers. It seemed like the right answer.
The Second Step: “Good”
After getting through the admissions process and getting accepted, I decided to make the best of my decision to attend and set a plan of action to take in as much as possible. I made note cards, studied ahead, built random projects I found online, and ran code kata’s everyday. Sounds impressive, but I can assure you, there was much failure involved. If I was struggling, “Good” would tend to be my response because with failure comes the opportunity to get better; it meant that there was something that I needed to work on. As the difficulty level strengthened, so did the number of “Good” moments. There were moments when doubt and worry went through my mind as well. I was worried that I had made the wrong move. I turned to my classmates with the plea for help, they responded similarly as well. “What a relief,” I thought. It was good to know that I wasn’t the only one in class struggling because it made me realized I tricked myself into thinking that I was couldn’t do it.
Finding a Job with Only Cooking Experience
After graduating from Codeup and being fully aware of my imposter syndrome, I could not shake the thought of why someone would hire me. I would have to constantly remind myself that, with the skills I had from my previous work experiences and the new skills I learned over the past 18 weeks, I was more than capable. With the help of the Director of Product, Stephen Salas, I was able to find a job within one week of graduating.
Goal Achieved: Now What? Maintain and Gain Skills
I got the knowledge, got the job, and got the work/life balance. Now what? Now it’s time to continue to learn and advance with your newly learned skills. One thing I realized after going through the Codeup program was that there are a lot of similarities between learning to code and learning to cook. At first, basic skills require a lot of effort and struggle, but eventually they become second nature. After the basics are understood and the muscle memory is built, then comes the never ending list of more advanced skills. When people ask me what the best part of Codeup is, I tend to respond simply with, “they taught me how to learn”. I look at new projects that I am given and when I have no idea where to start, I say “Good”, another opportunity to get better.
Data Science, Big Data, Machine Learning, NLP, Neural Networks…these buzzwords have rapidly spread into mainstream use over the last few years. Unfortunately, definitions are varied and sources of truth are limited. Data Scientists are in fact not magical unicorn wizards who can snap their fingers and turn a business around! Today, we’ll take a cue from our favorite Mythbusters to tackle some common myths and misconceptions in the field of Data Science.
At first glance, this one doesn’t sound unreasonable. Statistics is defined as, “A branch of mathematics dealing with the collection, analysis, interpretation, and presentation of masses of numerical data.” That sounds a lot like our definition of Data Science: a method of drawing actionable intelligence from data.
In truth, statistics is actually one small piece of Data Science. As our Senior Data Scientist puts it, “Statistics forces us to make assumptions about the nature of the relationship between variables, the distribution of the data, etc.” In the traditional Data Science venn diagram, you’ll see that math/stats make up ⅓ of a working professional. These are tools and skills to leverage, but data science itself is about drawing intelligence from data.
This one is so common that we wrote a whole post about it! These are separate and different roles within the data field. While a data scientist will often do analytics, their spectrum of work is wider. A data analyst will use structured data to create dashboards and KPIs, while a Data Scientist deals with unstructured and messy data for a range of outputs. If they’re interested, business analysts will often progress to data scientists.
This one’s tricky, because it’s impossible to either confirm or bust! The ‘myth’ is that one person or company using the term Data Science is not necessarily the same as another person or company using the same term. Depending on organizational capacity, individual experience, educational background, and many other variables, we might be using the same name for different animals.
Tl;dr: don’t assume a common understanding across hiring managers, recruiters, and practitioners. Look instead for specifics of tools, techniques, methodologies, and outputs. That being said, this one falls in the “plausible” category, because it may actually be true in some circumstances, while false in others.
Myth #4: Data Science curricula are well-defined and consistent.
We recommend checking this one out for yourself! A quick google search for bootcamps, master’s degree programs, and online courses will reveal that different organizations teach different things. There is no commonly accepted framework for teaching data science! Some focus more on the engineering, others focus more on machine learning, some think deep learning is foundational, and some prefer to use R.
Our curriculum was built through employer interviews, practitioner interviews, market research, and company partnerships. But we’re based in San Antonio! A bootcamp in New York might follow the same process and end up with a different syllabus. Keep in mind, whatever your learning path, that there will be gaps in your learning. The most important thing is to recognize those gaps.
Myth #5: If I want to be a data scientist, I just need to learn Python or R.
This one is common and dangerous! Just like statistics, programming languages like Python and R are tools. They’re just pieces of a larger puzzle! Knowing Python without understanding the data science pipeline is like knowing how to build a floor without having a floor plan. Of course, these are valuable technical skills that give you a leg up, but they’re second in importance to asking the right questions, knowing what tools to use when, and communicating your findings.
Still have questions? Reach out to us at (210) 802-7289 or DataScience@codeup.com! Want to learn more about Data Science? Check out our recent blog posts at tribucodeup.wpengine.com/blog. And of course, if data science gets you excited, get started with us today at tribucodeup.wpengine.com/apply!
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.
Logging output to the console isn’t always helpful
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 coughVisual Studio Codecough 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.
The first tool I have come to love and trust is one made by a company called Wallaby.js
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.
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.
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.
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).
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.