I've decided to do a new round of profiles in the Project for Non-Academic Science (acronym deliberately chosen to coincide with a journal), as a way of getting a little more information out there to students studying in STEM fields who will likely end up with jobs off the "standard" academic science track.
Fourth in this round is a Union alumn (another nice bonus of this is getting to promote some of my college's former students...) who prefers to remain anonymous, but is a computer engineer turned web developer for a public relations firm.
1) What is your non-academic job? I'm a web developer at a public relations agency. I do a frontend and backend (PHP with my preferred framework being Laravel) web development, and a little native Android stuff.
2) What is your science background? B.S. in Computer Engineering from Union.
3) What led you to this job? Web development was always a hobby. I though I'd do embedded systems forever since I liked Arduinos and it's the kind of programming that Real Programmers™ do. But I was kind of terrible at it. While I was terrible at that I met an agency web developer through colleagues at the embedded systems place. He ended up recommending me at an ad agency, then after some tortuous early-20s career path business, I followed him to our current gig.
4) What's your work environment like? (Lab bench, field work, office, etc) Desk in a large open plan office with wee cubicle walls that stop just short of my eye height.
5) What do you do in a typical day? Get to the office at about 9:15–9:45. What I do from there depends on what kind of place I'm in project-wise: am I developing new features or am I responding to QA fixes? For the former: I'll jump back in where I left off, making incremental commits in git (with the project hosted on bitbucket) and pushing to a staging environment as I go. If I have open QA issues in our issue tracker (we use Jira) I'll just jump on those right away, and generally all of my commit messages will have a ticket name in them.
I have just a few meetings a week: the tech group meets to go over status for an hour, and I've got a 1-1 meeting with the tech group supervisor to assess my workload and plan for upcoming projects.
6) How does your science background help you in your job? Learning how to learn to program was big. Design patterns come up every so often. The meta design pattern of "see if the current problem is either solved or a trivial permutation of a solved problem." A big thing is metrics: speed is the building block of good user experience on the web, and we fortunately have tools to make running an experiment 10M times trivial. So I check my assumptions a decent amount with JSPerf or chrome dev tools to see whether or not some bit of "good programming" is going to make the user experience all terrible on bad hardware
7) If a current college student wanted to get a job like yours, how
should they go about it? Have something to show, I think. If you come into an interview with "my best project was this, I used these technologies in it (backend language/framework, frontend framework, whatever) and my experience with them was positive for these reasons and negative for these reasons" I'd be really excited to work with you. Maybe intimidated. With agency work there's simply no way for you to be an expert in every client's stack, and that's totally OK. Be awesome at one thing and be adaptable in all things.
8) What's the most important thing you learned from science? From CS: an ounce of planning prevents a pound of late night development misery. From science: check your assumptions.
9) What advice would you give to young science students trying to plan
their careers? If I'd followed my career plan I'd be utterly miserable; I was awful at my first job out of college and assumed I was awful at software engineering. Plan, certainly, but do it in pencil, and when good opportunity walks into your life don't waste it.
10) (Totally Optional Question) What's the pay like? $80K