Coding Category Archives - General Assembly Blog | Page 2

Three Big Reasons Why You Should Learn Python

By

As a data scientist, my work is contingent on knowing and using Python. What I like about Python, and why I rely on it so much, is that it’s simple to read and understand, and it’s versatile. From cleaning, querying, and analyzing data, to developing models and visualizing results, I conduct all these activities using Python. 

I also teach data science in Python. My students learn Python to build machine learning models but I’m always excited to hear of the other ways they’ve leveraged the programming language. One of my students told me they used it to web-scrape online basketball statistics just so they could analyze the data to win an argument with friends. Another student decided to expand on her knowledge of Python by learning Django, a popular framework, which she uses to build web apps for small businesses. 

Before taking the plunge into data science, we all had fundamental questions (and concerns) about learning Python. If this sounds like you, don’t worry. Before I started learning Python, I spent several months convincing myself to start. Now that I’ve learned, my only regret was not starting sooner.

If you’re interested in learning Python, I want to share my biggest reasons for why you should. Two of these reasons are inherent to Python; one of them is a benefit of Python that I experienced first-hand, and some of the examples I discuss come from things I have researched. My goal is to give you enough information to help make an educated decision about learning Python, and I really hope that you choose to learn.

1. Python is easy to learn. 

Long before I learned Python, I struggled to learn another object-oriented programming language in high school: Java. From that experience, I realized that there’s a difference between learning to program, and learning a programming language. I felt like I was learning to program, but what made Java difficult to learn was how verbose it was: the syntax was difficult for me to memorize, and it requires a lot of code to be able to do anything.

Comparatively, Python was much easier to learn and is much simpler to code. Python is known as a readable programming language; its syntax was designed to be interpretable and concise, and has inspired many other coding languages. This bodes well for first-timers and those who are new to programming. And, since it typically requires fewer lines of code to perform the same operation in Python than in other languages, it’s much faster to write and complete scripts. In the long run, this saves developers time, which can then be used to further improve their Python. 

One observation I’ve made of Python is that it’s always improving. There have been noticeably more updates to the language in the last 5-10 years than in prior decades, and the updates have often been significant. For example, later versions of Python 3 typically benchmark faster completion times on common tasks than when carried out in Python 2. Every release in Python 3 has come with more built-in functions, meaning “base” Python is becoming more and more capable and versatile.

Learning is not an individual process; often you will end up learning a lot from “peers.” According to various sources, Python has one of the largest and most active online communities of learners and practitioners. It’s the most popular programming language to learn; it’s one of the most popular programming languages for current developers; and among data scientists, it’s the second most common language known and used. All of this translates into thousands of online posts, articles (like this one!), and resources to help you learn.

Speaking of online learning, Python is also tremendously convenient to learn. To learn the fundamentals of Python, there are a lot of learning tools out there — books, online tutorials, videos, bootcamps — I’ve tried them all. They each have their merits but ultimately having options makes it easier to learn. Once you start learning, the resources don’t stop. There are dozens of really good tutorials, code visualizers, infographics, podcasts, and even apps. With all of these resources at your disposal, there’s really no reason why you can’t learn!

2. Python is versatile.

Python’s popularity is also tied to its usability and versatility. According to O’Reilly, the technology and business training company, the most common use cases for python are data science, data analysis, and software engineering. Other use cases for Python include statistical computing, data visualization, web development, machine learning, deep learning, artificial intelligence, web scraping, data engineering, game and mobile app development, process automation, and IoT. 

To get into any of these use cases would require another post. Regardless, you might be wondering what allows Python to be such a versatile programming language? A lot of it has to do with the various frameworks and libraries that have been built for Python. 

Libraries are collections of functions and methods (reusable and executable code) with specific intents; and frameworks more or less are collections of libraries. If you ask any Python developer, they can name at least a half-dozen libraries they use. For example, I often use NumPy, Pandas, and Scikit-learn — the holy trinity for data scientists — to perform math and scientific operations, manipulate and analyze data, and build and train models, respectively. Many Python-based web developers will name Django as one of their preferred frameworks for building web applications.  

While it’s true that libraries are written for most programming languages and not just Python, Python’s usability, readability, and popularity encourage the development of more libraries, which in turn makes Python even more popular and user-friendly for existing developers and newcomers. When you learn Python, you won’t just be learning base Python, you’ll be learning to use at least a library or two.

3. Python developers are in demand.

