Tuesday, June 25, 2019

Securing Your First Job in Software 7: Ask Your Value Questions

This post is part of a short series on actionable steps in acquiring your first developer job, which I utilized in 2018 2019 to become a Software Development Engineer with a major cybersecurity company again!

Special bonus blog!! Recently when I was applying to jobs, I was asked in passing by a job coach whether I had been reflecting on my own values when considering positions. "Uhh, no..." was my response at the time. But it got me thinking. What did my IDEAL position and company look like? What did that say about my values that underlay those qualities? And how could reflecting on those values provide a rating system that I could use to evaluate opportunities and compare them against each other?

This is an advanced step when it comes to job searching. A lot of times we have a vague idea that we want such and such job that utilizes such and such skills, but when it comes to asking them questions during the interview we come up blank. This doesn't have to be difficult; in fact, all I did to start was set a timer for 15 minutes, close my eyes, and start typing in a note on the following topic - what is my ideal position and company at this stage in my career?

At the end of those 15 minutes, I went through my free association mess and teased out specific questions that either I could ask a recruiter, I could find in a job description, I could ask an engineer during an interview, I could ask management during an interview, or I could research and figure out for myself. You don't have to categorize them right away, but you may find that some questions just naturally go together in a common theme. And before you know it, you have a list of value questions that you can prioritize and use to evaluate your opportunities! It's a beautiful thing. Let me share some general ones that I thought of.

Value Questions


  • Does the position align with my existing technical skills? Is this a Software Engineer or Software Developer role? Are the primary languages Java, Python, or AngularJS JavaScript? Are their expectations reasonable for me on a daily and monthly basis?
  • Does the position offer opportunities to learn or develop cutting edge tools? Are there other languages or tools that I’ve heard used in the industry that this position would give me the chance to learn? Can I continue to develop skills that I already started? Do they use an Agile development process? Do they use IDEs with syntax checks and debugging, rather than strictly command line VI or VIM? Are they open to experimenting with new tools without disregarding tried-and-true methods? Do they offer trainings or certifications to become proficient in new skills?
  • Does the position offer project flexibility? Do I have the chance to try new tasks and put myself outside my comfort zone every few months, avoiding a situation where I would be stuck on a single project for years on end?
  • Does the position address a market need that the company is allocating resources for? Is the work challenging and engaging, with real deadlines? Are they striving to create outstanding products that people need? Is the company mission aligned with its work?
  • Does the company fit my busy schedule? Is the location within 30 miles of [LOCATION]? Are hours flexible and allow me to commute outside of rush hour? Do they fit a “family-first” approach and encourage work/life balance to meet my other obligations? Are extreme deadlines and/or overtime (and stress) very very rare, even if with occasional defects or during product releases it’s unavoidable? Is traveling very very rare?
  • Does the company fit my mobile lifestyle? Do they offer opportunities to work remotely, around 1-2 times per week after the probationary period?
  • Will the position still be available for years to come? Is this a direct hire permanent position? If it’s contract-to-hire, are placement rates near 100% while allowing for extraneous circumstances? If it’s a contract, is there funding for multiple years, with a very low likelihood of the prime changing hands; if it does change hands, would my position disappear? If it’s private-sector, are the company financials and/or stock doing well with no recent layoffs?
  • Does the company/contractor offer benefits toward my goals? Is there tuition reimbursement with 6 months or less obligation afterwards? Is there a health and wellness reimbursement for gym memberships?
  • Does the company operate in an intriguing subject matter? Is it in the Cybersecurity or Health Informatics fields? If not, is the interest still approachable?
  • Will the company and position set me up for future success? If the field is Cybersecurity, is the experience I would get applicable to other fields too? Will I get exposure to Interactive Intelligence elements such as AI, ML, and HCI? Is the company well-known? Is there advancement within the company?
  • Does the company seek talent with a wide perspective? Are a variety of genders, ethnicities, and generations represented in the office, and ideally on my own team?
  • Does the position allow me to learn from my teammates? Do I like my teammates? Are most of my teammates experienced engineers? If the company offers remote options, will I still have frequent opportunities to interact with my team in person? Are my teammates comfortable with me asking them questions (especially in the beginning)?
  • Does the company offer a relaxed atmosphere? Can I wear jeans and a T-shirt? Are there other office perks, like a ping-pong or foosball table or free food? Am I not meeting customers face-to-face on a frequent basis, which would require more business attire?
  • Does the position offer a competitive package? Can I negotiate a salary bump? Is there a good overall benefits package?
  • Does the company employ individuals who WANT to be there? Do employees love the company for the same reasons I might? If I am replacing someone, did they leave under positive circumstances? Has there not been a mass exodus lately?

