How Flywheel's Harsha Kethineni Went from Student to Senior Software Engineer
Software development is in Harsha Kethineni’s blood. “Both of my parents are in the computer science field,” he says. “So when I was younger, they introduced me to programming.” By the time he was in middle school, he was creating his own text-based video games. “I liked learning different languages and different ways of how to program, and by the time I was in high school, I knew I wanted to go into a STEM field.”
And that’s exactly what he did. Today, Harsha is a senior software engineer at Flywheel, a biomedical research data platform. We sat down with him to learn about his journey from college student, to intern, to engineer. Keep reading to hear his advice to smooth the transition from school to industry.
Figuring Out Next Steps
Harsha knew that he wanted to focus on science and technology in his career, so he originally opted for a double major in physics and computer science. “I had always been interested in astrophysics and space, and I wanted to learn more about that,” he reminisces. “But then I took my first physics class and thought, ‘alright, nevermind, we're going to stick to computer science.’”
With a new found focus, Harsha began tackling his classes and learning about different aspects of computer science, but he wasn’t sure which area he wanted to focus on. “It got to a point where I thought, ‘Is computer science really what I want to be doing?,’ he explains. “Because what I was learning was interesting, but it didn’t seem to fit with what I wanted to do.”
That’s when he decided to get some experience outside of the classroom to help him secure his career path. “It was my sophomore year, and I thought, ‘I want to get an internship because it seemed like what smart people did,’” he laughs. After hearing about Flywheel from one of his colleagues at an on-campus student group, Harsha decided to apply for an internship.
After a series of interviews, they welcomed him on the team. He got the opportunity to dive into the industry and get insight on the different fields he could potentially work in. “Everything kind of clicked together and I thought, ‘okay, this is what I want to be doing, software development.’”
Diving Into the Real World
This internship revealed some major differences between his development classes and the projects he was working on at Flywheel. “At Flywheel, what I was working on could change very fast,” he elaborates. “At school you have a syllabus, you know what you are going to be working on.”
While at university there were structured problems that had a neat solution, he realized that in the real world, he had to identify the problem first, and then try to solve the problem. “Sometimes you almost feel like a detective trying to figure out what's going on and why it's not working,” he says. “So that's always fun. It keeps you on your toes.”
“I'd say the hardest thing to learn, and what probably took me the longest to learn, is in school, when you write code, you just need to write it once, to get it to work, and then you can kind of ignore it for the rest of your life,” he laughs. “You can't really do that in an industry. You need to write it and then make sure that six months from now you can still understand what you wrote.”
Flywheel’s dynamic, collaborative environment ultimately led Harsha to accept a full time offer as a software developer. Four years later, he’s continued to climb the career ladder and is thriving in his current role as a senior software developer.
Tips for Transitioning Into the Industry
Harsha knows, first hand, that going from student to professional can be challenging. Keep reading for his advice to help smooth the transition.
Tip 1: Actively search for experiences and internships. Gaining real world experience is key to making the transition from student to professional smooth. One way to do that is through internships. “It feels very daunting when it comes to searching for an internship,” Harsha confesses. “You see all of these postings online and you think, ‘am I qualified for it?’ Other times you get automated rejections.”
When Harsha was looking for an opportunity to gain hand-on experience in the field, he relied on a network of support. “The reason I got my internship was by meeting somebody who mentioned this company that I'd never heard of.” In addition to networking, Harsha recommends using other tools. “Try multiple avenues of looking for jobs and internships.” Some of the avenues he suggests are industry meetups, school networking events, and conferences. “You need to break out of your shell a little bit to meet your people, to find these opportunities,” Harsha advises.
Tip 2: Let your passions shine in the interview. After applying to a job or an internship, the second step is to prepare for the interview. Harsha’s interview experience taught him that employers look for passionate people. “One of the people that interviewed me mentioned that they looked to see if candidates were doing any programming outside of school,” he says. “That shows that you have a passion for it.”
These days Harsha finds himself on the opposite side of the table as an interviewer. “When I'm sitting in on an interview, I tend to look for that [passion] as well, if they would enjoy working here in the software development industry.”
Tip 3: Don’t let your degree limit you. While Harsha pursued a degree in computer science, he’s seen that there’s no one correct path to a successful career in tech. “A computer science degree isn't really necessary at all,” he elaborates. One of Harsha’s former colleagues was a self-taught programmer. “He picked up small contract work online writing code and developing websites. Now, he’s a software engineer at another startup.”
Everyone’s journey looks different, so there’s no one-size-fits-all way to a successful career in tech. “Computer science was the path forward for me, but there are so many paths to take. Experience, passion, and curiosity are more important than a specialized degree.”
Are you ready to put Harsha’s tips into practice? Check out Flywheels’ open roles here!
What Coding Language Should You Learn First?
In today’s job market, the majority of in-demand, high salary, secure careers involve technology. Just understanding and knowing the role technology plays in everyday functions is enough to set you apart. However, if you’re looking to make a significant career move, there’s one highly recommended skill you can acquire to start your tech journey: coding.
There are hundreds of coding languages out there, so how do you know which one you should learn first? Instead of endlessly scrolling through countless websites to find the answer, keep reading for our list of coding languages that are best suited to help you enter the technology career of your choice!
Why Learn to Code?
From buying a movie ticket to playing music, almost everything we do is supported by lines of code that come together to provide a function. We use code to create websites, games, apps, software, and so much more. So how exactly does it work? Coding is how we communicate with computers to produce a desired outcome.
Simply put, it’s a way to instruct a computer to perform a specific function. Similar to human languages, there are different coding languages that communicate different functions to a computer.
Having a general idea of how code works and using that knowledge to improve and create new features is a powerful skill in any industry. The benefits of adding coding knowledge to your resume are numerous. Not only will it set you apart from others, but you can expect a significant increase to your earning potential. Coding is also a skill set that is highly in demand and highly likely to stay in demand.
Also, learning to code opens the door to opportunities for careers in almost any industry, as well as freelance and remote working opportunities. The scope and potential of this skill is vast. This may seem intimidating at first, but you can always start by learning one and expanding your knowledge over time So, without further ado, let’s dive into some of the best coding languages to start with!
Top 4 Coding Languages with Potential Career Paths
HTML
HTML or HyperText Markup Language is the computer language behind web pages and applications. The term hypertext refers to text that references other text, while markup language refers to the different symbols inserted with text that change the style and structure of a text document. HTML tags specify parts of text as headings, paragraphs, links, and so on. In essence, HTML allows you to influence what a user sees on their screen.
It might surprise you to know that HTML is not considered a programming language. As a markup language, HTML does not actually modify or manipulate data. However, skills in HTML still classify you as a coder in a markup language. Being skilled in HTML is also a common prerequisite for IT and front-end development careers. Should you combine your HTML skills with other programming languages, you’ll find yourself being able to create the bulk of webpages and applications. For this reason, we recommend learning HTML as it is the foundation needed for careers in front end development. Most importantly, it is widely used and beginner friendly!
JavaScript
One of the most widely used programming languages JavaScript is used in web development, mobile applications, game development, and web servers. This language is responsible for the behavior of a web page. This includes features such as clickable buttons, animated content, graphics, and interactive capabilities. JavaScript is the code behind online shopping carts, syncing audio to video, image rollovers, and other common user-oriented applications.
Due to its wide use, JavaScript is highly sought after by hiring managers. Frontend development, user interface design, and web application development are all careers that require a knowledge of JavaScript. Additionally, if combined with HTML or CSS, JavaScript is even more potent. It might also reassure you to know that JavaScript is considered a beginner friendly language! In fact, it is often regarded as one of the easiest programming languages to learn. If designing user-friendly and dynamic web page features seems interesting to you, then learning JavaScript is a critical first step!
Python
Python is a general-purpose programming language that is regarded as another easy programming language to learn and use. Python’s powerful abilities have led to its popularity as the go-to language for back-end development. In fact, Python is the code behind popular websites such as YouTube, Google, Spotify, Instagram, and even Reddit to name a few! Python is used in data analytics, science, website development, imaging, animation, and even video games. Python’s extensive libraries, community-oriented platform, user-friendly features, and overall flexibility has made it the backbone of many popular services.
Learning Python would open up opportunities in a number of different tech roles. While some functions of Python are applied to frontend development, Python is more powerful with backend development functions or even full stack development roles. Some applications of Python can include optimizing algorithms, enforcing security and protection measures, ensuring high performance across features, data analytics, and designing databases. Python is also widely used across industries and would allow for variety in day-to-day tasks.
Learning Python is beginner friendly due to its readability and easy-to-use structural elements. Python is especially great for English speakers and makes it easy to memorize basic syntax structures. If you’re seeking to advance your career using Python, we recommend you first gain a basic understanding of its features and then learn advanced features that are applicable to the demands of your role.
Swift/Kotlin
Applications are everywhere. Any app that you can name was written by a team of programmers. If you’ve ever had the desire to write your own app, create an app for your business, or even set up apps for others, then learning coding languages for operating systems such as iOS and Android would be your best bet!
Since an app is developed for a specific operating system, there are different programming languages that best suit that operating system. To write an app for Apple’s iOS system, you can learn Swift, which is a programming language developed by Apple. Similarly, Kotlin is a programming language suited for applications written for an Android operating system. Learning either language, or perhaps even both, will allow you to begin your career as an app developer. App developers work independently or with teams to produce apps for different operating systems. This is a skill that is sought after by many as there is high demand to develop mobile apps quickly and efficiently. Additionally, both Swift and Kotlin make writing apps both easier and faster. Swift and Kotlin are relatively easy to learn and need at least 2–3 months to learn. If you decide to learn these languages, maybe one day we’ll all be able to use an app that you wrote!
Our Pick: Python
Picking a programming language to start with should be dependent on your career goals. JavaScript and HTML lead to fron end and website design jobs, while Swift and Kotlin open up paths in app development. However, for those seeking to generally enter a tech career, Python is the most versatile option. Python allows for a mix of frontend and backend development, and opens opportunities in a plethora of technology functions. In addition to far-reaching career prospects, Python is extremely beginner-friendly and known for its user-friendly syntax. As an added bonus, learning other programming languages after Python is even easier!
Ready to Get Started?
Learning to code does not have to feel daunting! The most important part of learning to code is your mindset. Coding can be fun and there are different resources to assist you along the way. One of our top recommendations is coding bootcamps. Bootcamps allow you to learn coding in a guided and streamlined process. Most importantly, bootcamps are usually accompanied by a certificate which you can add to your resume. If you want to learn more about coding bootcamps you can click here for our list of the Best Coding Bootcamps in 2022.
5 Tips on Pivoting to a Tech Career with a Non-Traditional Background
Insight from CallRail’s Amanda Raymond
If you ask any of Amanda Raymond’s friends, family members, or colleagues, they’d all agree that she embodies living life to the fullest.
The Staff Engineer at CallRail is currently exploring the great American outdoors in a custom camper which doubles as her portable office. And when she’s not showcasing her coding skills at work, she’s busy exploring, kayaking, solo hiking, or making repairs on her house with wheels. “Everyday something breaks, so I'm learning how to be an electrician, learning how to be a plumber, and everyday I have to learn something new,” she says cheerfully.
This roadtrip is a full circle moment for Amanda because, just over 8 years ago, after quitting her job as a biochemist, she set off on another cross-country trip that reconnected her with an old friend who introduced her to an opportunity to change her career trajectory by joining a coding bootcamp.
“Coming from a biochem background, you had to have a certificate on a wall with a high degree to get through a door. I had a bachelor's, I didn't have a Masters, I didn't have a PhD,” says Amanda. “I knew that I wanted the freedom of a career in Tech and the lifestyle of a coder so I took a leap of faith.” And she dove headfirst into a full-stack web development bootcamp. That leap of faith has helped her transition from a job in science that she wasn’t passionate about and grow a fulfilling career that allows her the freedom and flexibility with a company that embraces her adventurous spirit.
We sat down with Amanda to hear more about her career journey, and to gain some unique insight on starting a career in technology with a non-traditional background. Keep reading for her top 5 tips for breaking into a career in technology.
Tip 1: Acquire the Skill Set: Join a Bootcamp or Use Online Resources
Amanda’s journey began when she attended a coding bootcamp. “At the time I joined, the whole concept of coding bootcamps was new,” she explains. “So a lot of people didn't know what bootcampers were.” But nowadays, bootcamps are one of the most popular ways to learn how to code and, like for Amanda, they serve as a great foundation for career pivoters to break into the world of tech.
Amanda highlights the fact that you don’t have to have a degree in computer science to start working in tech. Career pivoters have valuable experiences, perspectives, and transferable skills that can be hugely beneficial for companies. Amanda sees having a background in something other than tech should be seen, “not as a disadvantage, but as an advantage.”
But bootcamps aren’t the only way to accelerate your learning, especially considering the financial investment required for these intensive courses. “There are so many free resources out there,” Amanda elaborates. “If you have the discipline to teach yourself, you can listen to podcasts, you can do tutorials online, you can watch YouTube videos, the possibilities are endless. Information is free on the internet these days and so at the end of the day, if you're trying to see if you wanna go into tech, I would say immerse yourself with that information.”
Tip 2: Network to Build Personal Connections!
When it came to finding a job, Amanda eagerly recommended networking. “My advice to people going into transitioning into tech is to go to meetups consistently, but don't go with the intent of getting a job,” she warns. Instead, she advises to focus on making connections, and the professional opportunities will follow. “Get to know people, be excited to be there, be motivated to learn, and be curious about the people that you're meeting. Because at the end of the day, a lot of people just want to work with people that they get along with.” Amanda secured her first major tech job at a small startup via a networking event. Her connection with a friend of a CTO of a local startup led to an interview, her first job in tech, and a “forever mentor.”
After a bustling three years of learning under the wing of that CTO, Amanda was ready for the next learning experience via a different lane in the tech industry. “The fervor and energy surrounding ‘startup life’ was incredibly rewarding and insightful for my apprentice-like mind for 3 years, but eventually proved pretty taxing,” she explains. “ I was excited to dig into the next phase of my career transition at a larger company..” So, once again, she utilized her network to transition from her startup to a position in CallRail. “Some of the CallRail admins had previously worked for the same startup I was currently working at, and my CTO advocated for me as a reference to let them know I was going to apply.”. She started her journey with CallRail in 2017.
Tip 3: Leverage your Transferable Skills
When pivoting into tech, your transferable skills will help you bridge the gaps that you might be missing with education. In fact, they can also give you a leg up on your colleagues. In Amanda’s case, applying the scientific method to coding came as a strength. “I use it daily at work for solving problems,” she explains. “It comes down to observing a problem, researching the topic, proposing a hypothesis, running an experiment that can test that hypothesis, analyzing the results, and then reporting the conclusion.”
Having an idea of how your prior skill sets can be applied in your new career is an interview must. Being prepared to explain your non-traditional background can help employers better understand who you are and what you can bring to the table.
Tip 4: Find the Right Work Environment for You
One of Amanda's favorite aspects of working at CallRail is that the company prioritizes employee passions. “CallRail is a place where, if you are passionate about something, then they will do whatever it takes to help you to do it. They want people to be passionate about what they're working on.” And that doesn’t just mean in the workplace. In fact, Amanda credits her current lifestyle to CallRail’s trust and willingness to provide remote opportunities post-COVID. “Not many companies would be okay with what I am doing, but CallRail has been very supportive. My manager has, from the very beginning, been supportive of this track for me.”
Having a sense of support and trust at work translates to overall happiness and wellbeing. “At the beginning of my mobile office journey, I asked my manager to please let me know if I have a decrease in work efficiency, and that I would promptly adjust,” she explains. “And my manager responded with,, ‘If anything, we think that you are going to do better work because you will be happier.’”
To find the best work environment for you Amanda recommends doing your research on company values and culture and asking questions to make sure the company is a good fit. “When you're interviewing for a job, they're not just interviewing you, you're interviewing them to see if that's a place where you can thrive.” She further explains, “At the beginning of your career transition into Tech, you want to find an environment that celebrates where you are currently in that journey and provides you with tangible resources and guidance to take you to the next level.”
Tip 5: Build the Right Mindset
In order to best succeed in this field Amanda highlights three mindset shifts she believes led her to success.
Be patient with yourself. “You have to have a lot of patience with yourself when learning something new. And if you have confidence that you can do anything you set your mind to and the patience with yourself to stick with it (because it won't happen overnight)— you can be successful,” says Amanda. “The patience to stick with myself and continue to believe in my abilities during challenging times was my map to transitioning into tech.”
Get comfortable not always having the answer. For Amanda, starting a career in tech requires accepting that you will need to be a continual learner. “I think that being in tech is kind of like being on a constant roller coaster of newness and learning. That journey never ends, and you have to kind of be okay with that and then get good at it,” she explains.
Be passionate and coachable. As the previous point suggests, teachability is a trait that any career pivoter needs to embrace. During her time as a coding instructor, she noted that the most passionate students were the most likely to succeed, saying “What I saw as a teacher and as a mentor is that the people that were truly passionate, in a way that was contagious, were able to succeed by constantly communicating and staying humble, yet eager to tackle the rigorous process of learning.”
Are you ready to pivot into tech? Click here to check out CallRail’s open positions.
Careers in Web Development: Which One's For You?
We all have our favorite websites– the ones we frequent, bookmark, and recommend to others. You might even enjoy some website features so much that you’ve found yourself wondering why they aren’t more popular. Or maybe you’ve experienced times where you were frustrated with a website and wished you could add features or even design your own!
If you’ve ever found yourself intrigued at the prospect of designing and developing your own websites, then a career as a web developer might be just for you!
As a web developer you would be responsible for coding, designing, optimizing, and maintaining websites. Today, there are over 1.7 billion websites in the world and, in turn, the demand for web developers is on the rise. In order to figure out what kind of web development work best suits you let’s start with an introduction to the three main roles in web development that you can choose from.
The Three Types of Web Development Jobs
Front-End Web Development: The Creative Side
Think of front-end development as the décor of a house. The color scheme, furniture, manicured lawns, and overall aesthetic. In terms of a website, front-end development is laser-focused on the appearance of a website and its presentation on different devices. If you’re considering a role in front-end development, it’s important to learn programming languages such as HTML, CSS, and JavaScript. These three languages go hand-in-hand. HTML allows you to create user interface elements, CSS helps you with stylistic elements, and JavaScript allows you to incorporate online tools and connect your website to back-end functions.
In addition to programming skills, front-end developers need to be detail oriented, creative, willing to keep up with the latest trends in web development, cyber security conscious, and geared toward user-friendly designs. The median salary for a front-end developer can reach well into the $90,000 to $100,000 range.
Back-End Web Development: The Logical Counterpart
While a house can be beautifully decorated, it’s incomplete without a solid foundation and efficient infrastructure. Similarly, a well-designed website depends on logical and functional code to power the features of that website. Back-end web development is code-heavy and focused on the specifics of how a website works. If you enjoy the analytical challenge of creating the behind-the-scenes code that powers a website, then back-end development is for you.
Since this role is more code-heavy, it’s important that you learn numerous programming languages and understand algorithms and data structures. Some languages that are essential to back-end development are Ruby, Python, SQL, and JavaScript. Back-end developers also ensure that users can successfully retrieve and access data. This requires creating and using APIs (Application Programming Interfaces) which act as messengers that relay data related requests. Additionally, developing the code for the inner workings of a website also requires back-end developers to be conscious of the user interface features designed by front-end developers and to internally mitigate potential security risks. Due to the increased technical aspect of this position, back-end developers normally earn higher salaries than front-end developers. The average median salary for this role is around $118,000 per year.
Full-Stack Web Development: A Little Bit of Everything
A full-stack developer is essentially the Jack (or Jill)-of-all-trades in web development. Full-stack developers need to be knowledgeable about both front-end and back-end roles. This does not necessarily imply that you would need to be an expert in both roles, but you should fully understand the different applications and synergies they each imply. In order to work in this position, you will need to know the programming languages used by front-end and back-end developers. In addition to these languages, full-stack developers also specialize in databases, storage, HTTP, REST, and web architecture.
Full-stack developers are often required to act as liaisons between front-end and back-end developers. Full-stack developers need to be both problem solvers and great communicators. The end goal for a full-stack developer is to ensure that the user’s experience is seamless, both on the front-end and on the back-end. In return, you can expect to earn a median salary of $100,000 – $115,000 a year for this role.
Taking the Next Step
Web development is both in-demand and lucrative! All three roles described above contribute to specific aspects of web development and the scope of each one can be customized to the industries and positions you feel best suit you. Regardless of which role you choose, all of them need a foundation in programming.
To gain the programming skills needed in each role, you can enroll in courses or learn independently. Coding bootcamps are a great way to boost your skillset quickly and efficiently.
Click here for some of our highly rated programming bootcamp options! Make sure to check out the discounts available to PowerToFly members.