Software Engineer

Title: distinguished engineer- a lead level position for software engineer

Reports directly to the CTO of his company (Keysight technologies)

Keysight technologies has over 15,000 people with 3,000 engineers

Mostly hardware products, but some software products are included

His responsibilities include:

  • Prototyping (if there is a problem they would like to solve/make, he would be the person to find a solution) 
  • Filing a lot of patents
  • Leading the technical direction: with any given problem, there are a dozen different ways to solve it. He is responsible for narrowing down to a specific approach and dividing jobs into pieces (one team for a specific part)
  • Freeing stuffed projects: if a team is getting behind schedule or if there is a problem that cannot be solved, he assists by getting them out of the situation and redirects them to a different solution
  • Introducing many new technologies = has many talk and presentations and papers about how to use the company's technology and teaches people about it
  • Technical backup to the sales team (ex: selling to Verizon)
  • Due diligence: when companies buy other companies to their technology (He must evaluate technology of the company being bought (quality, pricing, etc))

Thus, software development has a wide variety of roles 

Writing software - for research and development

A software engineer just out of college will start working as a generalist

  • You must know how to write/evaluate software since you have no specialization
  • Will eventually learn something special through your job

Huge variety of subject matter expertise that people focus on (ex: UI development, specific types of technology, medical devices)

  • An advantage when you are computer scientist with other area of expertise is that you can write software catered to that area

If you are not interested in writing software all day: all of the following are potential career areas:

  • Test engineer- when new technologies are being made, check for problems
  • Sales engineer- completely separate from research, manages sales, takes software that has been created and applying it to a real world problem
  • Product manager - attached to business, look at the markets, communicate customers' requirements to development for things that need to go in the product
  • IT - know and manage things that are used within the company itself (database, networks)
  • Operations (for companies that sell services) - manages day-to-day processes (ex: Netflix runs 24/7)
  • Liability engineer (new, sub field of operations)- write automaton that will fix the problem automatically
  • Marketing- someone needs to understand what the company builds and makes sure other people understand/know about it

They still use computer knowledge, but includes other focuses as well. People can move back and forth between areas
Average annual salary: $85,000/year 

How to work in software engineering

The typical way to start is a computer science/engineering undergraduate degree 

Optional: masters or PhD degree (boosts your salary a level since you have specialized knowledge)

Should compare whether graduate degree is necessary (better salary with schooling or experience?)

People can still work in software engineering without a computer science/engineering degree: 

  • Breaking Point Systems: boss/founder/CEO has a music degree
  • Director of Internet security development had no college degree (however, he created an open source project: Metasploit, most popular hacker tool)
  • Sister majored in English, but now works in software development

However, some things about development that are learned in college may be hard to learn on your own.  Without a degree, you must have really good skills to compensate for your lack of education

Steps to help get a job:

  • Create an open source project or fix bugs of an existing one

  • Internships: gives experience that distinguishes yourself from others

  • Technical certifications: taking a class a test from Cisco on network switches, useful for IT

Some companies have corresponding technical and management positions since some people want to switch out of pure programming

When big companies hire, they survey the salaries within the company.

  • Management increases your salary until you reach the top of your salary band

  • Then you move to the bottom of the next salary band

You must take initiative to order to raise your salary, so: 

  • Do not be passive about your advancement, be active

    • Make strategic changes

    • Do jobs interviews on a regular basis to measure if a job is paying you accurately

  • Low stress-interviews can be used as practice

Example: his first job was with a telecom company

  • took a job interview where he was offered double his current salary, then used this as a bargaining point to raise his own salary to more than double with a two-level promotion

Head hunters may help: professional recruiters, send your resumes to many companies and then compares different salary offers

How to get an interview for a job:

  • Create a resume (long-form resume): everything that you've ever done that may be impressive

  • Apply for job: go to a job description, go to long-form resume, and pull points that match what they are looking for (you don't need to match everything)

  • Condense into one to two pages

  • Provide a cover letter: one paragraph, make your emotional case (ex: enthusiastic employee, interested in something specific)

    • Reuse letters and notice which ones have better feedback

Fastest way to advance your career is through a startup

  • A successful startup grows very rapidly, constantly hiring new people, you get a higher leadership position

  • 90% of startups fail

  • Learning to evaluate startups (is it ethical/has fair distribution for all employees)

  • Risk is everything: biggest risk gets biggest payoff

    • So, choose selectively

Interested in software engineering?

Here are some great resources!

 2022 Career Chats. All rights reserved.
Powered by Webnode
Create your website for free! This website was made with Webnode. Create your own for free today! Get started