Saturday, May 11, 2019

Securing Your First Job in Software 6: The Technical Interview

This post is part of a short series on actionable steps in acquiring your first developer job, which I utilized in 2018 to become a Software Development Engineer with a major cybersecurity company.

Congratulations! If you've followed the suggestions in my original post and first five in this series, then you likely have all the information, tools, and confidence you need to make it to an interview. Now you just need to kick some ass. But unlike many other fields, the technical field has one last small hurdle to overcome and own: the technical interview.

Practical Interview Prep

Here's what you should be doing before every interview to prepare your technical skills:

  1. Print out the job description
  2. Go through line by line and highlight or underline everything that you're even slightly unsure about
  3. Research each of those tools or concepts, and take notes on a blank sheet of paper
  4. Consider creating a small project that utilizes what you researched
  5. Review your notes until you feel confident explaining them during the interview

Cracking the Coding Interview

My tips in this area will only take you so far, but I have a suggestion if you want to upgrade your skills to the elite level: buy this book. This was written by Gayle Laakmann McDowell, who has worked as a software engineer at Google, Microsoft, and Apple, and has insights into the hiring practices of other top tech companies like Amazon as well. She has tips on what to learn before applying to jobs, what the process will look like at each of the top tech companies, how to approach coding questions, how to create a resume that stands out, what questions you should expect to be asked, how to handle job offers, and even a two-page sample preparation road map. And that's just the introduction. Totally worth it.

Technical Interview Sample Questions

These are all the questions that I recall being asked during technical interviews. Your questions are almost guaranteed to be different, but this should give you some sense of what you're expected to know as an entry-level developer.

  1. A provided code snippet that I was asked to "explain at a high level"
  2. A business scenario that I was asked to depict in an entity relation diagram (not the relationships or attributes, just core entities and how they relate to each other)
  3. A question about whether a specific language can utilize public/private access control for classes and functions
  4. A question about files that are generated after compiling
  5. A question about lambda functions
  6. A scenario that involved coming up with a class of my choice in a specific language, with a constructor and two methods to operate on the object, from scratch on the whiteboard in front of three senior engineers (not my strong suit)
  7. A question about generics
  8. A question about caching data to avoid excessive DB transactions
  9. A question about overriding/overloading
  10. A question about passing arguments
  11. Multiple questions about threads
  12. A question about serializing a class
  13. Multiple questions about maven and pom.xml file contents
  14. A question about wrappers
  15. A question about constructor types
  16. A question about singleton classes
  17. A question about polymorphism
  18. A question about interfaces and abstract classes
  19. Multiple questions about relation indices
  20. A question about storing passwords in variables
  21. A question about string immutability
  22. A question about wait and notify methods
  23. A question about hash maps vs. hash tables
  24. A question about the final keyword in Java
  25. A question about the lifecycle of a Spring bean factory
  26. A question about abstract classes vs interfaces
  27. A question about loops
  28. A question about OOP vs. scripting
  29. A question about using Spring
  30. A programming task to complete a LinkedList
  31. A question about Docker uses
  32. A question about asymmetric vs. symmetric cryptography
  33. A question about asynchronous programming
  34. A question about lists vs. sets
  35. A question about Spring Boot vs. Spring (Core)
  36. A question about Spring annotation differences
  37. A question about creating and using a Spring bean
  38. A question about hash map restrictions
  39. A question about the maven clean command
  40. A question about using JPA in Spring
  41. A question about accessing databases using Spring
  42. A question about Spring bean scopes
  43. A question about Spring Security
  44. A question about Angular vs AngularJS
  45. A question about creating a Dockerfile from scratch

Remember, the only job security in the modern era is having the skills to be re-hired. Godspeed, applicants!!!

Read on: 7: Ask Your Value Questions

