Help me pick a path in the software industry
August 12, 2013 12:31 PM   Subscribe

I'm changing careers into the software industry and I am having difficulty choosing a path – lots of different roles look REALLY appealing. If you are working or hiring in the industry, can you advise me on a good route?

Right now:
I'm on an accelerated postgraduate conversion course in computing, designed for career-changers from numerate disciplines. The next step is to line up a work placement for our final semester, and I'm having trouble figuring out the most realistic and suitable tack to take, despite spending a lot of time reading and talking to people. I am willing to work really bloody hard and learn fast and will be bringing a lot of enthusiasm.

I love my course and wish I could go back in time and do a computer science undergrad. Particularly enjoying: programming, design and querying databases, data analysis, requirements analysis and development models.

Previously:
I have three degrees in architecture (including a masters by research) and have been freelancing as a writer and researcher for a while. I really enjoy managing projects, writing, collaborating with teams in the different organisations I've worked with, switching between the nitty-gritty and the public-facing perspectives, and most of all, the meticulous detective work. I am good at meeting deadlines, taking initiative, and turning abstract goals into results. (The part I haven't enjoyed is not making a living wage.)

Next:
- Software developer: As a 30-year-old with just a semester of Python under my belt, I worry that I'm just too late to go this route. I enjoy coding and have done well at my assignments – I like the mix of an overarching brief and the problem-solving, detail-oriented craft. I have just started learning Java but won't be far beyond Hello World at the time of job applications.
- Data analyst: We're being trained with this as a focus, but I worry that not being a maths genius like some of my physicist classmates would put me on a path to mediocrity. The researcher inside me finds analysis quite appealing, though.
- Technical writer: I don't have the experience for an immediate role but would work towards it by contributing to open source projects.
- QA: I did it ten years ago and found it fine as long as it's not forever. It seems like a realistic thing to put myself forwards for, but is it a bad idea?
- User operations or similar: I wonder if the experience and interpersonal skills I've built up to date would transfer best to a hybrid role, though I worry that it wouldn't feel enough like problem-solving to keep me interested.
- Something else! Just not sales, tech support, or pure design.

To the point:

My LinkedIn resume is linked from my profile here in case that would be useful. Also, I'm in Ireland.

If you were me, what would you go towards to give yourself the most challenging, satisfying, and successful transition right now?

If you're in a hiring role, what would convince you to give me a chance?
posted by carbide to Work & Money (8 answers total) 9 users marked this as a favorite
 
You might look for roles as a program manager, product manager or technical product manager. Product manager roles are often difficult to break into, but program manager roles less so. What's the difference?
posted by GuyZero at 12:42 PM on August 12, 2013 [1 favorite]


As a data analyst, your education and your experience talking to people to gather requirements are going to be your largest assets... especially at a smaller company.

It's never too late to enter a career as a software developer. The neat thing about the field is that it's a total and absolute meritocracy. The only thing that you need to do is sit down and write software that solves problems. Make sure that you've got a github account, and don't be afraid to throw stuff at the wall and see what sticks. Try different languages. Some people have brains that do python. Some people have brains that do PHP. Some people can only do Microsoft stuff, or Java. Some people have brains that do LISP and Haskell. You won't know until you try.

I actually got into computer programming in high school because I needed a way to teach myself algebra that didn't bore me to tears. Then I learned databases in college to solve problems that the student newspaper had tracking advertising sales and runs. Then I put the two of them together when I was doing a journalism internship, and finally gave up and got a job and switched to a business degree. The thing is, software development is only a good field if you have something to do with it. The project guides the code. I think the thing you're picking up from those physics guys isn't their math skills, it's that they already have a scope for and ideas for problems that can be solved with computers because they're used to having an embarrassment of data to guide their exploration. You're a writer and architect. You need to go find a story that can guide you.

For an example of someone who uses Python to solve problems in materials engineering, read Dr. Drang. You might consider structural engineering or even GIS as a good place to apply your past experience and newly acquired skills.
posted by SpecialK at 1:31 PM on August 12, 2013


Oh, and I'm sorry, I didn't answer your questions. Let me pick those answers out for you:

