On Monday, September 12th, Women Who Code Birmingham held its Programming & Tech Career Development panel at UAB’s iLab at the Innovation Depot.

Twenty-seven women (and a few men) came out to learn what technical and software development employers are looking for in the Birmingham area, what to expect in a technical interview and how to ensure success starting a career after graduation from university, or when transitioning into the field from another career.

Our panelists were:

I had prepared and sent out a list of questions for our panelists prior to the event. This list, plus questions from the audience, served as a jumping-off point for discussion regarding what our panelists were seeing in the local tech employment market, and what they regarded as essential to success. Points summarized include requests for additional information that came from our audience.

Questions for the panel:

  1. What programming languages and skill sets are employers in the Birmingham metro area requesting?
  2. How often do candidates that you put forward completely match an employer’s requested profile? How often are job descriptions wish lists versus real needs?
  3. What is considered a junior developer? Senior developer? How many years experience? What skill sets?
  4. For mid-life career changers, what are some good strategies for getting hired? For recent graduates, what are good strategies for getting hired?
  5. What should current computer science and information systems students be doing to develop project portfolios? What project types are of interest to regional employers?
  6. What is usually covered in a technical interview? What types of technical interviews should candidates prepare for
  7. What should career changing and new graduate candidates expect during the interview process?
  8. If you have no technical experience, what is the best way to display skills? How should I format my resume?

A summary of answers from the panel and wide-ranging discussion follow.

What programming languages and skill sets are Birmingham metro area employers requesting?

Our recruiters identified a distinct split in the region, between requests from banks, and insurance companies  for Java and C#, and more web and mobile development focused languages, such as Ruby, Javascript, and Swift being requested by local tech startups. While full-stack developers (focused on web development) are in demand, there is a split developing between developers with front-end skills, and backend developers. Some of the panelists are seeing an unmet demand for mobile development – if you are good, you are really needed. Birmingham had a few mobile developers who were cutting edge in 2008 – but they left the region, and the talent pool has not been fully replaced.

One of panelists also pointed out that the split between Java/C# and web-focused development was also the split between software development for larger corporations (insurance, banks, publishing, internal software and tech infrastructure needs of local manufacturers), and the needs of the software-driven, software-as-a-service and web-based startup community. They are different – the larger, more established firms tend to be more corporate, and the startups tend to be more relaxed, with less focus on job titles and dress codes, and more focus on getting the work done.

Demand for knowledge of Javascript is growing right now, driven by the explosion over the past few years of tested, functional Javascript libraries and frameworks that can now be reliably used in production code.

Other needs were good communication and people skills, and an ability to clearly document your code for future maintenance.

How often do candidates that you put forward completely match an employer’s requested profile?

Panel consensus: It depends on the position. Most of the time, candidates don’t match the requested profile completely. An important part of recruiting is working with the employer to determine core (real) needs versus wish lists or old on-file job descriptions that no longer fit the real requirements. The other issue is whether the employer is writing a job description or requirements list to meet specific contractual requirements (especially if the employer is doing contractual work for government or other large organizations).  Many women (myself included) won’t apply for a position unless they meet most of the requirements. The recruiters’ unanimous advice? If you meet 60% of the requirements, put your application in. You are likely to be a reasonable fit, which will need to be determined further. You may not always hear back, but use that guideline to make the decision.

How often are job descriptions wish lists versus real needs?

Our panelists discussed this a bit. Short answer – frequently. One of their jobs as recruiters is to work with employers to determine core requirements versus “nice to haves”. The example provided by one of our panelists was that they had placed a candidate with strong Javascript skills in two areas where the employer had started off asking for Java. In the process of interviewing, the candidate’s strength with Javascript was considered more important, and the employer was willing to train them in Java. Our panelists said that adjusting employer expectations to hire an otherwise strong candidate happens frequently in smaller markets like Birmingham.

The exception is when candidates are applying through automatic filtering systems. (Shirley: an example is Taleo) If an employer’s requirements list is too long, they will end up with no candidates. A local company, EBSCO Information Services, has been shortening their requirements list to ensure that candidates with specific skill sets get through. In these situations, a candidate’s best tactic is to know someone already inside the company, who knows which manager is doing the hiring.

What is considered a junior developer? Senior developer? How many years experience? What skill sets?

Panel consensus:

  • Junior developer – new graduate through to about three years experience.
  • Senior developer – three to six years experience.

But it will vary depending on the position, the size of a company, and the type of work you are doing. (Shirley: regard these as Gaussian or fuzzy targets)

