| — Homepage |
|
You are viewing an Authentic Society Atom |
Being a Computer Programmer can mean many things. The description of a computer programmer's role at work varies depending on the nature of the programming problems to be solved at the employer company. With the extremely fast-paced developments in the area of Internet and Web Applications, it is not surprising that most engineers in San Francisco and Silicon Valley are employed by Web-based companies. What unites any software engineer, or a computer programmer, is that a person whose role is to program computers usually spends 40 hours per week at the computer desk staring at the screen and writing computer programs. These programs instruct the computer what to do. There is a magnitude of different programming frameworks and computer languages. Usually a programmer is specialized in one field of software engineering or one programming language. For example a computer programmer may mean any of the following positions namely: Systems Engineer, User Interface Developer, Flex / Actionscript Developer, JavaScript Developer, Web Engineer, Mobile Web Developer and so forth. The field of computer programming (also known as software engineering) is so diverse that sometimes the position terminology may seem confusing. This is also due to the constant evolution of software that is in turn influenced by the release of new hardware. For example when Apple released iPhone, many Internet-based companies started releasing applications for the iPhone, written with a special development kit that only works on a Mac, but could be emulated on a PC. Computer Programmers come in different flavors. There are Junior, Senior and Lead software engineers. A Junior Web Developer, for example, may be assigned tasks that are to do with HTML layout and design, knowledge of CSS stylesheets and the basic knowledge of JavaScript language. A Senior Engineer may be assigned more serious work such as programming a JavaScript API, work on a computer graphics engine, develop computer game tools applications or work on engineering User Interfaces. The Lead software engineer usually works on the entire application architecture of the product being released. The development of a software application begins with a design document and building the initial application framework or an engine. This includes taking care of network connections, building data transfer pipelines, data communication between different languages or databases and plenty of others, depending on the type of an application being developed. These duties are usually performed by the lead software engineer. There is usually one of them on a team. It is not at all uncommon for software engineers and computer programmers (however you want to call them) to work in teams as well as independently. Working in a team environment implies the use of software development tools such as version control (Perforce or Subversion), IDEs (Integrated Development Environments) such as InteliJ IDEA, EditPadPro, Eclipse and a few others. Some of these software tools cost a fortune and require a license, others are free. In a start-up company environment, a software engineer is required to work long hours, usually 8 to 10 hours a day sometimes working overtime and/or on weekends. This is sometimes exhausting but it is counter-balanced by a good salary. More than often, and this is true especially for the software development companies located on the East Coast (San Francisco, The Bay Area, or Silicon Valley), as a computer programmer you will be exposed to the software developer culture, which means that you are assumed to be part of the team, work together with others, be friendly and communicative and have a sense of humor. This is sometimes tough to perform for people who have spent years of studying programming in their bedrooms at night by themselves, as a personal interest and a passion or a simple hobby. The concept of a social programmer can sound like a paradox sometimes, but in reality many software engineers are bright, friendly and social people as opposed to the pop-culture belief that all programmers are anti-social geeks. Programmers and Software Engineers of all kinds make between $65,000 to $150,000 thousand dollars per year and higher, depending on experience. It is not uncommon for well-organized and presentable companies to be funded by investors. While it is relatively difficult to get funding for your own start-up company (funding comes in stages or series), once this is achieved, the company starts looking for a new office and interviewing applicants for potential candidacy. The interview process usually takes an hour, often two hours or more as the candidate is being interviewed by the Hiring Manager and then the CTO (Chief Technical Officer) and even some of the already-employed Software Engineers at the company. Different questions are asked during the interview that reveal more about the candidate's previous experience, salary history and the type of work that he or she has been previously exposed to. |
Don't miss the next article Subscribe to the feed on this subject |