Other posts in this series:
Securing Your First Job in Software 1: Register New Contact Info
Securing Your First Job in Software 2: Update Your Resume
Securing Your First Job in Software 3: Practice Your Pitch
Securing Your First Job in Software 4: On Recruiters
Securing Your First Job in Software 5: Optimize Your Online Search Securing Your First Job in Software 7: Ask Your Value Questions

Friday, May 10, 2019

Securing Your First Job in Software 5: Optimize Your Online Search

This post is part of a short series on actionable steps in acquiring your first developer job, which I utilized in 2018 to become a Software Development Engineer with a major cybersecurity company.

As I mentioned in my original post, this ain't no one-man show; we all depend on the support of people around us to make it somewhere in life. This isn't cheating, it's a fact. When looking for employment, preference should always be through personal connections first, be them family, friends, acquaintances, job fairs, or even recruiters. If you keep your job search a complete secret, you might as well accept the fact that it's going to take you much, much longer to make those connections. Having said that, there comes a time when you'll need to step out and start applying to positions you find on your own rather than sitting around waiting for the perfect opportunity to come to you.

Search Criteria

Inputting the following search criteria on job search sites yielded the most relevant results, in my personal experience. Obviously your criteria will differ, but consider this a starting point that you should keep notes on.
Keywords (separated by "or" in one long string): "software" or "java" or "python" or "android" or "programmer"
Not (prefaced with "NOT" on some sites): NOT "TS/SCI" or "clearance"
Categories: IT and Software, Information Technology, Technology
Job Titles: Software Engineer, Software Developer, Java Developer, Python Developer, Android Developer, Programmer
Location: 10-15 (max 30) miles or less from zip code
Hours: Full-time

Tracking Progress

I keep a Google Sheets spreadsheet to track all applications that I send out. Why? A better question is, why not? This way I can see at a glance all the relevant information for a job posting that I'm applying to: Company, Position, Location/Distance, Found (where?), Applied (when?), Follow-up, Skills, Pay, Contact (name), Phone, Email, and Site. Then I can add regular status updates as I follow-up and even highlight the rows in different colors depending on how far along I am (called or emailed back, interviewed, offered, etc.).


Best Websites

In my original post I suggested a ton of sites to sign up for and start searching on (CareerBuilder, Indeed, Monster, Washington Post Jobs, Idealist, and Craigslist). But when I actually stepped back and did an 80/20 analysis on which 20% of sites were leading to 80% of applications, I was surprised to find that I can narrow down this list by a LOT.
Best sites to search for jobs on: Indeed, LinkedIn (try their Easy Apply feature), and (if you have a degree from a local university) your alma mater's career portal
Best sites to list your resume on (and wait for calls): CareerBuilder (though this gets overwhelming at a certain point and you may want to turn it off), Dice, and Indeed Prime (I know it sounds premium, but it's free)
I honestly had very little luck anywhere else. Or, you could just target companies and apply through their websites.

Godspeed, applicants.

Read on: 6: The Technical Interview

Other posts in this series:
Securing Your First Job in Software 1: Register New Contact Info
Securing Your First Job in Software 2: Update Your Resume
Securing Your First Job in Software 3: Practice Your Pitch
Securing Your First Job in Software 4: On Recruiters
Securing Your First Job in Software 6: The Technical Interview
Securing Your First Job in Software 7: Ask Your Value Questions

Thursday, May 9, 2019

Securing Your First Job in Software 4: On Recruiters

This post is part of a short series on actionable steps in acquiring your first developer job, which I utilized in 2018 to become a Software Development Engineer with a major cybersecurity company.

You should be proud of your progress thus far! You have not only purposefully summarized your education and experience but can advertise yourself, and the latter alone is an important skill. A necessary skill, but not always sufficient for job searching and placement. With so many potential companies and positions out there in the sea, how can you find and get the attention of the best fish no matter where they swim? Sometimes you need to enlist a professional fisherman recruiter.

What's a Recruiter?

Ostensibly, a recruiter is someone who helps place candidates in agreeable employment positions, by reviewing their experience, negotiating their salary, and advocating to potential employers on their behalf. There are various types of recruiters, but the ones you'll likely encounter the most at this stage of your career are external contingency recruiters; employed by external companies and contracted by candidate-seeking employers, these recruiters get paid around 25% of the successful candidate's salary for the first year. Don't worry, this doesn't come out of your pocket, it comes from your employer - but it's important to know their motivation.

Expect to get a LOT of calls from recruiters, especially after setting up your contact information and visiting job search sites (yet another reason to rent a phone number). In fact, I think recruiters have access to stats that include how recent a profile was updated. Which is a good thing while you're searching because, despite the slim chance that any one recruiter will find you your dream job, it will at least give you practice in explaining your situation and the positions you're looking for. Decide your job title, your desired responsibilities, the type of work (contract vs. private), the max distance you're willing to commute, and your lowest pay UP FRONT. They will ask, so be honest with them because they're (supposed to be) advocating for you.

One thing in particular to decide your stance on is "Contract-to-Hire" - a popular hiring practice that recruiters often utilize. Basically, you work for six months as a contractor with the possibility of "going perm" and becoming a full employee at the company afterwards. This means you're doing a six month contract through the recruiting agency (in other words, you're their employee and get pay and benefits from them) and there's no guarantee you'll have a job afterwards. That could be great for getting your foot in the door, but it offsets the company's risk onto you; unless your performance is outstanding and they love you (and they have the resources), they won't want to keep you. Sure, if you do badly at any company they'll end up firing you, but there's nothing stopping these companies with six month contracts from setting the bar unreasonably high. Sometimes this works out great, but keep these points in mind as food for thought lest you're caught unaware.