Programming ability is important (of course!), and is best demonstrated with a portfolio of work other than class work, but so are communication skills, and an ability to work with others.

For mid-life career changers or recent graduates, what are some good strategies for getting hired?

Panel consensus:

  • Develop a portfolio of projects that you’ve built or helped build.
  • Participate in open source development projects.
  • Form an LLC and take on small programming projects. Set up and configure websites for people. Solve problems.
  • Do an internship or a community volunteer project. (Shirley’s note: If the internship that you want to do doesn’t exist, consider working with the organization that you’d like to do the work and your department of study to develop one.)
  • Have some sample slide decks online and show your communication and presentation skills.
  • For mid-career changers – be prepared to take a pay cut to get that first job in the new field. You have a demonstrated ability to work with others, but you are going to need to demonstrate your programming ability.

What should current computer science and information systems students be doing to develop project portfolios? What project types are of interest to regional employers?

Panel consensus – Develop a portfolio of projects that you’ve built or helped build! (Shirley: This was repeated again and again. If you are not sure that your skills are adequate for effective participation, see my next blog entry regarding places to start).

Form an LLC and take on small paid projects and consultancies. There is no one type of project that is of specific interest to regional employers, other than you are taking what you are learning and applying it in a practical way. They are looking for initiative and active problem solvers. Javascript is an “in demand” language, and local mobile developers are in short supply.

What is usually covered in a technical interview? What types of technical interviews should candidates prepare for?

Our panelists discussed this a bit. Their answers varied. For most of the positions that they fill in the Birmingham area, this isn’t a big issue. Approaches taken locally vary by company; some will do a team interview. some do a team interview, in which the candidate is expected to explain their approach to a problem verbally, others will expect pseudocode on a whiteboard, and some rely on project portfolios for candidate evaluation. Outside of Birmingham, technical interviews have become a hot topic, the subject of much candidate anxiety and therefore, about which many articles and books have been written.

What should career changing and new graduate candidates expect during the interview process?

By this point in our panel discussion, we had covered off most of this question. The summary was:

  • The interview process will take a few rounds
  • Be prepared to show your work (that portfolio of projects that we mentioned already!)
  • Some companies are now asking candidates to come in to do some sample programming work or solve a sample problem.
  • Unless specifically requested (and usually for a larger company) technical certifications matter less than practical experience. So take those internships, look for those community problems that need solving.

If you have no technical experience, what is the best way to display skills? How should I format my resume?

Again, we had covered off most of this question by the time we got to it. The summary was that your project portfolio is the best way to show what you can do. No matter how basic, be prepared to show work.

Resume formatting and presentation matters less than you think. Don’t get too fancy, keep it clean and readable, and as much as possible, use bullet points. Recruiters read a lot of these and long paragraphs get in the way of extracting information. If you are listing a programming language, be prepared to demonstrate work in that language. Have a link to your portfolio of work and your LinkedIn profile. Keep your LinkedIn profile synched to your resume.

Shirley’s tip: keep a master copy in plain text for quick copy and paste into candidate banks where required.

With that, we wrapped up our panel and took questions from our audience. All the recruiters at the event welcome inquiries from candidates in the Birmingham region (I’ve linked their names to their LinkedIn profiles). Billy Boozer, our sole entrepreneur at the panel, also welcomes inquiries regarding projects and ways to cooperatively move the regional tech ecosystem forward.

The important thing that I took away from this panel is the importance of developing a portfolio of work to demonstrate skills. In my experience as a mature student at UAB, this was a problematic area for many students within the CS and IS programs. Many who hadn’t started programming as teenagers (including myself) weren’t yet confident enough in their skills or knew enough of the programming language libraries or frameworks available to start developing those portfolios of sample work.  A class in which one could survey these and begin to pull together a set for work on independent or individual projects would be useful. One of the challenges in the region, especially when learning all this as an adult, is juggling family responsibilities (getting children to school and after-school activities, looking after one’s home,  civic and community organization involvement) with the time you need to spend simply working through problems and programming. That time is precious – and necessary, in whatever form it can be seized.

Our Women Who Code leadership (directors – myself, Nicole Mubarak, Kayla Harris and lead Kalyani Bhagat) will be exploring some of the subjects raised at this panel in future Women Who Code meetings. At this point, that includes forming a software-focused LLC in Birmingham, organizing work, unit testing,  and estimating and pricing work.  We welcome meeting topic suggestions, and further exploration to encourage the development of a diverse programming and technical community in Birmingham.