Many people learn to program to enhance their current capability; others to change their careers. I started off as one of the former but became the latter. Before data science, I built digital ad campaigns and a lot of my work was automatable. My only problem was that I didn’t know how to code. Although I eventually learned how, in the process of learning Python for my work, I was presented with different job opportunities where I could use Python, and learned about different companies who were looking for people experienced in Python. And so I made a switch.

There are a lot of Python-related roles in prominent industries. According to ActiveState, the industries with the most need for Python are insurance, retail banking, aerospace, finance, business services, hardware, healthcare, consulting services, info-tech (think: Google), and software development. From my own experience, I would add media, marketing, and advertising to that list.

Why so many? As these industries modernized, companies within them have been collecting and using data at an increasing rate. Their data needs have become more varied and sophisticated, and in turn, their need for people capable of managing, analyzing, and operationalizing data has increased. In the future, there will be very few roles that won’t be engaged in data, which is why learning Python now is more important than ever — it’s one way to bullet-proof your career and your job prospects.

A lot of top tech companies value Python programmers. For instance, to say that Google “uses” Python is an understatement. Among Google engineers, It’s a commonly used language for development and research, and Google’s even released their own Python style guide. Google engineers have developed several libraries for the benefit of the Python community including Tensorflow, a popular open-source machine learning library. YouTube uses Python to administer video, access data, and in various other ways. Python’s creator Guido van Rossum, a Dutch programmer, was hired by Google to improve their QA protocols. And most importantly, the organization continues to recruit and hire more people skilled in Python. Other notable tech companies who frequently hire for Python talent include Dropbox, Quora, Mozilla, Hewlett-Packard, Qualcomm, IBM, and Cisco. 

Lastly, with demand often comes reward. Companies looking to hire people skilled in Python often pay top dollar or the promise of increased salary potential. 

Conclusion

In summary, there are lots of reasons to learn Python. It’s easy to learn, there are many ways to learn it, and once you do, there’s a lot you can do with it. From my experience, Python programming is a rewarding skill that can benefit you in your current role, and will certainly benefit you in future ones. Even if Python doesn’t end up being the last programming language you learn, it should certainly be your first.

Explore Our Python Course

How Long Does it Take to Learn Python

By

Python, an essential programming language, has taken the programming world by storm. Much of this attention has followed from the interest in machine learning and AI. Python has become the default programming language of Data Scientists and Machine Learning Engineers all over the world. Python’s versatility has also gained a loyal following amongst diverse fields like Bioinformatics, Astronomy, Gaming, and of course, Data Science.

But utility alone doesn’t explain why so many developers love using Python. From its humble beginnings in 1991, Python was designed by Guido van Rossum to be a programming language that emphasized code readability. Or in Guido’s words, “Computer Programming for Everybody.” This ease of human interpretability pairs with an open source ethos that makes it available to developers everywhere for free! So with a few short lines of code you can import packages and libraries that professional developers from companies like Facebook, Google, or AirBnB have spent thousands of hours building _(for free)_.

It’s low-entry cost and ease of reading programs has rightfully garnered Python an immense and passionate following.

1. Where there is talent, there is an opportunity, especially, in Python programming.

Python has rapidly become a deep learning skill that is in high demand within the job market. Jobs sites like Dice and Glassdoor have seen near-exponential growth in postings looking for candidates with Python skills over the last few years because making pivot tables and wrangling data in spreadsheets is no longer enough to get you noticed for data analyst positions. As the variety, velocity, and volume of data has exploded, developers have had to scale their analysis pipelines to match — this means that the people pouring over those numbers must develop a deeper skill set to deal with the enormous amounts of data piling up in their databases.

2. Speed and flexibility are the names of the game!

Python is ideal for handling the heavy-lifting required for today’s computationally intense data analyses used by most businesses today.

OK, so now that you’re sold on its value, how long does it take to learn Python? Like any language, practice and muscle memory are the name of the programming language game. The more time you can immerse yourself, the quicker you will see gains.

It also depends on how much you intend to learn. You can have a simple “Hello World” program running in a matter of minutes, i.e., _Seriously; it is only one line of code!_, etc. To get an understanding of deep learning, a subset of machine learning, or data scientist techniques may take months of focused study, but to get your foot in the door as a Data Analyst, it takes about 40-50 hours of studying and practicing — in my experience.