The Bad

Here are three methods for dealing with bad recruiters:
  1. Often times you will get calls asking to do the same job you're working now (even if you're trying to advance), to pack up and move somewhere you couldn't care less about, or to work for less money than what you're currently earning - just say NO. Then they have the audacity to ask you to recommend them to friends and family who may be looking for jobs? Hell no.
  2. Be skeptical if you get a call out of nowhere, to set up an interview for the next morning, which leads to a job offer that same day, especially if you were "meh" about your performance. These recruiters are trying to make a quick commission buck, and will disappear as quickly as they arrive.
  3. If you're told that your current experience won't be enough to land a job and/or your desired salary, don't be afraid to stand confident and firm in what you want. You'll have plenty of opportunity to prove them wrong.

The Great

The great recruiters will do one thing above all others - listen to you. They'll respect your wishes when you say, "I don't want six month contract-to-hire jobs," "I want to work in private companies," and "I want positions with projects utilizing a variety of programming languages." And instead of dropping your case when it narrows down your possibilities, they'll double down and keep in regular contact, eventually getting you interviews with potential employers. If they can do that much, then you know you've found a winner. In my experience, I've found some great technical recruiters through OPTOMIAerotek. and TEKsystems. Ideally you would go in person to their offices, but I only ever spoke with them over the phone.

The best of the best are the legendary recruiters you hear about through word of mouth in your network. More so than recruiters, they are like job search coaches who take the time to train you on how to phrase your experiences and highlight the strengths that employers are most interested in. They can arm you with tremendous professional insights into the hiring process and syke psych up your own confidence in yourself, while simultaneously reaching into their deep network of contacts to find available positions that meet your criteria. If you find this type of recruiter, thank whoever put you in contact with them profusely, and take full advantage of the opportunity.

BONUS: Here are two more tips I recently learned.

  1. When recruiting calls/emails get overwhelming, have a script. Eventually, you'll get to the point where you just don't want to pick up your phone lest you fall into another 15 minute conversation that ends with, "wait, you want me to work where?! No thank you." That's when you employ a script. It can be as simple as this:

    Phone: Are you looking to fill a non-clearance Software Engineer position in the [LOCATION] area?

    Email: Thank you for reaching out. I am interested in Software Engineer roles that utilize Java, Python, or AngularJS JavaScript (though I’m happy to learn more) in the [LOCATION] area. Primarily I’m looking for full-time direct hire positions (not contract-to-hire unless placement rates at the company are 100%) that don’t require a clearance. Is this aligned with any roles that you’re looking to fill?
  2. If recruiters ask for details on your own job prospects, they're transactional. A lot of times recruiters will ask how your job search is going, and god help you if you tell them you have an interview lined up. If they press you for details on these companies, they're most likely doing it for one of two reasons: they'll want to submit someone else for the same role (i.e. competition), or they'll want to swoop in and take credit for submitting you (i.e. leachers). You don't need these recruiters in your life, just say "I can't give out that information" and run in the opposite direction.


