Packt Publishing reached out to me and offered to do a book.
They pretty much want me to do any book and pre-agreed already. They gave me carte blanche on the topic.
(More or less, I doubt I can convince them to publish a vampire thriller set in a Silicon Valley startup.)
Funny thing is that I know the editor. He worked at Apress Media when I published my first book Practical Node.js with them.
I submitted to them my idea about a software engineering career book for junior developers. They liked it. It can become a book!
While thinking about the career in software engineering, I thought about top skills.
As in any profession, software engineers requires a combination of certain skills and techniques.
I’ve done software engineering for over 15 years.
I taught total beginners (in Hack Reactor) and professionals (in Fortune 500 companies).
The most important skill in a good software engineer is not smarts. No. It’s not how good he can write code.
It’s not soft skills either
I switched to Java.
I use IntelliJ IDEA to write Java code almost every day now.
You might be curious what happened?
I’ll tell you in a bit, but before, here’s a big news from the Node Foundation:
This year, I chatted with some of the greatest minds in software engineering. It typically happens at conference speaker and sponsor dinners where none of the regular attendees are allowed. Some of the people you follow on Twitter, got to relax and share opinions and war stories (IE6 anyone?).
These casual talks, and my personal observations over the years, led me to believe there are certain that there certain secret traits of highly effective and successful programmers. Now, do you want to be kick-ass programmer, ship tons of great products people love, and don’t kill yourself in the process from various stresses? If not, then skip this article and try to figure out the stuff on your own.
Today is exactly one year and ten days since I started my work as a Technology Fellow at fintech startup Capital One. Yes, I wrote before while you shouldn’t work in a startup, and I still believe in it, because Capital One is not a startup in a traditional sense. On the contrary, it’s in the top 10 US banks list as of 2016. Let me explain myself.
Typing is everywhere right now. We type for work in emails and on IM clients, we type for personal relationships on Facebook (when was the last time you spoke with a friend on a phone?), and we type to have fun in Whatsapp or iMessages. Then of course, we code in editors and IDEs, and type commands in shells.
Imagine that you woke up tomorrow and weren’t able to use your keyboard. Maybe you would have broken both of your wrists skiing… Terrible, right? Even if you don’t write books or blog posts like I do, typing on a keyboard is how most of us live. And touch screen typing and voice dictation take only small roles. Let me tell you why you might be in danger of losing your ability to type and maybe even close to losing your job, career and relationships.
Most of the people outside of Capital One think of it as a bank with those visigoths commercials and the “What’s in your wallet?” slogan. Few people know that Capital One is a startup in the financial world if you compare it other big names such as Wells Fargo, Bank of America or Chase. Capital One started only a couple decades ago as a data driven technology company. Before it, there was only one type of credit card and people with less than stellar credit just weren’t eligible for it. Capital One revolutionized the credit card industry by analyzing risks and consumer profiles. It turned out to be a big success. Then came the visigoths, along with the acquisitions of traditional brink and mortar (such as Chevy Chase) and online banks (ING DIRECT which is Capital One 360).
Last week I started a giveaway. The prize is Sublime Text license ($70).
You can see the draw in this screencast: http://youtu.be/8e6mAdhTC8E.
Sublime Giveaway Winner
The winner is someone with a nickname “soouee”.
Back in September 2014, I started the apprenticeship program. The goal was to mentor web developers on the real projects.
The interest was higher than I expected, so instead of a single mentee, I accepted three people. Two of them are here in California, and one is in India.
In August, I posted an idea of a three-month apprenticeship in web development and Node.js:
I only wanted to test the water, and was surprised that I got over 20 requests. Therefore, I went ahead with the interview process in order to select one aspiring Node.js programmer…
If you do something for a living every day (i.e., you have a job) you have two choices:
- Learn and become better: this is the default path for most people (it’s hard to do something over and over without getting better at it).
- Stagnate and regress: this is actually harder than progress, and may require some subconscious proactive self-sabotage.
So everything is better if we automatically make progress, right? Not quite, because when we make progress, other people (including bosses) start to notice, and they then give/bring/order more of the same work—not a new type of work. Usually it’s the same stuff you’ve been doing already (and for the same money), because management doesn’t want to lose a good producer. I call this punishment for becoming better.