For some time, my current employer had been sending work offshore. Specifically, sending some programming work to China. I’ve been tasked with handling these invisible developers on and off. These developers are mostly fresh graduates, with no experience and barely enough knowledge to write something in ASP.NET or C.
There’s also a high turnover rate, meaning there’s a lot of developers coming and going. Anything more than a few months, and you can consider giving that developer a long service award. I think the reason for this phenomenon is that the developers are finding it difficult to transition from an academic environment to a working professional environment.
In school, if they can’t solve a problem or do a task, so what? Now, they have to do it. They have to do it by themselves usually. The familiar teacher and fellow students are gone. Sure, we provide guidance and be mentors to them. But we actually expect them to perform and give results.
I have seen some seriously detailed specs to them for development work. My thoughts had always been that, by the time I wrote something that detailed in a Word document, I could have used the time to write the code. I’ve always believed that sufficient guidance is necessary, but if I had to think for them the programming logic, then their coding ability is up for question.
The points listed below summarise some of my observations. Take note that they’re based on typical education environments and typical work environments. “Typical” is also based on what I know. Feel free to let me know how your situation is like. I’d love to hear your side of the story.
In an academic environment, you were given standard questions with standard answers. Sure, the questions weren’t identical, but the differences were really minor substitutions. As such, the method of arriving at the answers were standard.
In Singapore, we have what’s known as the “ten-year-series”. As in, “Have you bought the ten-year-series for chemistry?” What’s a ten-year-series? It’s a compilation of questions from the past ten years. Of course, a more appropriate name would be 20-year-series (or more) now. Students would practice and excel on the questions in the compilation, and were almost guaranteed good grades.
My guess is that it’s hard to come up with new and challenging problems every year, so exams come mostly with standard questions, plus a few tough ones to find the brighter students. Any teachers or any readers associated with the pedagogical profession, please feel free to correct me.
The work environment is different. You’re thrown new problems everyday. There aren’t standard answers to these problems. Heck, there aren’t even standard consequences from your solutions, even if they are correct.
For example, you could have solved a difficult technical problem with a brilliant answer. If the customer suddenly didn’t want to do that project, you still failed. Or your superiors are unappreciative morons, and brushes your efforts aside. Be brilliant in the right areas.
When you’re in university, your study hours were so fluid, you could have lessons packed one day, and be totally free the next. Some people took this uncertainty and developed self discipline. They were able to organise their time even though their timetables jumped all over the place from one semester to the next. Some people weren’t blessed with this fortitude, and whiled their time away.
Come working life, you’re expected to put in hours. You’re expected to be in the office at a certain time, and “allowed” to leave at a certain time. Googlers and other employees of companies with more open policies, you rock.
Suddenly, your freedom is gone. You feel chained, you feel like the creativity and the fire in you die… Stop that! You’ve obviously chosen a profession ill-suited to you. Take this opportunity to learn about what your work is, then move on to something better.
Or better yet, work with your employer and see if you can arrange something more flexible. Working from home or more flexible work hours are options you can ask for.
I don’t know about you, but much of my university days were spent proving some math problem. Or writing programs illustrating the use of some theorem (math or computational science). I didn’t know how injectivity and surjectivity was going to help me in life, but I learned them anyway.
Your job in a professional capacity is to solve problems. Real world practical problems. Your solution suddenly makes a difference, for better or worse. It doesn’t matter what your qualifications were, or how much experience you have. Real world practical problems require practical solutions that can stand the test of time (at least for a while). That piece of messy code you wrote? Go fix it.
Your education in academia should be treated as training your mind. You’re not so much learning those (boring) subjects as much as training your brain, forming new neural connections and creating new thought processes. Learning about injective functions and surjective functions made it easy for me to pick up the concept of joins in SQL. One-to-one and one-to-many relations between database tables became a snap to understand.
License to play truant
Do you skip classes? Watched a movie instead of attending a lecture? As a student, your grade was probably very much based on your exam results.
Not so when you work. Results still count, of course. Your attendance, your ability to come to work punctually now matters.
This really ties in with the flexible hours part. I agree some companies (alright, most companies) are still rigid in this area. Let me put this question to you. Can you go to work in the appointed period of time because you want to, and not because you have to?
I love my work. I love programming. Sometimes, I wake up and I can’t wait to get to work, to start on that code. I do it because I want to. It’s like playing. The standard working hours don’t really make much of a difference to me.
As usual, your ideas, thoughts and comments are most appreciated and welcome.