Software Engineer
Early on, he wondered how objects on a computer screen could be set in motion. An inquisitive mind, able to envision unseen solutions plus patience to sit in front of a computer screen, are both required for this career.
FAMILY INFLUENCE
NA was born in the rural Northeast. His father’s career involved early applications of computer hardware, including a home-built system where NA was first introduced to computer games. NA’s mother was a special education teacher.
As a kindergartener, NA learned how to insert a disc into the drive slot as the first step to allow him to play a computer game. Often on a weekend morning, NA would pester his sleeping father for the keystroke steps to activate the blinking cursor to launch the game program.
NA watched with interest, his father’s persistence in trying to fix anything presenting a problem, from computers to furnaces to lawn mowers and cars. NA adopted the same “can do” attitude and enjoyed the patient hunt for solutions.
HIGH SCHOOL COURSES NEED NOT BE CAREER ORIENTED
In high school, NA became an accomplished musician. He could master any academic subject including math but had no interest in achieving the highest grades merely as a reward for hard work, without another purpose beyond learning what he needed to know to pass tests with above average grades.
COLLEGE COURSE MAY COMMENCE CAREER INTEREST
NA’s college choice was based on a multitude of factors, primarily access to off-campus, outdoor activities and reasonable tuition since his parents would be paying all college expenses for NA and soon also for his younger sister. A specific, computer science-based curriculum was not a major factor but NA noticed that such courses were available.
Through his college freshman and sophomore years, NA was not initially focused on any specific career path, but he did realize within his first computer science course, that he readily understood all of the concepts which made sense to him but which were problematic for many of his fellow students.
MATH AND SCIENCE SKILLS AND INTEREST FOR SELF ASSESSMENT
A student interested in pursuing a career in computer science technology, needs to be comfortable with basic math concepts through the level of algebra but not necessarily through the level of calculus. The “science” within computer science is not the conventional perception of working in a laboratory but more a recognition that facts and objectivity matter above subjective opinions, though the latter are useful in mentally creating a plan to organize numbers and concepts sequentially with persistence until the resolution of the various solution attempts can be reliably reproduced.
INTERNSHIPS
Internships (usually in the summer between college semesters) in computer programing are now available and highly recommended for experience in both computer programing skills plus working in a business environment. With his father’s guidance, NA informally interned at home.
FIRST JOB
When NA graduated from college (and still to the present time as this career story is prepared in 2021), there was and remain no licensing requirement to be a “computer software engineer”. But since NA’s college graduation, first job applicants often are now often confronted at their first job interviews, with mental puzzler questions for which colleges now assist preparation; for example: “Why are manholes round?
NA’s first job following college graduation was within a company which programmed computer design. Most entry level positions within computer technology businesses involve coding for software. (From a perspective outside the world of computer technology, the term “IT” – standing for Intelligence Technology – is conventionally applied to anyone working with computers; but within the technology field, “IT” refers to administration of software, not to its creation or modification.)
GENERAL CLASSIFICATION OF COMPUTER SCIENCE BUSINESSES
NA never sought employment within extremely large businesses, which many refer to as the “FANG” group, an acronym for Facebook, Apple, Netflix and Google. FANG equates to large businesses primarily engaged in developing computer software programs.
NA’s observations from employment with several computer science business models: (Editor’s note – Remember this is one person’s opinion)
Small business – As in any entry level position in any size business, the new hire probably starts out doing repetitive work such as coding. For career satisfaction, the key question is how long does entry level work persist before promotion to more creative positions are available? Long term, is there the opportunity to become a part owner to contribute to the overall business plan and a voice in personal compensation?
Large business – Does the initial and eventual salary higher than offered by smaller businesses, offset the potential for remaining assigned to one type of job longer than likely in a smaller business?
Start-up business – The lure is getting in on the ground-floor of an exciting new business concept, hoping your creativity will add to the success of the business within the marketplace, to enable early employees to earn high compensation when the organization grows into a mature business or is sold to or merged with another business. The downside risk of a start-up is that by definition (a ‘start up’), it has no track record of success. Usually, low initial compensation is consistent with the lack of immediate business financing available, though sometimes a small percentage stake in ownership is offered as an offset to low compensation. Thus, any start-up is a high risk, high reward opportunity. Is your personal lifestyle ready for the risk while you await the possible reward?
POTENTIAL CHALLENGES FOR COMPUTER SOFTWARE ENGINEERS
Chair patience – Regardless of whether the computer software engineer is hired for the first time or has earned the trust of management to qualify for significant personal flexibility in work scheduling, the engineer will have to sit for long daily hours in front of a computer screen – either consecutively or cumulatively on most days.
Financial stability – Usually the larger the business and the longer it’s been in business, the more likely it will continue in business and thus so will your paycheck. But those employed by large corporations must continue to watch the marketplace since modern business values price competition and innovative technologies over customer loyalty. Be aware of your employer’s place in the market. As with most careers, “Nothing is constant except change.”
Management – “Good” management establishes a working environment where individual and team production is recognized, where workers are provided the necessary and constantly updated equipment to succeed and where the pressure to produce results is not unbearably constant, 24/7.
Ethics – Recall the recent news of a major car manufacturer being caught manipulating its diesel emission test results to appear less toxic than in real operation. Management blamed the computer software engineers for the “unintentional error” in their production process. However, further technical investigation and analysis revealed computer software, which was specifically designed to produce different results, with less air pollution, when the emission system was being tested, in contrast to greater air pollution – above acceptable legal and industry standards – when operated in consumer driving conditions. Thus, it was concluded that the software was intentionally designed by a software engineer to evade the law and to evade public health requirements. So, the engineer acted unethically as well as unlawfully but did the engineer act on his or her own initiative without knowledge or direction of management? Does the engineer accept the risk of employment termination by refusing to comply with an illegal or unethical employer mandate? Should the engineer refuse to comply and resign or be terminated, does the engineer have an obligation to alert appropriate authorities to the unethical / illegal plan (i.e. become a “whistleblower”)?
JOB SECURITY
When you understand how to create and/or fix computer programs better than your manager and practically anyone else within your business and your manager recognizes this fact, you have job security – so long as you are not dishonest or present such high drama as to negatively impact company morale.
CAREER SATISFACTION
When you have reasonable freedom to use your personal creativity to solve computer software goals or problems which are or will be useful to society and your performance is recognized by reasonable compensation, you have achieved career satisfaction.