Some of the rudimentary skills from loading required packages, the underlying data structures, and some simple data manipulation take some effort to put into practice. Remember that learning anything takes motivation and attention. With our focus being pulled in many directions at once, sometimes having some guided learning can be a huge help — especially with data analysis and data analysts.

How often have you had a problem you spent hours trying to solve by Googling every corner of the internet, only to have the solution explained to you in three seconds by an expert? You can have industry professionals help guide you through this exciting learning adventure to help make sure you are spending your effort in the right places rather than sift through all the YouTube videos, blogs, or StackOverflow posts.

3. General Assembly Python programming FTW!

Often you get back what you put in. So if you are thinking about getting started on your programming language journey of learning Python, General Assembly has several great ways to get you started.

Free Introduction to Python workshops are held regularly. The aim here is to get you set up to start learning and developing in a couple of hours.

There is a 10-week part-time Python course that give you all the programming language skills you need to start a new career as a Data Analyst or Python Developer for those that are ready for more structured and in-depth learning. These classes are held for two hours, twice a week, over 10 weeks.

For those who like to jump in and learn as much as possible in concentrated, full-time sessions every day, General Assembly offers a 13-week Data Science Immersive as well, which covers all the essentials of putting Python programming into good use for Machine Learning and Data Science.

4. Dive into Python programming + a Python course.

If you are on the fence about learning the programming language Python, I strongly suggest you dive in and don’t look back! I have found the transition from being a Data Analyst in a cancer research lab to becoming a Data Scientist at an InsureTech company, one of the best experiences of my life. All the nerdy things I loved, i.e.,  _(computers, stats, data visualization)_, all banded together in an amazing career path. 

How long does it take to learn Python? The answer is up to YOU. 

Are you ready to start your next chapter?

Explore Our Upcoming Coding Programs

5 Reasons You Should Learn to Code

By

learning to code

There’s no denying that full-stack web development is one of today’s most sought-after careers. With a median salary of more than $75,000 and demand expected to grow 27% from 2014-2024, according to the U.S. Bureau of Labor Statistics, full-stack web development is a smart career path for many individuals.

But even if you’re not planning on becoming a full-time programmer, learning how to code and having that kind of knowledge and experience can have substantial benefits for your career and further job opportunities. In today’s competitive job market, the smartest workers are those who are able to leverage technology to their advantage — no matter their job title.

Not sure if you want to tackle the challenge? Here are five reasons and benefits of learning to code that will add serious value to your career.

Continue reading

What Is Front-End Web Development?

By

Advanced-Front-End-Web-Development

Name: Nick Schaden (@nschaden)
Occupation: Web Designer/Developer

1. In 140 characters or less, what is front-end web development, from your experience?

A mix of programming and layout that powers the visuals and interactions of the web.

2. If a website were a house, front-end web development would be ______?

Front end development would be the pretty exterior that gives the house character, or the host that invites guests in and makes them feel at home.

Continue reading

Preparing for an Immersive Coding Program? Don’t Stop at the Pre-Work.

By

Over the years, we’ve spent a lot of time thinking about the onboarding experience for students entering our Software Engineering Immersive (SEI) program. SEI is a 12-week, full-time program that gives people the foundation and skills needed to become full-stack web developer.

From 9 am to 9 pm on weekdays, and all day Saturdays and Sundays, students are immersed in code. Because the program is so intense and the learning curve so steep, we, along with other coding immersives (also known as “bootcamps”), advise students to start preparing before they arrive on day one.

Pretty standard is the concept of “pre-work”: 50-100 hours of readings, tutorials, and exercises designed to give everyone a foundation in basic web development concepts, as well as level set the class. At GA, students cover Git, HTML, CSS, and Ruby before starting SEI.

Continue reading

Getting Started with Sublime Text 3: 25 Tips, Tricks, and Shortcuts

By

Computer with blinking text selector

Sublime Text 3 (ST3) is the latest version of one of the most commonly used plain text editors by web developers, coders, and programmers. It’s available for Mac, Windows, and Linux, and free to download and use.

Make the most of ST3 with the 25 tips and tricks in this ultimate guide for web developers. Learn about must-have packages, useful keyboard shortcuts, and more.

1. User Preference Settings

By default, ST3 uses hard-tabs that are 4 characters long. This can result in hard-to-read code, as large tabular indents push your work to the right. I recommend all developers add this to their user settings (Sublime Text 3 => Preferences => Settings – User):

  {
    "draw_white_space": "all",
    "rulers": [80],
    "tab_size": 2,
    "translate_tabs_to_spaces": true
  }

