Archive for August 2016Posts (11) :: Photos (35)
Some days you are tired Maybe you are tired of all the work You can’t keep up with, it all piles up Of all the meetings and reports That come relentlessly without end Some days you are tired Maybe you are tired of all the time That you never have enough of Of all the deadlines and targets That you never meet but should’ve Some days you are tired Maybe you are tired of the world
Estimation is hard. Estimation has long been the bane of many software developers and software development projects. But there are two secret ways to be able to produce perfect estimates for software development work all the time! One is dependent on talent, and the other is dependent on technology Psychic precognition, i.e. be able to predict the future Have a time machine, so you can go back in time and tell yourself how long the work would have taken Such precognition is necessary to have perfect estimates because of all the unknowns present at the start of a software project.
When you’re young and in school memorizing math formulas or history dates or whatnot, all of it seems so silly and you wonder if you’re really going to be using all of this knowledge in real life. However, the intent of a general education program isn’t specifically to give you knowledge that will be useful to you in the future (although it may turn out to be so) The stuff school teaches you – literature, mathematics, art, history, science, and so on – are intended to give you a broad enough base from which you can freely choose the direction you want to go in life.
If you follow me on Facebook or Twitter, you’ll know I have a tendency to be pretty vocal about any problems I have with our country’s erstwhile leadership. But for the most part I’ve restricted it to those channels and have tried to avoid posting about current events in the country on this blog (outside of my personal choices for the election), but I feel that now more than ever those of us who can speak out have a responsibility to do so whenever we can, for several reasons
I like to say that software development is a challenging career because no two projects are ever the same and there are always new challenges to face and new concepts to learn, but the truth of the matter is a bit more complex. Writing software is about breaking down large problems into a series of very small technical problems for which we already have solutions. Examples of small enough technical problems include list sorting, comparison, arithmetic operations, path traversal, string concatenation, returning a string as an HTTP response, rendering text to the screen, retrieving submitted parameters from an HTTP request, and so on.
No, not that kind of history, don’t worry. Twenty-five years ago this month, the first website went up on the world wide web. That was 1991. It took a few years for the Philippines to catch on, the first internet connection in the country was only set up in 1994. My personal experience with the internet came a bit later, during our freshman year in University, sometime in the schoolyear 1995-1996.
So, Stranger Things It’s true, it’s great. I thought it might be overhyped, but it’s not. And I can see why people find it hard to explain without spoiling things. It’s about strange things happening in a small town. Creepy things. It’s a mystery. It’s suspense. It’s not a jump-scare sort of thing if you’re not into that. Well, there’s maybe a little bit of jump scares. The best description I’d say it’s about as scary as an X-Files or Doctor Who episode.
I was originally going to write a post about the problems development teams face as they get larger, but the section on development standards was long enough by itself so here we are. Having some sort of development standard in a project development team becomes a lot more important as project size goes up (for obvious reasons). There are different kinds of standards to consider, but generally I break them down into design standards and coding standards.
Thirty eight lessons I’ve learned through the years, in no particular order: Do not be beguiled by pretty things; not all that glitters is gold Remain true to yourself in the face of adversity You can’t help people who aren’t willing to change People will believe what they want to believe You don’t have to do what everybody else does Happiness often comes from small things Be thankful for what you have and appreciate the people who are there for you Other people think about you a lot less than you think Time you enjoy wasting isn’t wasted time Spend some time alone with your thoughts regularly; solitude has its benefits In most situations, a balanced approach will serve you well.
Pros: It is a very rewarding career financially. Software development often ranks in the top 10 highest-earning careers in most countries There is a lot of scope – you could be developing web applications, mobile applications, embedded applications, client-side, server-side, data analysis, artificial intelligence, games, etc It is very difficult to be bored. You can always automate away the boring stuff. Different projects always present different challenges. The field is evolving rapidly so there are always new things to learn.
Motivation is a fickle mistress. It comes and it goes. It’s easily distracted. It can vanish in a blink of an eye. When it’s there, it’s great, but when it’s not you don’t get anything done and you don’t feel terrible. Motivation is based on the principle that you need a certain emotion or state of mind to get things done. Motivation is burst damage, you can get a lot done but you don’t know when it’s gonna come out.