Here’s my full story of how I became a software engineer even though I quit computer science in college.
Disclaimer: I know I got really lucky and am so privileged to be able to work in this field. My story is one of imposter syndrome and self doubt. But, I’m so lucky to be where I’m at today!
Personally, it pisses me off. Every time I see an article on this topic, my emotional bank account gets robbed. They are all about SEO. Inappropriate keywords squeezed into tiny sentences just to get better rankings. No intent to entertain or enlighten the reader whatsoever. Sometimes, such articles can even be outright wrong.
And even though the purpose of this blog post can be to generate traffic, I tried to make it more of a meaningful rant than a lifeless academic essay.
So, let’s see how you feel by the time you are done reading this paper.
Without further ado:
Since there are no proper interpretations of both terms, a lot of people use them interchangeably.
However, some companies consider these terms as job titles.
The general “programmer-developer-engineer” trend goes along the lines of:
#devops #software development #programming #software engineering #software developer #programmer #software engineer #software engineering career
We are passing through tough times, “The moment everything changed” with COVID-19, quarantine, people trying adapt their day to day, companies not prepared to work remotely… On top of that, one thing that I have seen is a lack of science in different aspects. Lots of assumptions, lack of data and a complete chaos.
In engineering, one thing that we don’t want is chaos — WHAT?! But what about chaos mindset, chaos engineering? — don’t get me wrong, as engineers , we accept chaos and live with it, but build stable and resilient systems on top of it.
According to wikipedia, “Scientists study things by looking at them very carefully, by measuring them, and by doing experiments and tests. Scientists try to explain why things act the way they do, and predict what will happen” and also “Science uses mathematics and logic, which are sometimes called ‘formal sciences’.”, “ Science produces accurate facts, scientific laws and theories”. And as you well know, against facts there are no arguments.
Science is about exploring, experimentation, discovery and, of course, data. Please, data. Let’s base our propositions, our argues and discussions on concrete things…
#software-architecture #software-methodology #computer-science #software-improvement #software-engineering
If the answer to any of these questions is Yes!, Then you have come to the right place. :)
Before we start, I’d like to introduce myself and give a little background information. I am a graduate from IIT Roorkee from the Metallurgical and Materials Engineering Department without a decent CGPA. But currently, I am working for Amazon as an SDE-1 (Software Development Engineer) and I interned with the Google Summer of Code Program twice (2020 & 2019). If I can do this, so can you!
Let me introduce you to three friends Aayush, Bhaskar, and Chirag (names may or may not changed). They got JEE ranks of 2500, 7000, and 13000 respectively. They had several choices of colleges and branches. They could have a CS major at one of the new IITs or a noncore branch at one of the old IITs or CS branch at Tier 2 or Tier 3 college. They took the following choices:
Each one of them has his own grievances. Aayush is worried that not many companies would recruit software developers from his branch as it’s not related to Computer Science. Bhaskar is worried that since his IIT is a new one, so many companies may not visit it for campus recruitments and he may have to apply off-campus. Chirag has a CSE degree but is worried that he may not get recognition because his college is not Tier 1 and his peer group is not competitive. A grievance common to all three of them is that each one of them does not know how to build a career in Software Development and get a job at their dream company.
Can you relate to any of these three guys? Did you also choose a non-core branch in a reputed college because of brand value? Could you not get your department changed to CSE because you got a 7 pointer in your first year and the cut-off for CSE is 9.8? Do you find your department not interesting enough and now you are stuck with a low CGPA? Are you worried about the internship and placement season? Does your friend keep boasting about his Codeforces rank and you don’t know where to start? Are you confused about whether you should start Web Development or Machine Learning? Are you afraid that you won’t be able to build a career in tech because you screwed up your programming course in the first year?
If the answer to any of the questions above is Yes, then you’ll be happy to know that you can build a successful career in software development by following a simple strategy or path. All you need is a laptop and an internet connection and you’ll be good to go. In this post, I’ll be targeting the individuals who want to build a career in software development but do not have a CS major or proper mentorship from seniors for whatsoever reasons. We’ll be going through a road map that you can follow to cover all major topics of CS without feeling lost. I’ve seen people jump into Android Development without knowing Java/Kotlin or basics of Data Structures and Algorithms and therefore losing interest afterward. Don’t do this.
This post is relevant for all people out there irrespective of their year of study or branch. Even if you are enrolled in a CS degree or even if you are a graduate who’s looking to switch career or if you are looking for a quick guide to get a coding job in a small period of time, the post would be helpful.I’ll be only mentioning the essentials.
Here we begin:
I’ve divided the road map into three phases. After the first phase, you should be able to solve basic CP problems. After the second phase, you should be employable by major Tech firms like FAANG. The third phase teaches you web development to increase your chances of placement. The fourth phase will teach you about hotshot topics of CS like ML, DL, and other topics that may be of help while preparing for interviews and would be discussed in Part 2 of this article.
#computer-science #software-development #software-engineering #careers #career-advice #data science
Software development is something that is gaining popularity at lightning speed with the development of technology. The demand for regular developers is high compared to most other mainstream professions. But, what are the other reasons for learning to code?
Given my experience as a software engineer and Java tutor, I’ve come up with many reasons, and, in this blog post, I am going to share them with you. I hope they will lead you to make an informed decision.
Salary is a frequently discussed subject in a programming environment. Compared to many other industries, software engineering allows specialists to receive a way higher average wage.
To avoid being verbose and prove that you are a future high-demand expert, I will give you real numbers based on data from Glassdoor, the job and recruiting website. The salary rate is the average between the length of service and all geographical data. It also depends on the coding language you are mastering.
Software development is one of the industries that show comparatively stable employment. Unlike many other occupations, computer professional activities face a significantly lower unemployment rate even during a pandemic. See the table below.
Although the industry is stable enough, the technology moves fast, which means the specialists will hardly be able to use all those skills they have now in 2–5–10 years. The good news is that many IT companies contribute to the professional development of their software engineers because using modern tools consequently leads to their business success. So, if you constantly update your skills, you don’t have to worry about losing your job.
When you are good at coding, you have more options. You can decide whether you want to join a large company or a small one as a programmer. You can start your own startup or choose to work as a freelancer without being tied to a place. You can most likely get an offer and move to another country for relocation. Everything depends on your goals.
Knowing how to program not only improves your way of thinking, but it also makes your CV stand out among others, even if you’re engaged in the indirect activities, like software testing, digital design, system administration, business or data analyst. Mentioning you are good at programming gives hiring managers a better understanding of your ability to think critically and grasp advanced topics quickly.
#programming #software-development #software-developer #software-engineering #software-engineer #computer-science #learning-to-code #coding
The sounds of the keys clicked and clacked as I rushed my fingers across the laptop keyboard. I only had 30 seconds left.
“Gotta finish this fast,” I thought.
After a couple more finishing touches, I hit “Enter” and watched as a popup window appeared on-screen.
ALERT: MALWARE DETECTED! PLEASE INSTALL NEW ANTI-VIRUS UPDATE!
Beneath the popup were two buttons: “Update” and “Cancel”. Just as I had practiced.
A few moments later, I heard a door open and footsteps coming down the hallway. I shut the laptop, tip-toed to the filing cabinet across the room and began rifling through the papers, as if searching for something important.
Penny, my co-worker, strolled around the corner and made a beeline for her laptop on the counter. My pulse quickened in anticipation. Out of the corner of my eye, I saw the alert materialize as she opened her laptop.
Penny said nothing as she read the alert and quickly clicked “Cancel”.I bit my tongue — the last thing I wanted was to give myself away with an unintentional titter. The silence was broken when a new alert popped-up on Penny’s screen.
WARNING: New Virus Detected! Shut Down Now!
#technology #software-development #college #computer-science #programming #data science