This setting converts hard-tabs to spaces, makes indents only two characters long, puts a ruler at the 80 character mark (to remind you to keep your code concise), and adds white space markers. Here is a complete list of preference options if you wish to continue customizing your ST3 environment.
Continue reading

A Beginner’s Guide to REACT

By

If you’ve ever used HTML and CSS to build webpages from scratch, you know that it takes a lot of time and effort to make them look nice. Each page is handcrafted using these common front-end languages. However, if you hop on to a site like Facebook, users generate new content on the fly. There certainly isn’t a dedicated team of developers ready to update the page any time a person shares a photo or comments on a post. Instead, millions of users have the ability to post updates instantaneously.

This first became possible through tools like server-side rendering, older front-end frameworks like Backbone and AngularJS (i.e., versions 1.x), or jQuery. However, when it comes to large-scale websites and applications, these options present a couple of issues:

  • Their cumbersome code is hard for developers to maintain.
  • They aren’t always optimized for speed, which is especially problematic for users viewing on mobile devices.

Enter React, an increasingly popular front-end JavaScript library that enables developers to build fast, scalable webpages and user interfaces that can quickly adapt to continually changing data.

Why Developers Use React

According to the 2018 Stack Overflow Developer Survey, React is the framework most developers say they want to work with if they don’t already. There are plenty of reasons for this, but here are just a few:

  • Speed: React is fast! As more and more people visit webpages on a wide range of devices, fast performance is increasingly critical.
  • Reusable components: You can break down common elements (e.g., forms, buttons, or layouts) into a component, which you can reuse as you build out your app’s functionality, rather than code each new piece from scratch.
  • Easy collaboration: Independent components allow larger dev teams to split work without stepping on one another’s toes. For example, if you were working on a real estate listings site, you could have dedicated developers working on individual views of property listings, while another group tackles the view of all available listings and another works on the ratings system.
  • Highly scalable: Developers often prefer React for large-scale application because of the reusability and independence of the components.

A Brief History of React

A developer at Facebook created React in 2011 to help solve some particularly hard challenges with rebuilding the site’s advertising products, but the team quickly realized it could be useful in more areas. They first tested React’s capabilities on Facebook’s newsfeed to facilitate liking and commenting functions, as well as on Instagram’s website, then implemented it on a wider scale.

In 2013, React was released as an open-source framework so that other coders could take advantage of its speed and power to build out and optimize their own web and mobile applications. Devs at companies that use React love its ability to solve complex challenges, improve speed, and organize code in a way that’s easier for large teams to manage.

Today, React is one of the most popular ways to build pages or update old ones, with hundreds of top companies — including Instagram, Netflix, Dropbox, The New York Times, and many more — leveraging it for their websites. Now’s a great time to learn the framework, as there’s not enough talent to meet employer demand: According to the 2018 HackerRank Developer Skills Report, 33% of employers need developers who can use React — yet only 19% of developers say they have these skills.

Many new website features that seem simple to a user — like a notification system or infinite scrolling to view new custom content — can take months for a team to implement, so developers are there to continually develop, debug, and optimize. In fact, React has become so popular that the dedicated role of “React developer” as emerged for talent that works exclusively in the framework to modernize code and build new functionality. Whether you want to focus solely on React or use it to differentiate yourself from other front-end or software engineers, it’s a valuable skill to add to your toolkit!

How React Is Used to Build Webpages

Developers leverage React to create seamless user interactions. For example, when you search Netflix for a show you want to watch, you might see the results list narrow down with each letter you enter into the search field. These changes are immediate and you see a consistent user interface, which makes it easy to find what you’re looking for. But there’s a lot going on behind the scenes.

When you search for a movie (i.e., input data), your input goes to Netflix, and Netflix quickly returns matching results. This is because data for each category, movie, and show is loaded into a React component (you can think of this as a template or blueprint) that can be reused and updated based on the data.

The framework is based on the concept of components, both for viewing different data and for coding efficiency. Rather than reloading a whole webpage when a user interacts with it, the only components that change are those that need to be updated based on what the user wants to see or do on the page. Developers can also reuse components that have similar functionality throughout a site, saving them extra, repetitive work.