Godspeed, applicants.

Read on: 5: Optimize Your Online Search

Other posts in this series:
Securing Your First Job in Software 1: Register New Contact Info
Securing Your First Job in Software 2: Update Your Resume
Securing Your First Job in Software 3: Practice Your Pitch
Securing Your First Job in Software 5: Optimize Your Online Search
Securing Your First Job in Software 6: The Technical Interview
Securing Your First Job in Software 7: Ask Your Value Questions

Wednesday, May 8, 2019

Securing Your First Job in Software 3: Practice Your Pitch

This post is part of a short series on actionable steps in acquiring your first developer job, which I utilized in 2018 to become a Software Development Engineer with a major cybersecurity company.

You now have polished skills attached to your name and a way to be contacted. The next step is convincing potential employers to care enough to look at your resume (or at least, you know, process it through that keyword matching algorithm) - and it comes down to your 30-second elevator pitch. Perhaps this is in-person at a job fair or online with a short cover letter. I've included examples I used for each. Craft your own and practice, practice, practice until you can say the in-person version in front of a mirror without any notes.

In-Person Example

Hi, my name is Greg, I'm a UMBC alumni and a first year computer science graduate student at Georgia Tech. I work part-time as a Software Engineer and full-time as an IT professional. I have programming experience in Java and Python and I'm interested in Interactive Intelligence as well as the intersection of health and tech. In particular, I'm looking for an opportunity to expand my software development career with a private sector entry-level position in the [LOCATION] area. Is this aligned with any roles you're looking to fulfill?

Online Example

[DATE] 
Dear [COMPANY] Recruiting Manager, 
As a software engineer and computer science graduate student, I was excited to find your opening on [WEBSITE] for a [POSITION]. I would be a great addition to your team because I can [OBLIGATIONS], based on my core programming knowledge obtained through education and self-study, and my diverse technical skills learned through experience in software development and IT. I am interested in developing my career in software and learning more about [INTERACTIVE INTELLIGENCE / THE INTERSECTION OF HEALTH AND TECHNOLOGY / PERSONAL INFORMATICS / ETC.]. 
It would be inspiring to work with a company that [INTERESTING FACTOID]. My resume is attached for your consideration. Thank you for your time to review my application, and I hope to have the opportunity to discuss the opening with you in person soon.
Godspeed, applicants.

Read on: 4: On Recruiters

Other posts in this series:
Securing Your First Job in Software 1: Register New Contact Info
Securing Your First Job in Software 2: Update Your Resume
Securing Your First Job in Software 4: On Recruiters
Securing Your First Job in Software 5: Optimize Your Online Search
Securing Your First Job in Software 6: The Technical Interview
Securing Your First Job in Software 7: Ask Your Value Questions

Tuesday, May 7, 2019

Securing Your First Job in Software 2: Update Your Resume

This post is part of a short series on actionable steps in acquiring your first developer job, which I utilized in 2018 to become a Software Development Engineer with a major cybersecurity company.

Now that your contact methods are in order, it's time to update your resume, effectively attaching your skills to your name. The purpose of hiring isn't usually to get the right people - it's to avoid getting the wrong people. One bad hire (false positive) is worse than five good hires, so companies would actually prefer to miss out on great talent (false negatives). In other words, they're looking for any reason to disqualify you.

Keywords and Robots

The first hurdle is getting past a simple keyword matching algorithm. Most companies use these, so to a certain extent a resume can make headway simply as a disjointed scramble of buzz words. Now I'm not advocating that you go out and start removing all coherent sentences, but you should be conscious of including as many languages, frameworks, tools, operating systems, certifications, and key concepts as you can. Even better would be to make sure all major keywords in a given job description are reflected in the resume, which is why some resume coaches encourage tailoring resumes to each position (if you took my advice on keeping your master data on LinkedIn, this should be easy to do). I put these in a "Skills" section, and recently moved that to the top of my resume.

Human Screening