I would go find someone who has data that needs a story told, and have your project be to figure out how to show or extract that story from the data. The type of architecture that you may have studied might be different from the architecture that I have studied, but I'm talking "story" in the way that the open-concept house tells the story of a household where people have to parent children while doing household chores like cooking and do not have household servants ... And estate houses in Ireland/England tell the story of a time where large open spaces were difficult to heat and light and where servants were not supposed to be seen, so you get smaller rooms with fireplaces and lots of back hallways and staircases. Look for books like Stephen Few's "Information Dashboard Design" (or his other books, "Show Me the Numbers: Designing Tables and Graphs to Enlighten"), find sample data, and figure out how to display it.

The thing that would make me hire you is if you'd done a few sample projects in different languages and I could see your code somewhere public like Github. It would also help if you kept a blog, but you don't have to design it or self-host it or anything. Just put up a wordpress blog with a default theme or something and journal your problem-solving methods.

If I were you, I would make a "dynamic infographic" using some free statistics. Start in Python with an idea (e.g. Underemployment in the British Isles by Collegiate Degree), find a dataset (there's gotta be some government stats bureau), write code to get the dataset into a database, write code to output a dynamic page where you can drill down into the data via a webserver, and then use some of the javascript charting libraries to display the information as graphs. Actually, you could even take my previous example of room sizes by architecture style...

The project would indicate four things. First, you know how to take one or more raw datasets and operate an Extract, Transform, and Load (ETL) operation on them. This is a complicated way of saying that you parsed the data into a database in a way that made all the data make sense together, but it also demonstrates that you have a firm grasp of Relational Database principles and concepts. Then you wrote an Interactive Website, demonstrating that you can write code that accesses the data and presents it to the user. Finally, you understand Report Writing, which uses your programming skills to display Facts that you pulled from Data.

This is a lot of concepts to absorb at once, and is basically an entire year worth of classes in it's own right. So don't worry about looks or about code cleanliness or writing tests or anything else. All of these things are common business programming tasks that are in high demand. Demonstrating that you have a grasp of any one of the things is great. Demonstrating that you have a concept of any two of them is enough to put you in the top crop of programming new hires here in the US. I know it's not operating system engineering or solving some cryptographic problem, and we need, er, "boffins" who are able to do those things, but the people who can do the skills I've outlined are probably in higher demand.
posted by SpecialK at 1:52 PM on August 12, 2013 [3 favorites]


Data analyst or Business Analyst would be good choices for your current skill set. You will be directly involved in the development process and you will get a good understanding of the underlying business processes that drive software development.

And certainly nthing that its not too late to become a developer/architect. Maybe once you get into an organization you can tailor your learning to the tools and techniques that the IT department uses at your employer. That way you can establish a track record of solid performance and then parlay that into the job you really want.
posted by Billiken at 1:57 PM on August 12, 2013


Also, Here's your toolkit for the next steps.
posted by SpecialK at 3:38 PM on August 12, 2013 [1 favorite]


With your background, look into User Experience, particularly user research and interaction design.
posted by Good Brain at 10:22 PM on August 12, 2013


Response by poster: Thank you all for the wonderful suggestions, I'm mostly relieved nobody went with "No."

That way you can establish a track record of solid performance and then parlay that into the job you really want.

This is what I'm thinking, and in a way, it has me thinking about the companies as much as the roles – getting in the door in a good environment, and working it from there.

SpecialK, I particularly appreciate the plan of action as I've a final project ahead of me for the next semester, and that's brought a lot of clarity to what I should be trying to do through it to make it most useful as a kind of portfolio piece. Thank you.
posted by carbide at 2:12 AM on August 13, 2013


No problem. :)

And don't feel bad about having to have documentation open constantly. I've been doing this for fifteen years, and I have had dual or better monitors since 2002 because it lets me keep documentation open on one and work on the other. Yes, basic skills like how to format, indent, and basic structures like if/else and loops you'll learn by heart. But I've been doing PHP since PHP3 was 'the new hotness' and I still use the online documentation for core function and object reference.
posted by SpecialK at 8:48 AM on August 13, 2013


« Older Hotels in Ann Arbor   |   I'm booooorrrrrrred. Newer »
This thread is closed to new comments.