React is “agnostic” to other tools in your front end, which means developers can use it in tandem with other powerful front-end JavaScript frameworks and libraries like jQuery. Since React only handles how data is presented, developers often pair it with numerous back-end (i.e., data-handling) frameworks, such as Ruby on Rails, Express, Django, Drupal, and others.

React at General Assembly

In GA’s React Development course, you’ll learn not just how to create React apps, but how and why they work. You’ll use React to build a scalable, maintainable web application from scratch, and learn how to host it on Heroku to share with the world. You’ll also dive into APIs, JSX, React Router, and more. If you already know coding basics but need to double down on your JavaScript know-how, start with our part-time JavaScript Development course, on campus or online. Or, get started with a free livestream!

If you’re looking to launch a career in coding and are just beginning your journey, our full-time Software Engineering Immersive (SEI) course, on campus or remote, will take you from motivated beginner to job-ready in three months. In SEI, you’ll learn to create well-designed, high-impact webpages using both front- and back-end languages and frameworks, including React.

Ask a Question About Our Coding Programs

Meet Our Expert

Karolin Rafalski is a Web Development Immersive Remote instructor, which means you can take the course with her from nearly anywhere in the world that has internet. Karolin is a career-changer who spent over 10 years teaching at various colleges and took the Web Development Immersive course on the NYC campus in 2016. In her spare time, she enjoys biking, hiking, spending time with her cats and reading.

“React is one of the most in-demand front-end frameworks. Not only can it help you build faster and more robust websites — it’ll also make you a better developer.”

Karolin Rafalski, Software Engineeering Immersive Remote Instructor

How the Marines Prepared Me for a Career in Coding

By

ga_militaryeducation-head

While stationed in Okinawa, Japan, in 2008, I wouldn’t have guessed that my time in the Marine Corps would have prepared me for a future in coding. At the time, the 30 Marines in my platoon had access to just one shared computer. It served only two functions: completing online training requirements, and looking up one’s online military record. I never suspected that nine years later I would be designing and building websites and applications in an intensive software engineering course, General Assembly’s Web Development Immersive, now called Software Engineering Immersive (SEI) course.

My path toward coding was a winding one. As a Marine on active duty, I was stationed in Japan, Kenya, Sudan, Italy, and Pakistan. Later, after transferring to the Marine Corps Reserve, I pursued a bachelor’s degree in international affairs from George Washington University. While studying at GW, I worked at the nonprofit Veterans Campaign, where I was tasked with helping to rebrand the organization. Though I had little technical experience, I created an entirely new web presence for the organization and migrated its old content to the new website.

Continue reading

How Blending Lean, Agile, and Design Thinking Will Transform Your Team

By

Lean vs Agile vs Design Thinking Jeff Gothelf

Jeff Gothelf’s new book, Lean vs. Agile vs. Design Thinking

The following is an adapted excerpt from Lean vs. Agile vs. Design Thinking by designer, team leader, and business coach Jeff Gothelf.

In 2016, I was preparing with clients for an upcoming training workshop focused on coaching a cross-functional team of designers, software engineers, product managers, and business stakeholders on integrating product discovery practices into their delivery cadences. During our conversation, my client said to me, “Our tech teams are learning Agile. Our product teams are learning Lean, and our design teams are learning Design Thinking. Which one is right?”

The client found the different disciplines at odds because these seemingly complementary practices forced each discipline into different cadences, with different practices and vocabularies targeting different measures of success.

The engineering teams, using Agile, were focused on shipping bug-free code in regular release cycles (many teams call these “sprints”). Their ultimate goal was an increased velocity — the quantity of code they could ship in each sprint. Product managers, using Lean, were most interested in driving efficiency, quality, and reduction of waste through tactical backlog prioritization and grooming techniques.

Continue reading

Mindfulness Tips for Web Developers

By

Mindfulness for Web Developers

Early in my tech career, as a web developer, I was constantly stressed out. Every time somebody needed something from me, I felt I had to drop everything and do it right then. I was overwhelmed by my growing to-do list, and doubly stressed for not doing enough quickly.

All developers face a lot of pressure. When you’re coding or creating something, clients, teammates, and managers want it fast, and they want it perfect. Plus, today’s tech teams are always expected to be on and responsive through email, phone, Slack, and beyond, which digs into time you want to spend on the work itself. These aspects of coding culture can often lead to stress, unhealthy habits, and emotional burnout, which all keep you from reaching your potential on the job. That ultimately leads to more stress, more unhealthy habits…you get the picture.

Continue reading