When your resume first reaches human eyes, you have approximately 10-15 seconds to convince the recruiter that you're a likely fit based on technical competency. This should give you pause when considering to go longer than a single page (try one page per 10 years of experience, or one page per degree), or to include long paragraphs of text. Instead, you should articulate in an easily readable way how you can help the companies get what they want. Here are three ways to making your resume more appealing:

  1. Replace the Objective section with a job title. It may be hard to accept at first, but whatever you put here can be summarized as "to get a job" and everyone already knows that, so without it you'll have more room for other sections. One thing you can try adding instead is simply the job title of the position you're applying to.
  2. Supplement your lack of experience with a Projects section. This can be 2-4 of your strongest recent projects, be them course-based or independent, solo or with a team. Be sure to write a brief description of each project along with the languages and tools you used. If some of these projects are on your GitHub account, consider including the link at the top of your resume as well. If you can't think of any projects you've worked on, go out there and BUILD SOMETHING!
  3. Make all experiences measurable and use exact numbers wherever possible. This shows your technical nature and willingness to quantify your accomplishments. Here is an easy algorithm to follow when writing your experiences: "Accomplished X as measured by Y by doing Z."

Phone Screen and Beyond

The purpose of a resume is to get a phone screen, at which point some 90% or more of resumes have already been weeded out. The purpose of the phone screen is to get an interview. And by the time you get an interview, you know that the company considers you as a potential employee and you're already more than qualified to handle the obligations. It all starts with the resume.

From here, it's best to see the resumes of as many computer scientists as you can for inspiration. I'll start you off with mine, which is the exact resume I used to jump straight to the onsite interview that got me my job:

Godspeed, applicants.

Read on: 3: Practice Your Pitch

Other posts in this series:
Securing Your First Job in Software 1: Register New Contact Info
Securing Your First Job in Software 3: Practice Your Pitch
Securing Your First Job in Software 4: On Recruiters
Securing Your First Job in Software 5: Optimize Your Online Search
Securing Your First Job in Software 6: The Technical Interview
Securing Your First Job in Software 7: Ask Your Value Questions

Monday, May 6, 2019

Securing Your First Job in Software 1: Register New Contact Info

This post is part of a short series on actionable steps in acquiring your first developer job, which I utilized in 2018 to become a Software Development Engineer with a major cybersecurity company.

Greetings fellow green horn job seekers! When it comes to tech jobs the market demand has never been higher, but the willingness on the part of companies to train newbies can - frustratingly - feel inversely proportional to that demand. Once you have those marketable skills, you will have modern "job security." I previously wrote a post with general steps for getting your foot in the door with IT, or any new career. This series will build on those steps with additional tasks you can focus on that are within your control, and together this can increase your likelihood of being recognized by hiring managers. The first step: streamline your contact information.

Email

If you somehow made it here without owning a single email address... I applaud you, I honestly have no idea how you survive in this world. For everyone else, it's quite possible that you have multiple addresses, and are equally likely to be firmly against creating yet another one. But allow me to offer an argument in favor of doing so:

Having a separate email address (such as with Gmail) strictly for communicating with potential job prospects can offer the freedom of handing out your address at any public networking opportunity, without sacrificing the day-to-day strain of filtering through extra spam and recruiters you could care less about - especially once you're comfortably in a position you love. The point isn't to add yet another account to sign into and check, but to take advantage of settings in providers like Gmail to forward ALL your mail to another address that you actively use. Then all you have to do is filter your incoming mail by the recipient "to" address, creating a rule to have all emails sent to your new professional address moved to a "Networking" folder (Gmail: Settings > Filters and Blocked Addresses). You can even send email AS that other address within your existing account (Gmail: Settings > Accounts and Import > Send mail as), which will provide the same capabilities on mobile apps as well (just select the "from" address before sending).

Phone

Like with email, you want the ability to give out your phone number to the world when networking for job positions without the repercussions of dealing with extra spam that could last months or even years afterwards. A great option for this is renting a temporary phone number, which Skype offers for a mere $6.50/month. Skype even includes a feature to forward all calls made to that number to another phone (presumably your actual mobile number) within one second of the call. The catch is that they still count and charge you (minimally) for minutes that are forwarded, so you either need Skype credit in your account or just get an unlimited subscription within the U.S. for $2.99/month. Still, $9.49/month for peace of mind ain't bad.

You can include this number on your resume, on job search sites, even on LinkedIn - basically everywhere you can while you're searching, and then stop the subscription when you find something. Just don't forget to give your new company your real phone number at some point or that could make things a tiny bit difficult.

