The day before yesterday I received an email with a simple question:
“What do I need to do to start and thrive in my web developer career?”
The direct answer is easy: study, train and learn from experiences. In eagerness to be done with my inbox, that’s what I thought of answering.
But it’s a good question, and if you start to dissect the idea a little, you realize that while the straight answer isn’t wrong, there are some points that will be more stressed throughout your career, and if you can strengthen those points, it will help not only in your entry and stabilization in the market, but it will also serve as a base when you are already experienced.
Sometimes I miss the adrenaline of decompiling a jar file (because the source was lost ages ago), adding a feature and putting it back in production. But, believe me, those days sucked.
In the bad old days, people pushed to production without any kind of automated testing. We would just build the features needed, tested locally and copied the files manually to a server, usually after midnight, accompained by pizzas and fear.
After many years working in your system, building, tinkering, improving, breaking and reassembling, you decide that what is really needed is a full software rewrite. After all, what can go wrong?
If you were ever involved in a full rewrite project, you know the answer. Absolutely everything can go wrong.
Why you think you want it There’s plenty of reasons for developers to advocate for a full software rewrite, but the most common is the software complexity and cost of maintenance.
Let’s get more technical. ‘Know your Language’ is a new category in my blog, about Programming Languages and their most common problems in enterprise environments
According to Tiobe Java is the most used backend programming language of the world. According to StackOverflow, this title goes to Javascript, but Java gets third place. Java and the JVM are also almost omnipresent in mobile, with Android using it as a platform.
There sure is a lot of talk and work about estimates in software development. Whether you are in a big company, a small agency or a “one-man army” project, the idea that you can predict how long will it take to build a system is widespread and adopted by all.
Any management principle or project schedule has it as a bare minimum to operate. This is useful so you can plan in advance, and tackle the projects in a sane order, avoiding obvious trap holes and business errors.