Googling is an important skill
Software engineers are getting better and better at googling and copying code. I am not trying to say they’re useless skills, indeed, googling skills are pretty important to nail the right information you need.
What about your own thoughts?
The problem I have is not that but the fact that I don’t hear much of their own opinions any more and instead, I hear them saying I read it in some blogs, people say it’s better, nobody is having that problem so we should not have that problem either and etc. or this is what they’re doing so we should follow the same.
It’s like they don’t want to think through the solution.
The new framework on the block
Who am I looking for?
I am hiring. I am looking for a solid engineer who can think through the solution and write good code. That’s the most important part. and I hope he/she is not too crazy about the new framework out there. As I talk more to engineers from big tech firms, I am getting more certain they’re less aware of hot frameworks that creates a lot of hypes. That’s probably they can afford (and also capable) to develop their own internal tools and frameworks that are more optimized for their needs than publicly available framework that serve everyone’s needs.
Being an engineer !== being a coder. I think you need to be a thinker and a solution provider first and use “Code” as your tools to implement your idea. For sure, you want to learn from others. But remember this quote from Picaso, “Good artists copy, Great artists steal”. Make it your own and that’s the only way you can truly improve.
12 years in Sydney (1996 - 2008)… I lived there 12 years and it feels unreal because I don’t miss much or I don’t miss at all. And I don’t know exactly why… I never fancied going back there and meeting old friends. Old friends… probably that’s one of the reasons why I don’t. They’re not there. Most of them left Sydney.
Sometimes, I regretted I should have left before they did, I was always the one who drove them to the airport and said goodbye and came back home myself, I repeated it many times and from some point, I got exhausted and I refused to go to the airport to send off friends.
I fell in love with Sydney when I got there in 1996. It was right after I was dismissed from the army. I was 21 then. It was a liberating experience. Sydney was a stunningly beautiful city. I have no other responsibilities but learning English, traveling around, making friends and drinking. My language school was located in North Sydney right at the start of the infamous Sydney Harbor bridge being surrounded by nice pubs and restaurants. The only limitation to our fun after school was fund. We’re all broke and most of us were getting money from our parents still.
I decided to stay in Sydney naively thinking all my friends would stay with me and they didn’t.
Remembering Sydney causes pain. and I don’t know why, it’s deep maybe, deeper than what my conscious mind can figure out easily. I probably need to see a shrink to really deep dive into it but I am scared. I am scared to find out the real reasons.
I told a lot of people I met here in the US negative things about Australia. And I tried to avoid thinking too much about it. The pain probably was from the empty feelings, It was not easy to accept I have no more emotions attached to the city I was once fell in love with.
Had I live in Sydney only a year or so, I would still have had fun memories and I would always miss going back there.
I heard an interesting story today from the guest speaker presenting their success story of organization wide architecture overhaul.
He mentioned about an internal backlash against their initiative and the argument is that you can’t run fibonacci algorithm in multi threads in node.js. There was a laughter because it was obviously a silly argument to make. I grinned a bit as well but I felt a sentiment toward that guy I never met.
Tech world is very quickly evolving and just imagine what you learned at school or work for the last 20 years become obsolete one day. Actually, I don’t think that’s too bad, what would be worse is when you find the values you cared so much about stopped being respected. Multi threading programming has been a big thing in java/c# world and it’s respected as an advanced programming skill. But who cares now, node.js is a single threaded environment and it’s just doing fine without it.
It’s not an easy feeling to swallow when you find knowledge and skills you have built your entire career all of a sudden are not relevant any longer. And you see yourself being washed away by the young generation of engineers.
Tech industry is hot now and I guess my fellow workers must be getting 3~4 emails a day from recruiters finding talented engineers. However, it’s an extremely competitive industry and it’s very tough to survive as an engineer for a long time. I salute to all my fellow die hard engineers and beg them to stay relevant
I think we need to remind ourselves that a lot of problems we think we’re trying to solve might have been already solved. That’s probably one of the reasons why we study history and try to learn wisdom from the past.
The tech world is not any different. A lot of problems we’re facing are just not new. And I think it’s just pointless to spend too much time arguing about how we solve the problems that have been already solved as if they are new. Just like No one’s arguing Flash is better than Html5 any more.
This is one of my favorite Steve Jobs videos. It was taped at WWDC in 1997, almost 17 years ago.
His response to this guy in the audience criticizing their decision to kill the product called Opendoc was not only brilliant also describes succinctly the very problem we’re currently facing. Engineers get carried away with the technology and they want to try something with it because they think it’s cool although it’s not going to solve any real problems for the business.
Here is what Steve said:
“And, one of the things I’ve always found is that you’ve got to start with the customer experience and work backwards for the technology. You can’t start with the technology and try to figure out where you’re going to try to sell it. And I made this mistake probably more than anybody else in this room. And I got the scar tissue to prove it. And I know that it’s the case.
And as we have tried to come up with a strategy and a vision for Apple, it started with “What incredible benefits can we give to the customer? Where can we take the customer?” Not starting with “Let’s sit down with the engineers and figure out what awesome technology we have and then how are we going to market that?” And I think that’s the right path to take”.
As an engineer, there are always great emerging technologies and frameworks that I am so tempted to use for my project but I know I should not be carried away with it because that’s not what our customers see. Thus, the technology inside is not the top line of your product. The customer experience should be the top line and we should work back toward the technology just like Steve said in this video.
We know that this problem was already solved “at least” 17 years ago but people are still repeating the same mistake
I wonder if there is any other software terminologies that have created more confusion than Agile.
We’re human and we’re always learning and it’s understandable that we have different ideas. However, I get frustrated when I find someone using the term agile as an excuse for not having finished their work.
Instead of reminding you of the wikipedia definition of agile, I think I can tell you what is agile and what is not
- Empty story description is not agile. It’s a laziness
- Not thinking through the whole user experience is not agile, it’s a missing use case. In other words, it’s when you say “Oops, I haven’t thought about this use case!, I am sorry about that”
- UX mock without detailed specification is not agile, it’s a wireframe, I don’t care if it looks pretty or not
When you get called out for any of the above items, please apologize instead of saying you’re doing agile
In Agile, engineers work with MVFs (Minimum viable features). We don’t work with UDFs (Unclearly defined features). English is not my major but I know Minimum is not interchangeable with Unclear.
Working with MVFs allows us to see what’s really required at minimum and incrementally make progress around them and therefore the software development becomes more agile to frequent business requirement changes. Software development in real world is constantly subject to changes. Agile is a way to minimize failures in software projects we saw in the past using waterfall models.
Unclear feature definitions create confusions and it has got nothing to do with being agile.
If the MVF is not clear, please make it clear instead of saying you’re doing agile
Goating, Something I never heard of before
Somebody in our company introduced this silly thing called goating to alert people to lock their screen at all times when they’re away because if you don’t, they claim horrible things would happen to you like somebody will send an nasty email to the entire company on your name.
It’s a solution to something that’s never a problem
It turned out though, goating is a solution to something that was never a problem. I haven’t witnessed one incident like that here, let alone my entire career except for those who actually sneak around someone’s machine and goat. Besides, if that kind of thing ever happens in my work environment, probably, I would say goodbye to the workplace because I don’t want to work with people that I can’t trust.
Personally, I didn’t know what’s so much fun about that, just trying not to be outcast, I tried it once myself but I didn’t get this popular cultural phenomenon in the office.
Get over it
So I would like to tell everyone to just get over it and let’s stop messing around someone else’s machine
Memories are great mysteries. You want to have good memories because they make you feel good. And you want to lose bad memories because they give you pains. A lot of your feelings are based on your memories and even love, love requires memories. I feel love when I remember the first time I saw my baby’s face, how I held him and brought him home. I would be devastated if I ever lose those memories
I have problems these days. I don’t know it’s a sign of me getting old or I am losing interest in the real world. This morning, I realized that I don’t remember what time it was we rushed to the hospital, if there was a traffic on the way?, what time Jay was born, which room it was, the name of the nurse who helped most… most crucial parts of my life didn’t seem to be engraved in my brain. It’s funny that I at least remember I took lots of pictures on my iPhone that day. Some things are making me fail to be in the present and that bothers me a lot
I don’t miss people any more as much as I used to. I think it happens to everyone at some point. We are getting less emotional. My parents watched many of their friends passing away and I remember the last time they told me another friend perished, they’re really unemotional. I understand it now though. They lived long enough and they just accept it. Apart from being old, I would blame the social networks. It seemed like a good thing to be able to stay in touch with someone you don’t see very often like friends living far away. I see what they’re up to on a daily basis or even an hourly basis. I see their pictures and I can even chat with them. But I don’t miss them. I don’t write a letter and wait for their response. Probably, I wouldn’t even see them when I am back in Australia or Korea, it’s a weird feeling, when can I miss someone again? or never…
I wanted to believe there is something more beyond the physical world. I wish there is something in humans that machines just can’t copy. I wish there is something, something in the universe that I can truly have faith in. Recording voice is something that bothers me all the time. I can’t accept the fact that my voice can be recorded and played again. My words are nothing more than physical waves. My voice could be regenerated by a computer program in the future. My memories can be completely wiped out if you have Alzheimer’s disease just like you format a hard disk. What was stored in my brain will be forever lost when I die or can it be backed up in the cloud?. What’s even scarier is someday, the scientists would come up with a way to back up my brain and inject that into someone else’s brain. Why music critics fail to distinguish music played by hand made instrument from music made from digital instruments? Why the best human chess player is no match for Big Blue….