LinkedIn

Though it's not my first choice for a fun social networking experience, LinkedIn is almost a necessity these days when you want to network publicly without giving out your personal accounts like Facebook and Instagram that may have, shall we say, "incriminating material" for potential employers and colleagues. In addition to email and phone, LinkedIn messages can be another valid method of contacting recruiters. I've spoken with professional LinkedIn Branding Artists (at least, I think that's their job title), and it turns out there are hundreds or even thousands of hours of learning material available in the form of sites and books and courses that will teach you how to improve your profile. I can only begin to scratch the surface, but here are just five things you can focus on to drive traffic to your account:
  1. Customize your public profile URL (see the setting in the top right) and stick it to the top of your resume
  2. Go ahead and put that shiny new email address and phone number front and center in your introduction
  3. In your headline, include titles for the job you WANT and major skills that you want to be recognized for by recruiters who are searching for great candidates, aiming for around 20 keywords: i.e. "Software Developer Engineer Programmer Computer Scientist Java JEE Spring Python JavaScript AngularJS HTML MySQL Agile"
  4. Your introduction (BEFORE expanding to see more) should include the summary highlights of your career. Then in the next paragraph, start "I began my career..." to tell the story of your professional life, and emphasize the work you want to help with: i.e. "I am excited to help develop software in the cybersecurity industry with my advanced education and agile programming experience"
  5. As I mentioned in the previous post, your profile should be a catch-all for organizing all of your work experience and information in one place, so you should actually start there when updating and refer to it when picking out the best and most relevant information for your resume. However some job coaching companies actually discourage including some personal information such as graduation dates because apparently identity stealing is a thing.
Check my LinkedIn profile for more details!

Thursday, January 31, 2019

Reading & Games in 2018

GREETINGS HUMANS, and welcome to the robotic uprising of 2019! But enough about me becoming a full-time Cyborg Software Engineer, I'm here to follow up on my whopping one post from 2018 with another look at my Resolutions going forward before this initial month has reached its close.

Let's begin with the reading list! As usual, bold books are my high recommendations, and * books are my re-reads.
  1. A Storm of Swords (1/29/18)
  2. *Harry Potter and the Prisoner of Azkaban (2/8/18)
  3. *Harry Potter and the Goblet of Fire (2/27/18)
  4. The Name of the Wind (4/2/18)
  5. *Harry Potter and the Order of the Phoenix (4/20/18)
  6. Brain Rules (4/25/18)
  7. Life Hacks (5/1/18)
  8. *Harry Potter and the Half-Blood Prince (7/31/18)
  9. *Future Crimes (8/10/18)
  10. *Sapiens (9/15/18)
  11. The Subtle Art of Not Giving a F*ck by Mark Manson (10/31/18)
  12. 21 Lessons for the 21st Century by Yuval Noah Harari (11/5/18)
  13. *Harry Potter and the Deathly Hallows (11/29/18)
I know what you're going to say. "2015 = 30 books, 2016 = 32 books, 2017 = 35 books, 2018 = ...13?! What the hell man!" Yes, last year was less about the quantity of books, than it was about revisiting some classics and trying to apply what I've read to my life. In fact, it seems some of you are finally ready to accept the KonMari tidying method which I have been preaching since I finished her book on 12/13/17 (in 日本語!). My applied learnings helped me to deal with the highs such as new employment and travel, and the lows such as my grandfather's passing, all while continuing my way through a CS master's program and being a devoted husband.

My 2018 goal was supposed to focus on The Year of Gaming. And... well, priorities crushed me. BUT! If anything I set it up for a strong 2019. After picking up an SNES Classic and building a Retro Pie near the end of 2017 (our first "new" consoles since 2012), we went full steam ahead with getting a PS4 Pro (Jasmin's graduation present), PS VR (Jasmin's birthday present), and a Nintendo Switch (Jasmin's Christmas present from a friend). Okay, so technically they're all Jasmin's to play with while I'm studying, but here are a few games I played the most of in 2018:
  • MegaMan 2 (Android)
  • Overcooked (PS4)
  • Zelda: A Link to the Past (GBA)
2019 shall be The Real Year of Gaming! Looking forward to enjoyable games that challenge my problem-solving and critical thinking skills to shake up my learning.

Make it a great year, and reach for those dreams!