Career

Goodbye Amazon; Hey Google

August 24, 2020 Career, Personal, Success 4 comments

Disclaimer: opinions in this post are my own and do not represent opinions of my current employer or any of my past employers or any of my or their clients.

Time for some big news: as of 24th of August I’m a Googler or rather a Noogler, as newly joined employees are being called.

Aligned few T-shirts for my first working week

It has been almost a month since I left Amazon. Here is a “mandatory” badge photo. Amazon was a place of rapid learning on multiple fronts, not just from engineering perspective but from many other. I learned Java or at least enough so that I can write code in it (not that is is much different from C#, which I knew before) and I learned how scalable and resilient solutions are built. But other than that and most of what I learned wasn’t programming related but more of understanding on how truly data-driven, customer-oriented (or let’s say “customer obsessed”) company is run. Seeing this machinery crunching from inside was absolutely astonishing. Probably what’s the most prominent about working for Amazon is its strong prevalent culture embodied in 14 Leadership Principles. Each and every aspect of work is guided by those principles. It starts with your interview to be an Amazonian. It takes you through working days, your promotion, decision making and anything you could think of. People live by these principles.

During 2.5 years I worked on retail project to launch and scale a fulfillment channel in one of the rapidly growing markets. The time allowed me to meet and work with amazing and smart people. The team I was on was awesome and my manager was a boss you can only dream about. I liked the vibe of Vancouver’s office, maybe because it was much more multi-cultural and diverse compared to Seattle (though I might be mistaken). I was promoted at Amazon to SDE3. The project I was on was and probably is gaining more and more of momentum.

Some of you would be curious why I left Amazon if things were going so well. (Just look at AMZN stock price for one data-point). As every job there are negative aspects. Amazon is somewhat notorious for those, but I didn’t leave Amazon to leave Amazon. I am not excluding joining Amazon again some years from now. Current decision is more to learn about another big company, its culture and processes, especially when we are talking about Google.

I don’t know what exactly to expect from this change. Many software engineers see Google as the most desirable employer to join. The company is famous for its high engineering standards, googley culture and so many other things. I’m excited to the core to embrace what is coming at me.

Among 24 checkboxes in my 2020 plan working for Google will tick few of them. This includes double-tick on meaningful work-related change, learning a new programming language (will be coding in Go and Python), and unexpectedly might change my coffee and sleeping habits (if I succeed in regularly getting up before 6AM and not having coffee :) ).


4 comments


Becoming Senior Software Engineer and Career Path

April 4, 2020 Career, Success 14 comments

Disclaimer: opinions in this post are my own and do not represent opinions of my current employer or any of my past employers or any of my or their clients.

Señor Engineer
I just had to put this picture for few friends of mine ;)

Recently I got promoted to Senior Software Engineer position at Amazon. This post starts with my career story leading to the place where I am now and finishing with thoughts on titles, their meaning, and further thoughts on professional growth for software engineers. Bear with me, this is a long post with no conclusion.

Career Path so Far

My first job was with a Ukrainian outsourcing company, Softserve Inc. I started there in April 2008 and left the company in December 2011 to pursue new experiences in Western Europe. During those 3.5 years I got promoted twice. When exiting the company I was titled “Senior Software Developer” leading a team of 8 developers. Most of us were young software engineers just some years out of college, we were in a different kind of business than all of my next jobs (outsourcing vs. product).

My first job is still an inspiration on how I should be approaching my career. Being career driven, ambitious, and overly eager to learn non-stop were the main characteristics of me back then. I was brave enough to speak at user group events, and teach others. I’ve just read old post on leaving my first job and it inspires me. My English is horrible, but the meaning is everything:

I joined my second company in Austria as a Software Engineer (intermediate level) and was extremely happy with the quality of software we were producing and everyone’s skills. This was the first time I started learning about distributed systems and just loved working there. I hammered the keyboard non-stop and was happy. As it always is, every story has its end. I left my second company banally to earn more money. Sad but true. They tried to keep me by offering some XX% salary increase, and… drumbeat… a “Senior Software Engineer” title. I rejected. I don’t know if that was the right move, but that clearly was time when I chose money over title or even over happiness at work. Below is a blog post about leaving second job and reasons why I chose money, if you are interested:

I spent only 1.5 years with second company after which I had long 4.5 years with United Nations (well, the IAEA, which is international organization associated to UN). I started as a contractor Software Engineer – my title didn’t really matter as at first I was self-employed, I could probably have called myself “God Of Software Engineering” at “Greatest Software Company In The World” and it would not matter as for the IAEA I was just a contractor and they made me go through airport-like security each and every day for few years. In the end they hired me as a Staff Member with a cryptic title “Systems Analyst / Programmer” putting me in charge of a team of contractors :). This was another bump in my income as suddenly I didn’t have to pay taxes (yes, let me repeat it – I legally did not have to pay any taxes at all).

The place is definitely unlike any other workplace. There were over 100 different nationals working in the same building with me. I worked directly with people from Iraq, Zimbabwe, Azerbaijan, UK, Australia, Canada, China, India, and so many other countries it was virtually impossible to know who is from where. There was so much learning about different cultures. This alone was awesome. There were tons of other benefits related to working at that place. Not everything was great. For instance, I had to come to work in a suite – yes, software engineer in a suite. More seriously I was looking for more growth. Even if I managed to get promoted that would not make any major difference. Maybe, I would just start wearing a tie in addition to suite. Unfortunately, I don’t have a blog post about leaving that place, even though I have so much to share. All I have is this picture of me getting out of a nuclear reactor and tweet:

Up until 2018 I was mostly .NET engineer with desktop, distributed, mobile and web skills. Starting to work for Amazon meant dropping good portion of that knowledge and learning Java and many things from the “dark side” (oh, sorry, that’s the other way around). I’ve joined Amazon as SDE2 and I didn’t mind joining on an intermediate title as I knew that working for one of FAANG sets me on a totally different growth path that brings challenges of a different magnitude. I cannot talk too much about work at Amazon other than what’s public. But it is not a secret that one line of code change could mean MM$ of loss or MM$ of revenue here just because of enormous scale. This is why Amazon always tries to raise the engineering bar. Amazon is a place of insane growth. Love it.

Do titles matter?

So where am I going with all of this? If you followed me so far, you would notice I always skipped titles either for new experience, more money, or growth opportunities.

So do titles matter? I think it depends on how you look at them. You can be “CTO” at company of 10 people making 100K a year, or be a fresh grad Junior Engineer at top company in bay area and make twice as much. But “CTO” might have a chance to grow her company to giant and make millions because she is in a different growth position. It is not only about titles but what they really mean, what level of responsibility they bring, what is the pay band, what impact, knowledge, and skills are expected. Most often companies define levels boiling down to some kind of seniority and scope of responsibilities and then would define different titles having technical track, management track and maybe few more.

Long story short, I think titles do matter but they matter in a context.

When I look at titles of people whom I knew from my first job I get humbled – some of them got promoted 6 times to the likes of “Vice President of Something” or “Senior Solutions Architect” or even something more pompous. Not all of them, though, some of them who were less ambitious or had different goals took different paths. This makes me wondering where I would have ended up had I stayed. I will never know, but should I even care? Should you care about your past decisions and think too much? We should not! Regret is a painful emotional state to avoid. We need to always try to minimize potential regret.

So how to get to the next level?

Everyone of us has a different path in life and in our careers and that is just the way it is. We care about ourselves, our families and people we know and relate to. So for the most part you don’t care about me or my title the same way as I don’t care about your title or other engineers’ titles. That having said, you might be interested in this post as you might be wondering how you can get to your next level or what you can learn. Human nature is not to be happy with what they have and I am ok with this. This is normal.

Here are original bullet points from me:

  • Do your job and do it well. Really well. Master the tools. Balance delivery and long-term perspective.
  • Never ever stop learning. Improve yourself in all areas. Soft and hard skills.
  • Work on projects that have impact and could grow to something big. If you don’t think you are on such a project change the project or change the project.
  • Find a mentor and work with your manager and others to get you where you want to be.
  • Look at what next level implies and do those things. Take responsibilities. Now.
  • Make your work visible and document what you’ve done.
  • Stay healthy. Sleep well.

How much in a promotion is luck?

This is a difficult question. If I take philosophical approach I would say that a lot is due to luck – we just pop up like little candles in different parts of the world and then we fade away, you might have been unlucky to be born in poorest country in the world or your parents might have started preparing you for Stanford in elementary school. You might have worked on a project that suddenly started making millions of dollars growing and riding everyone’s careers with it or you might have worked on failed project and got laid off.

Another cold-blooded view is absolutely deterministic. You are worth exactly what you are worth, meaning that if you somehow think you deserve higher level this is simply wrong as you were not able to determine what it takes to get that what you want and therefore you don’t deserve it. Big companies have data-driven approach to promotions. If you have the data for the next level you will undeniably get it.

My overnight promotion was years in making.

Conclusion?

This was just a story. You can make your own conclusions. I’m just encouraging you not to give up. Feel free to leave me a congratulatory or any other kind of comment.

Among other things, this promotion completes one of the important parts of my 2020 new year resolution. I’m now 12.5% done and more is to come.


14 comments


Approaching a software engineering problem

January 5, 2020 Career, Opinion, Success No comments

How we approach problems often defines whether we succeed or not or how hard success comes to us!

Me ice climbing

This blog post is my humble attempt to come up with some of problem solving advice for software engineers who are starting in their careers. Why would you listen to me? – You don’t have to. In fact, I would argue, that you shouldn’t take anyone’s advice at glance and at the same time be open to evaluate everyone’s advice and then make up your own mind. I do not have many credentials, other than 12 years of experience as a software engineer in various roles (SDE, Sr. SDE, Tech Lead) and various industries (outsourcing, online entertainment, nuclear energy, e-commerce). My experience is different and success is questionable. I am guilty of making career mistakes and solving problems the hard way. My hope here is that the below could save you from making same mistakes.

Worst mistake

The worst mistake of all is to die with regrets but, as not to get too philosophical, we are talking about software here. So…

It is totally normal to get stuck time to time on problems. If you never ever get stuck it might indicate that you are staying in your comfort zone impeding the speed of your progress. Therefore, imho, one of the worst things you could do to yourself at work is to let yourself stay stuck on a problem without any progress or learning and as a result with no advancement to your future career.

Understanding the problem

The first step to approaching a problem is understanding. You’ve got to identify the issues and envision how the success would look like. Sometimes this might be referred to as “working backwards”. More often than not, there will be preprocessing done by business analysts / project managers / senior engineers which results in some kind of requirements (stories, documents, tasks, etc). Your job as a software engineer is to first understand what is wanted from you. Simply state back to requirement givers in your own words what it would solved problem mean. Once you understand the problem completely proceed to the next step.

Strategizing

The second step is strategizing. You need to come up with a potential solution. You might want to brainstorm on options, evaluate them and try to come up with the best one. Decision matrixes and other techniques might help, but don’t bug yourself too much. At this step you might want to create a plan by breaking problem into smaller tasks. You might work on proof of concept or try one or few things out. I do not believe in plans themselves, but I do believe in planning as it makes you think hard about the approach. It is important not to get stuck in “analysis paralysis” mode, so once reasonable time is spent, move on to the next step even if somehow you don’t feel ready. You will never be fully ready. Take on the problem you’ve got. You might learn some new things when doing so which you didn’t anticipate.

Execution

The third step is approach execution. Doesn’t matter how great plan you had, if you fail to execute you fail. Say, you picked option x and it didn’t work out for you, do you continue to push for x or do you switch to option y, do you give up, do you seek help? What do you do? Do you feel how anxiety creeps in?

From my personal observations generally there are two types of execution: erratic and systematic.

Erratic

Basically you just start bashing the keyboard, throwing different copy-pasted blocks of code and praying it is going to work. This is that kind of approach when “<” didn’t work, so you replaced it with “<=” and it worked, but then you realized that your loop had to start with index 1 instead of 0, and so on. Eventually you arrive at the finish line. I bet that most of us, software engineers, have used this approach and it worked at times but then we felt uneasy about it.

Systematic

You think about each piece of code you write and consequences it is going to have, questioning each line of code and thoroughly testing the code. Why do I use “<” instead of “<=”? Why does the loop start at index 0? Should have I used thread-safe data structure here?How would this button look on small screen? Why does this API accept any number of items? I don’t know about framework ABC, so why not read a doc reference first? And so on – you question everything! This approach might seem like taking much more time and it does, but eventually written software has less bugs, is much more maintainable and truly solves the problem. Arguably, maturity of a software engineer can be recognized by observing them solving problems in this systematic way.

Some other bullet points

  1. Reiterating is fine. Although systematic approach wants you to think about each line of code, you might be overwhelmed to do so at once for larger project. In this case coming up with a “skeleton” solution that does something and then building on top of it (maybe changing few “bones” here and there) is totally fine. This goes along with agile methodology as well. Just don’t scarify quality with “oh, this will be one in the next iteration” and eventually never being done.
  2. Do not just copy-paste. As the joke goes: “Dev1: Damn, copied this from StackOverflow and it still doesn’t work. Dev2: Did you copy from the question or the answer?” Although copy-pasting from other parts of the project or SO, for that matter, is totally fine, what’s not fine is not understanding what you are coping or not questioning the quality of the piece of code you are copying. If the code was written by more senior developer or if most of the project is written “this was” this is not a valid justification to not try to see if anything about it could be improved. As a simple example, a developer before you might have took a shortcut by defining style right in html instead of moving it to a css class in separate file.
  3. “Don’t work hard – work smart” – although true, stinks. Most often I heard this from people who were lazier than others. There might be two types of laziness – a) the one that makes you procrastinate, and b) the one that makes you ingenious in problem solving. I’m fine with b) as long as it doesn’t come at cost of quality of your solution in terms of maintainability. Think of someone doing a+=b; b=a-b; a-=b; to swap two integers because they didn’t want an extra variable and now extrapolate this on on system design of your software where no-one could understand what the hell is going on. Long story short, you need to work hard and there is no way around it.
  4. Pause to learn and deliberately practice. At times you might come around something you haven’t worked with before. Stop! Take a moment to understand what it is. Reading one of two pages of documentation or going through “hello world” tutorial might save you a day or few. As an example, you might need to integrate a library into your project and it may look overwhelming as the project is huge. At this point it is best to implement simplest possible project with the library to understand how it works before spending days integrating it and then not understanding why it isn’t working.
  5. Seek help but do your due diligence. It is totally ok to ask others questions – this is the way to learn. At the same time it might not be appreciated to ask something that can be found online or in documentation with a simple query. Also learn to ask how to ask help http://xyproblem.info/
  6. Time bound. Never get stuck on something for too long. Put some boundaries for specific tasks. If x isn’t working, look at your strategy and unstuck yourself. You might need to escalate this with your manager.
  7. Clearly communicate. Very likely you are working in a team and have a manager. Work on improving your communication so that you can convey your status and whether you are blocked and need help. I would advice against obfuscating your status with needless information – just be honest if you are having difficulties.
  8. Retrospect and analyze if you can improve something for the future. Don’t just take everything at its “status quo”. Say, if environment setup for your project is difficult, and always takes time for engineers go ahead and improve it.
  9. Reasonably document your work. Chances are that someone will have to solve a similar problem or that you will need to explain your work at later stages. Documentation is just a tool to help you out in these situations.
  10. Add your bullet-points/thoughts/disagreements in comments!

Conclusion

It is in my personal view that approaching a software problem consists of 1) understanding the problem 2) strategizing about solutions and 3) execution of the strategy. Observation I have made over the years is that engineers tend to solve problems erratically or systematically. More systematic approach supplemented with the above bullet-pointed guidance might be helpful advice for starting software engineers, but be skeptical as this is purely an opinion. Enjoy and let me know if it helps.


No comments


It’s all in your head: thoughts on 15 books

September 22, 2019 Book Reviews, Career, Opinion, Personal 3 comments

Metacognition. Seeing with your tongue. Implanting fabricated memories. Superintelligence. Immortality. Dataism as religion. Lobsters and your social status. Number anchoring when negotiating your salary. Amoral deception. Illusion of choice and of free will.

Are you intrigued? You should be. I definitely was impressed by some of the new knowledge gained and ideas covered in few books read recently. This post is a set of short one-four paragraph book reviews. Some books I do recommend and some I don’t though still mention them for my personal record and for entertainment reasons and also to prevent you from reading them. Since this is covering 15 books the post is going to be relatively long. Please bear with me.

Learn better

Key idea: Learning is a skill and you can teach yourself to be better in it.

The author advises 6 steps: value – make learning more valuable by associating it to things you appreciate, target – set learning goals, develop – practice with audience or teach, extend – constantly improve understanding of existing knowledge, relate – create relationship between concepts, and rethink – don’t get overconfident and dive deep to understand ever better.

Quote: “The act of writing is a good example of metacognition because when we think about composing sentences and paragraphs, we’re often asking ourselves crucial metacognitive questions: Who will be reading this? Will they understand me? What things do I need to explain? This is why writing is often such an effective way to organize one’s thoughts. It forces us to evaluate our arguments and think about ideas.”

At times I regret how I was studying at university – I could have been much more efficient had I known that the key is to retrieve the knowledge instead of repeatedly consuming information. My interpretation is that the brain works in such a way that when we consume information it is transmitted towards its storage destination igniting complex neural paths in one direction but to retrieve the information the path has to be ignited in the opposite direction as well or otherwise we risk “forgetting”. This brings us to the next book:

The Brain: The Story of You

The book if full of all kinds of absolutely fascinating facts about inner workings of our brain. Sometimes even slightly creepy. For instance, read this quote below:

Quote: “So not only was it possible to implant false new memories in the brain, but people embraced and embellished them, unknowingly weaving fantasy into the fabric of their identity.”

Disregard if you believe someone can implant fake memories, this book is totally absorbing and exciting read if you are new to neuroscience and psychology and want good introduction. You would get to learn about extreme adaptive capabilities of the brain and other things. As I understand it, effectively the brain is a powerful interpretation machine taking electrical signals as input (from your ears, eyes, tongue, nostrils, skin) and translating them into flow of bioelectric processing that could cause certain chain reactions resulting in physical actions and/or secretion of chemical substances (hormones) by glands effectively making us alive. Since the brain is such a powerful interpreting machine we can work on providing it with other inputs and teaching it to handle those as well. In this way a guy has learned to see with his tongue and even climb using Brainport. This is a real product for people with disabilities consisting of a camera on outside, a pad put on tongue towards which an electric picture is projected. To extend on this, there is nothing that could prevent us from extending capacity of human body.

Or, maybe, instead we can build artificial general- or super- intelligence to help us out?

Life 3.0: Being Human in the Age of Artificial Intelligence

Let’s do versions first: 1.0 – biological when hardware and software evolved, 2.0 – cultural when software is designed and hardware is how it was, 3.0 – technological when both hardware and software are designed. Here “hardware” is human body and “software” is our cognitive abilities to process information.

This book reads almost as science fiction and somehow involuntarily reminds me of movies where robots and humans exist together. The book brings questions of how the society will exist when Artificial General Intelligence becomes a reality. Would we no longer need to work? Would machines try to exterminate us as in Terminator movies or harvest for energy as in The Matrix? I liked be book for bringing all of these interesting questions, entertaining on all kinds of possibilities, and exploring potential solutions to new problems we would eventually have to face and at same time not actually being a fiction.

Can we become super-humans or even gods without the help of AI? Let’s look what the next book says:

Homo Deus: A Brief History of Tomorrow

The key idea is that we eventually become god-like and gain ability to control life and environment and Homo Sapiens goes extinct. We might eventually lose our carbon-based existence and just become information.

I really like the structure of this book taking your slowly from understanding how much progress humanity has made by overcoming such horrible things as plagues, famines, and wars. Then the book sets next goals for humanity such as immortality and eternal happiness. The author then projects his historical knowledge and recent achievements in medicine and technology into what future might bring us.

We believed in gods, science, liberalism, other things. Humanism being the main “religion” of 21th century when we celebrate our own intelligence and experiences, but the final and the last one could be Dataism. You can translate everything into data! Everything. Many people measure their pulse, sleep, etc. People with diabetes wear devices that measure blood sugar levels and inject insulin as needed. People post pics on facebook, instagram nonstop, and tweet like crazy. When I run I measure speed, pace, etc and compare to earlier myself and other runners. Oh… and I write this post. Let’s go further: wondering how good sex with your partner is – easy put data sensors that measure, duration, intensity of orgasm, analyses sweat contents and put it on a plot over period of time and you know all you desire to know and, maybe, even compare to results of others. Sounds weird? I bet, but some real companies produce products like this. Now, let’s put even crazier proposition: Do you even exist if you are not connected to net and there is no digital trace of you? Right now, you would think that you do, but maybe in future ubiquitous data stream of human life becomes their life in itself?

Quote: “Senses and emotions are biochemical data-processing algorithms”

Speaking of biochemistry:

12 Rules for life

Serotonin is natural hormone associated with feeling of happiness. It is antidepressant you can get prescribed if you’ve got depression. In lobsters serotonin is regulating posture – the more serotonin – the more open lobsters posture is – the higher lobster is in its dominance hierarchy. Let’s call them alpha-lobsters (AL). Other male lobsters would know AL are tough ones and would not take on them and female ones would be attracted to AL. Female ALs would also be the ones with all the mating choices. Lobsters existed since 350M years ago (and if you recall 65M for dinos and some 200-300K for homo sapiens). Now the interesting part: the process of regulating posture and social status is embedded in humans the same way as it is in lobsters. Yeah it is very deep inside us, but, damn, crap, no! So the first rule is “Stand straight with your shoulders back”.

I didn’t like the book, though. Except of the very first rule others are not so fascinating and exciting. Not too sure what exactly to make of the first rule or what other rules are teaching us, but the book is quite popular and the author is very interesting personality (Canadian clinical psychologist with strong views), so instead of reading I would recommend to watch this first: https://www.youtube.com/watch?v=-5RCmu-HuTg (start at 3:40) and if you still want to read all 50 shades of grey in the lobster world – go ahead.

10% Happier

Another book I cannot really recommend. Listing here mostly for myself as not to forget. I read it and, yes, it is quite interesting as a story, but not much more. The book is like a memoir of one of the journalists who discovered his way to practicing mindfulness through his personal struggles of finding himself while building his career, reporting at war, craving for drugs (adrenalin, cocaine, whatever), and interviewing notable people, such as Dalai Lama. The only learning form this book is that celebrated people are often deceiving, they are hiding things and are driven by crazy things. The author didn’t motivate me to start meditating – I still think it is not gonna work for me. Somewhat fun read though, waste of time otherwise.

Speaking of deception:

The 48 Laws of Power

Let’s start with a disclaimer: I do NOT praise this book.

This book effectively teaches you how to deceive others and how to work your way to gain power the evil way. Wikipedia says it is a bestseller popular with prison inmates and celebrities. Description on goodread has this “This amoral, cunning, ruthless, and instructive book synthesizes the philosophies of Machiavelli, Sun Tzu, and Carl Von Clausewitz with the historical legacies of statesmen, warriors, seducers, and con men throughout the ages.”

If you want to understand how amoral this is read the quotes here: https://www.goodreads.com/author/quotes/865.Robert_Greene I don’t even want to repost them here.

Key learning: bad people exist and they could intentionally be manipulating you in psychopathic ways just to get what they want no matter what the price or method. It is good to be aware of such things and try to recognize and distinguish between people with genuinely good intentions and those who are evil. Never be a victim.

The subtle art of not Giving a F*ck

One thing that I like about this one is that the author says it is ok to not try being positive all the time. At times people are overplaying it and it is weird when they pretend to be happy. Acceptance of some of the negative experiences is a positive experience in itself.

The book is an easy and extremely entertaining read, especially if you are feeling a bit stressed and worry about too many things. Definite fun. Most of us like fun, so if you are going to read/listen to it do it mostly for that reason.

Algorithms to live by

Fun book for software engineers on how you can incorporate computer algorithms into your everyday life. Just go and read. Super easy reading and wonderful way of spending your time.

Wondering how to sort your clothes and stuff in the most effective way? Like maybe sorting them by type? Nope. Wrong answer. The best way is to introduce Least Recently Used cache, making sure stuff you need the most often is always most accessible.

Go ahead and apply game theory towards making your decisions and design mechanisms for decisions instead of relying on good intentions.

Never split the difference

Ok, finally back to slightly more serious books, and I would go as far as to say that this book is a “must read” before your next job offer negation. The book is written by former FBI agent who worked as hostage negotiator.

It is also probably one of the most practically useful books for people who have office carriers like me and would like to apply negotiation techniques in almost any discussion. More often than not, “No” means “wait” or it means there is something the other side doesn’t want to reveal. Your job is to work through what the other side really wants.

Louder than words

This is a book on nonverbal intelligence. I remember it being intriguing when listening to. We humans are very interested in knowing what others think. They say body language conveys 55% of communication. If this is true then we should benefit from learning to be better at understanding nonverbal messages.

Principles: Life and Work

This is really good perspective on how you can structure your life and work around set of principles. I like the emphasis on always getting all the way to truth by overcoming your emotions, ego, and blind spots.

One of the great and unique notions introduced in the book is idea meritocracy that can be applied at workplace based on the following: radical truth – no filter on what you’re thinking, radical transparency – being super open for entire organization, thoughtful disagreement, believability-weighted decision making.

If you don’t have time for the book just want this great video on how economics works and then look at the principles for success videos. These two should be worth one hour of your leisure time. I really appreciate how Ray Dalio is trying to leave some legacy after him.

Extreme Ownership

This book is written by former US Navy-Seals who fought in Iraq and in essence is partially memoir and partially book on leadership covering 12 principles towards becoming extreme owner and a real leader. The most memorable are the first and the last. The first one is extreme ownership: always take full responsibility for your own and your team’s results, never blame anyone.

Quote: “Implementing Extreme Ownership requires checking your ego and operating with a high degree of humility. Admitting mistakes, taking ownership, and developing a plan to overcome challenges are integral to any successful team.”

The last principle one is discipline equals freedom: conquer your weaknesses, procrastination since being disciplined means being fee. This brings us to another book:

The Power of Habit

Key learning: most of our lives are structured on top of numerous habits and building right habits could propel you really far forward.

Habits have the following structure: Cue (stimuli) + Response (actions) => Reward (resulting sensations). To build a new habit you need to identify the response – which is the core of what you want to be doing, then you need to come up with cues that would repeat and eventually create craving (same timing, same location, same triggers), and then you need to make sure you get the reward or punishment. Once this is done: repeat-repeat-repeat and at one point you won’t be able to resist.

Quote: “Habits are most malleable when the Golden Rule of habit change is applied: If we keep the same cue and the same reward, a new routine can be inserted.”

Thinking Fast and Slow

This one is written by Nobel price winner and is probably based on more research done by author himself than any other book in this list. Not an easy read. I definitely recommend the book, but probably don’t listen to it like I did. Get yourself kindle or paper version.

This is a book on how we think about things in realm of two systems: system 1 – fast processing, lazy, and emotional, automatic, and impulsive; system 2 – slow processing, rational, aware, conscious, and considerate. Although the author didn’t give these parallels I tend to think about system 1 as subconsciousness or based on subconsciousness and about system 2 as that of consciousness.

Default rule. Let me give you one example: I lived in Austria for some 6 years. Had I died in car incident I would have been donor of my organs, same is the case for 99% of drivers in Austria. Now, this number is only 12% in neighboring and culturally similar Germany. This is simply because Austria uses opt-out and Germany uses opt-in system when collecting consent. System 2 needs to put consideration in case of opt-in, while system 1 is happy to skip in case of opt-out.

Loss aversion. We are more afraid to loose something than we are eager on getting more of it. Authors provide numerous examples of loose/gain propositions with exactly same statistical outcomes and demonstrate how people choose option that sounds more safe. Unfortunately in real situations what sounds safer could be irrational and more often than not people actually make the wrong decisions. This is especially important when you make money decisions.

There are many other concepts introduced in the book all backed up by research, evaluation and phrases for remembering in the end of each chapter. Just going over all of these concepts is worth your time as it might help you make better decisions. I am considering rereading kindle version of the book after some time.

Conclusion

Personally I find this kind of books very fascinating and engaging as they provoke profound thoughts on our existence and provide guides towards enhancing our future well being.

Hopefully these short reviews are useful to you and will help you pick your next read.

Thank you.

Would be happy to receive quick recommendations on similar books in comments!


3 comments


Does Your Software Developer’s CV look Professional?

October 11, 2015 Career, Success 2 comments

imageA first glance look at your resume will rest assure a potential employer that you are not worth hiring if it looks like a crap.

Even if you listed tons of technologies, badly looking resume hints that you don’t care about the quality of things. Employer might think: “He must be writing his code in the same ugly way.”

In this blog post I want to share few things I did to my resume.

Actually, I have more of a CV than a resume. After recent changes I created two different versions of my CV. One is more concise two pages that I would normally use and another is extended 4 pages version. Four pages version contains detailed information on projects I worked on, so it can serve for my future editing, should I need more information.

Being Specific about Contributions and Achievements

Probably, the main thing anyone should do to their CVs is to ensure your future employer will have a clear idea on what you had done before. Obscure general phrases are just destroyers of a resume or CV.

For my own resume I completely rewrote everything into smarter format. I used past tense bullet-point sentences to clearly describe what I did. Let’s have a look at before and after of one concrete example.

Before

This is what I previously had as a summary for my experience at bwin.party company:

“Developing and extending large set of back-end services in scope of enterprise SOA architecture in large betting company. Scalability and performance were top most requirements.”

It was followed by a list of projects I worked on. One of them was statistics service I created. I described it like this:

“Service which fetches huge amount of statistics data from external provider over FTP and transforms it for internal consumption.”

Obviously potential employer looking at this description wouldn’t have any idea at what my contribution to this project was. Was I implementing it from scratch or was I fixing bugs? Or, maybe, I just know something about the system so I listed it.

After

After editing, the summary became:

“Bwin.party is an online betting company. I worked in the company’s sports branch, with a team responsible for backend services. Scalability and performance were the top most requirements. Most services were exposed through REST API; they had to be available 24/7 and withstand extreme loads during championship events.”

Then, I came up with this description for the statistics project:

“Designed, implemented, and launched a new sports statistics system. This system imported data from an external FTP location and made it available on our website through AppFabric Cache.”

This description exactly says what I did and even provides a glance look at some of the technologies used.

English

Another thing I had to improve was my writing. I’m not native English speaker and I’ve never took any English grammar classes. I make many mistakes.

I hired an editing and proofreading company to go through my CV and fix mistakes. I only paid 31 Euro, but my CV became English language error free. Plus they provided a few general suggestions on improving my CV.

You have to be really careful with someone editing your CV, as they might change the meaning unintentionally. For example, they wrote “Fixed a serious performance problem using search engine…” when it really had to be “Fixed a serious performance problem in the site’s search engine…”

There were obvious problems that made their way from times when my English was even weaker. For instance, sentence “I was awarded in nomination “Best Rookie Developer of 2008” in my team of 50 people, so am proud of this, because at that year our team got a lot of new people.” sounds horrible to me. Now it just says: “Was awarded the “Best Rookie Developer of 2008”.

Formatting

I completely changed the format of my CV. I’ve borrowed styling and formatting from my friend’s resume. He’s hired a professional technical writer to create a CV for him.

Before

Previous version was grey 4 pages wall of heavy text with odd formatting.

My old CV formatting

After

The new version is just two pages. It is nicely formatted and is error free. It is available here.

Andriy Buday's CV screenshot

Review

It’s very important that someone reviews your CV. I asked my colleague who does a lot of interviews to review my CV. He said that if CV is short, screener reads through all job posts, but if it is long screening ends at your last job post. So it depends what you want to show. Other thing he thought of, was adding skill grades for different technologies, like C# (major skill), F# (minor skill). I didn’t incorporate this advice, but I’m still considering it.

Photo

I added a new photo to my CV, not the one you currently see. After I showed my CV to my wife, she said that she would never hire someone who looks that frowning and sad. I had to make a new picture with a hint of a smile.

Next Steps

Recommendation Letters

I already have official recommendation letters from two of my previous companies. I’m planning to include those when applying for a job. A recommendation letter for a software developer is not common in Ukraine where I had worked before moving to Austria. But here in Western-Central Europe it is almost a must. I think that it doesn’t do any harm to ask for an official recommendation letter even if it is not common in the country where you live. Ask for it now, otherwise it could be a difficulty to get it few years later.

Cover Letter

I’ve never used a cover letter. It has never came to me that this might be a useful technic. But it might, especially if you are looking for a specific job and want to outline exactly why you are the best match for it. Should I find my “job of dream” I might consider creating dedicated cover letter. For now, I won’t create one. Have you ever used a cover letter? Did it work for you?

Hiring a Professional Resume Writer

I haven’t done this. I also have mixed feelings about hiring someone to write my CV completely from scratch. Probably, they can do a great job. But finding a really worthy professional might take lot of time. Also a good one would cost you few hundreds $. Though, it is definitely a great investment, if you resume looks terrible at the moment.

Conclusion

My resume wasn’t looking good. It isn’t extraordinary great now, but I think I’ve improved it significantly. Main things I did to it, was rewriting it in more concise and descriptive manner, fixing mistakes by hiring a proofreading company, and changing the styling.

Hopefully, this post can be of some help to make your resume look better. I would be really happy to know if it helped.

If you have suggestions on further improvements to my CV, I would really appreciate it.

Update April 2016

There is more to having professionally looking CV / Resume. You should consider having market oriented resume versions.

For instance, described above two pages CV with a photo is common for EU, but it is not a great thing for US market.

In US it is more appropriate to have 1 page resume without any personal information.

As a result I created US oriented one page resume.


2 comments


Book Review: Soft Skills: The software developer’s life manual

October 3, 2015 Book Reviews, Career, Success No comments

After going through short free blogging e-mail course by John Sonmez, I didn’t sign up for the marketing course. I was a bit sceptical about paying few hundreds for the course. But not to miss on the opportunity to learn from John I decided to read his book “Soft Skills”. (Actually I listened to it via Amazon Audible.) The book wasn’t exactly what I expected it to be – it was much more. It’s kind of a book I would like to write myself someday. The book isn’t just about soft skills needed to perform your everyday tasks at work, it is much more generic and broader in topics. The book is about skills you need to succeed in your life as a software developer. “Soft Skills” includes advise on career, productivity, finances and even fitness and nutrition.

There is a lot of unique in the book, but probably you will find yourself familiar with some of the recommendations. For example, in one of the chapters on productivity John suggests using pomodoro technique. Obviously, it isn’t something new. But the author explains how to make it work and also adds few of his own practices. Everybody knows that their health is very important, but unfortunately too many of us neglect to do anything about it. I think emphasis this book does on fitness and health in general is something that makes the book special. Personally, I didn’t really enjoy some of the chapters on finances. Maybe that’s because I’m almost done with my goal of reading 13 books on finances and investing this year. But, still, I think that others might find it useful, plus it is interesting to know about the financial experience of the author himself.

My takeaways

I’ve certainly learned few concrete tricks and technics I’m going to use when searching for my next gig, like creating a resume that stands out, applying for a job, hacking the interview, negotiating effectively and other.

I will also apply some of the productivity recommendations at my current work.

A lot from the section on learning is very practical. Hopefully, concrete steps this section is offering will help me overcome some of the inefficiencies in my learning process. I have to admit that I often learn incorrectly. For example, frequently I first read a book and only then try things out. Intuitively it felt to be an inefficient way of learning, but I continued to do so.

The other big takeaway is health related. This year I started to run (well, again), but this is not enough to feel myself fit and full of energy. The problem is that I’m not consistent in my runs. I will add some scheduled fitness exercises to my runs and will try to follow John’s advise on the topic.

John has managed to retire at age of 33 and even I’m 5 years away from that age I have less aggressive target of retiring at 41. Best takeaway on the financial side was realising that I share same opinions on the matter and have already taken few of the first steps on the way to financial freedom.

Conclusion

Soft Skills” is up to date book with very sensible, practical and actionable advice for any software developer. It has a potential to greatly improve your life – not just your career. I would highly recommend to read this book. I’ve even ordered a printed copy of the book as a gift for my friend for his birthday.


See the book on Amazon or buy it using my my referral link below.


No comments


Leaving my second job – it was time of new experiences and joy

June 27, 2013 Career 4 comments

*** NOTE/DISCLIMER: The opinions expressed herein are my own personal opinions and do not represent my current employer’s or any of its employee’s view in any way. I also won’t mention complete names of my colleagues or company names, you have to guess or just know ***

Today is my last day with my current employer. I worked for this company for almost 1.5 years. Not much, but during this time I worked with many great people and I gained unique experience. I just read my post on leaving my first job and I actually enjoyed the structure in which it was written. In this post I will express my thoughts and impressions of working for this company.

I BEFORE

In summer 2011 one of my former colleagues who had left SS years before me wrote a mail asking if I’m not interested to move to another country. He said that he remembered me as a good developer so he wanted to recommend me for a position in Austrian company where he worked at the time. Now he works for MS. Since I felt myself young and limitless I agreed. I had first interview over Skype. Not sure if I impressed interviewer, since I wasn’t strong in my Web skills, which has probably decided on the team to join. But seems that he liked me. Around that time I got married and we were heading for Europe for our honey week. Next interview was scheduled for the time when we planned to be in Vienna. This was the first time when the company saved money on me. This interview went much smoother and I’m sure I have impressed guys.

One of the most toughest questions was salary expectation. It is obvious that estimating salary expectation for living in another country you have no clear idea about is hard. Forums/government papers and reports help but not extremely much. I made my number and it fitted into company’s rage well since I got an offer with exactly that number.

BUT it definitely wasn’t the reason to move. I knew that cost of living in Western Europe is high and for money I got in Ukraine I can buy lots of goods. You know what? Higher cost usually means higher quality. This is absolutely true for Austria. But even this wasn’t complete portion of my decision. I guess primary reason was to try new experience and plus it was a time to change my learning curve as well.

II THE BEGINNING

Unfortunately it takes ages until Austrian government issues long term visa for 3rd world country. I had my interview in Summer, but started to work in Winter. I didn’t know what to expect in Austria and knew very little about the company I was joining. Whole move was very exciting time. Our parents had tears in their eyes while we were waiting for the flight. I understand them – it was not possible to know if we were going to return back or stay living there. It is still not known.

This time was very much different from anything I would have had if I stayed in Ukraine. Me and wife had great chance to travel across Europe and we have a daughter being born here. I anyway plan to have a blog post on how it is to be foreigner (developer) in Austria, thus wait for it. Now I will concentrate more on career.

On my first day I was assigned a bug in search engine. But since I didn’t have credentials to most of the systems and tools and I knew nothing about the domain I have fixed only 2 days later. Fix was one line change in the config. I remember how Sebu helped me right from the beginning. This was colleague support you can only dream about. Managers wanted to try me out, thus assigned a project with middle importance and priority. When I finished with it I remember none was really expecting it to work completely properly right away. But project itself turned out to be a success. This is how I proved myself to be reliable worker producing quality software.

And I started to enjoy it. Every piece of code I was assigned to write received lots of my attention. I cared for the code quality much. I even tried to have my code 100% UT covered.

III CORE

The company I joined is specialized in online entertainment, and I started in sports betting section of it. Biggest difference to what I had to do back in Ukraine is that this company is product company. We produce our own product and make money for ourselves.  Team which I joined is responsible for developing/extending/maintaining whole bunch of services (maybe 40 or more) within enterprise SOA architecture.

It is pretty normal that there was room for learning when you start in new company. I definitely gained new experience in tools and the way how software is produced and deployed to production. Plus it was a move to more “webby” things for me. My team is doing production rollouts almost each weak. Millions people use our web site and we change something behind the scenes at the same time. Great.

I didn’t change my team for the entire time in the company and I don’t regret. I know that there were people who got tired or stopped enjoying their work or there was something they didn’t like. But I like the team very much. Every developer in the team is highly skilled and experienced.

Sergey, Sebastian and Simone are three developers from whom I gained the most knowledge and have taken something from them. Other developers Predrag, Lukasz, Alex, Raphael and Vladimir were very kind to me and it was pleasure to work with all of them. Some just joined the team, some left and for some big career journey just started.

For sure I improved my English, but there are two other languages I improved, like German and Russian. Before this company I never spoke Russian. But things turned in a way that I’ve significantly improved my verbal Russian skills in Austria. The most collaborative with me was Sergey. It was eye opening how frequently he has new ideas and knows about new features and tools. Thank you.

I would like to thank all developers with whom I worked and also our testing team. Without testers we wouldn’t be able to produce quality software.

It was also a pleasure to work with product owners, delivery managers and other departments of company.

Special memories will stay with me about the DB dev team. It was joy.

IV OTHER THINGS

I will definitely miss Friday lunch walks to Greek restaurant. It might be surprising but except of improving my dev skills I’ve learned how to play table soccer. Not that I play like a pro, not even comparable to guys who work here for years, but quite acceptable. I think you can even tell how many years person worked here when you look at his/her wuzzler skills.

Also I will miss this year’s action day and numerous parties throughout the year. I say I “will miss” since I will work in place where people probably don’t like parties, sport activities that much, but I have to try before claiming anything.

V THE END

If you read my post on leaving my previous job you will understand that I left not because of money or dissatisfaction but because of new experience and new opportunities. I’m very happy about my current team and satisfied with work I do. On the other hand things have changed for me. My daughter is now 18 (… Days!) and understanding that I will have to support her (and likely her sibling) changes the way I think about money.

Nearly 3 months ago I was contacted by some UK company looking for .NET developers for work here is Vienna. They titled e-mail with solid salary number, which was so attractive it would be silly not to try.  First interview I had on the phone with some Indian interviewers. My questions on what this is about were somehow avoided. True conspiracy. But after they were much satisfied with my skills all the cards where turned. This company is just man in the middle connecting me with something big.

VI THE FUTURE

After some negotiations with man in the middle and and direct interviews at UN I was offered a job as a contractor. I’m officially starting my own business from 1 of July being registered here in Austria. I even have my own European VAT identification number. And can accept business opportunities from whoever I want. Well, not that I will have much time, but it is just nice to realize this.

I was in healthcare and then moved to gambling and now will dig into atomic energy. There is a rumor flying around about how depression it is to work for those guys and how it is difficult to change bureaucracy things. I see myself as a changing force aimed to make more things being done. And I’m looking forward to it!

It was great time to work for the Company.

I miss you all!

For me it is time to bet and I hope to win!


4 comments


Book Review: “So Good They Can’t Ignore You: Why Skills Trump Passion in the Quest for Work You Love”

June 23, 2013 Book Reviews, Career, Success No comments

SoGoodTheyCantIgnoreYou Recently one of my colleagues got so inspired by two books she read, so that she decided to simply start giving them away. She was guided by the “Pay it forward” concept, which “is asking the beneficiary of a good deed to repay it to others instead of to the original benefactor” as per wiki. Basically, if I like books she bought for me (hard copies) and if I like the concept I can continue buying books for other people, so they can spread the ideas and books even more.
So far I read only one of two. The short one, called “So Good They Can’t Ignore You: Why Skills Trump Passion in the Quest for Work You Love” by Cal Newport. It doesn’t talk that much about giving things away, so you probably should wait until I write another review, but continue reading for something more closer to our working lives – to our careers.
Be so good they can’t ignore you” is a quote from comedian Steve Martin that captures what is needed to build a working life you love.
Cal, the author, takes us though dozen of different examples of people who achieved success and who have failed. He starts his book with groundbreaking statement that following your passion could be an epic mistake. He says that since decades books on success tell to find something that is the most appealing to you and simply follow it, they tell you cannot achieve greatness without doing what you love. But many examples Cal brings to the table prove this being wrong. My vision and what Cal also says is that people simply don’t know what they want. They have to try things, but trying all the things around could just easily be waste of time. Lot of things require efforts and work until you really start taking adult steps in it and can do something meaningful, and even more – understand if you really like it or if it was just a play.
As opposite to passion mindset which focuses on what world can offer you, Cal says that you can armor craftsman mindset, which focuses on what you can offer the world, because “regardless of how you feel about your job right now, adopting the craftsman mindset will be the foundation on which you’ll build a compelling career”.
“ The career capital theory of great work […] provides the foundation for all of the ideas that follow it in this book. It claims that the key to work you love is not to follow your passion, but instead to get good at something rare and valuable, and then cash in the “career capital” this generates to acquire the traits that define great jobs. This requires that you approach work with a craftsman mindset and not a passion mindset. ”
Do you know about 10,000-Hour Rule? It says that excellence at performing a complex task requires a critical minimum level of practice. I think it is understandable that sometimes it also requires talent in addition and [EDIT] not every way of spending those hours adds up. Regardless here is my question: how many 10K hours do you have in your life? On normal pace it is close to 10 years. So doesn’t sound like we have capacity to try lots of things in the world and simultaneously be good at them.
At some point in time Cal convinces us that if you have enough career capital and some rare and valuable skills you can push it towards great achievements and this is much better choice than looking for mysterious passion. In the book he also shows how he made decisions and followed “rules” described. I wish him good luck.
As my personal note I would say that book indeed inspires to put more efforts into improving skills I have at the moment. I consider myself quite good in what I do now, but it would be a self-robbery not to continue developing skills and not trying to push them forward. Jumping to something completely else might destroy all I have, instead I’m advised to take little bets.
The book doesn’t take much time to read, thus for some additional inspiration I would definitely recommend it, unless you are now reading some stuff to be so good at what you do, so that they cannot ignore you!


No comments


Book Review: “Being Geek: The Software Developer’s Career Handbook”

November 21, 2012 Book Reviews, Career 3 comments

Never heard of such book? Don’t panic, I’m here to help you understand if it worth your time or not.

So, last week I read “Being Geek” in hope that it will energize me and give some additional inspiration, which I’m lacking it in my new job, but this is topic for separate post.

I’m not completely sure if I’m any kind of geek, but the book describes people who share many similar habits to those I have and very likely many other developers have as well.

Michael takes you though one reincarnation of your gig from the beginning, when you are just passing an interview until the end, when you are considering to leave. He provides you with lot of hints and tips for any stage of your career, whenever it is negotiating of your salary, creating quality code or leading others.

I’m lucky that I’ve never heard about author’s blog “Rands in Repose” before, because otherwise I would not reap anything new accordingly to reviews on Amazon. I read this book in quick pace, as I usually like short essays talking about our developer’s job. I think that book has increased by baggage of understanding how developers see their profession, how real management should look like, and what are interactions between different types of people in software organization.

Author definitely has much more management experience than average developer has therefore his story is shifted towards company’s core – employees and their interaction. He helps to understand how organizations operate on higher level. I think that this is exactly what I’ve grasped from the book, and what you can also take for yourself.

Do I recommend the book? – Well, if you don’t read Lopp’s blog and if you like career and software craftsmanship books and if you don’t have any other higher priority books in mind, then yes. :)


3 comments


Just about to start with programming as first job?

December 12, 2011 Career 3 comments

Recently I’ve got e-mail from guy, looking for some advice. At glance it sounds like he is worrying about finding his first job as software developer and willing to get some hints/advices.

First of all I would like to thank very much to those people who read my blog posts and who comment or send me e-mails. This is the best feedback I can get and it is the only true measurement of blog’s success.

So, I’ve got this well-written e-mail from student (I guess):

Hi Andriy,

Hope you are doing well. My name is Wes, I just read your articles, I have to say, I am your fan now.. Guys like you make a difference.

I am writing to you because I have the similar passion for programming as you, and that is why I went for my bachelors in Software Engineering, and while in school, I learned many languages like C, C++, Java, VB.NET and ASP.NET.

Out of all, .NET excites me the most. But now when I am about to graduate, I dont really feel good about my programming skills, and getting a job.. The best I have done in VB is made a calculator, made connections to the database, and executed some queries.

What I want from you, is some tips about what my approach should be at this point AND are their any sample projects that you recommend I should do, that will help me learn more and expose me to different sides of the programming world..

I would highly appreciate, if you write back, and I am sure you will.

Thanks – and good luck with your career!

Cheers!

Wes

I’m replying publicly, so I can share with other’s who have similar questions. Wes is not mentioning his last name so you won’t identify him :). Anyway I think that this e-mail is good one and it raises good questions. Starting from now “you” means either Wes or any other starting programming guy looking for some advices.

First of all seeking for personal improvement is great step towards it. I think that once you have clear goal and passion about it you won’t waste your time and life.

I just came across small e-book where found great answer for you from Karl Seguin:

“… If you’re willing to take the time and try it out, you will see the progress. Pick a simple project for yourself and spend a weekend building it using new tools and principles (just pick one or two at a time). Most importantly, if you aren’t having fun, don’t do it. And if you have the opportunity to learn from a mentor or a project, take it – even if you learn more from the mistakes than the successes.”

So I will expend this thought a little bit further.

You would need to write many projects – the more the better. Keep your hands dirty and work with the code, every other day you should feel that code, you wrote yesterday is crap and you can write it better today. If you are still student in Software Engineering be sure that you are fulfilling you time with programming. If you feel that learning courses are not supplying enough tasks for you, just create them for yourself.

I know that when being a student it is very interesting to take part in some sport programming competitions. So do it. You can also take part in some online competitions like Algorithm competitions at TopCoder. Those can be for your gym.

Definitely you need big projects to work on as well. These projects should take from couple days to couple of weeks. Write your own “paint”, not comprehensive one, but at least with basic functionality. Write your own money accounting system with your database, so you learn all basics of data access. You then can change data access from simple ADO.NET to ORM (try Entity Framework or NHibernate), you then can try to explore non-relational databases, like NoSQL. Do some web programming, if you did ASP.NET you can explore MVC ASP.NET. Explore mobile development by just writing same simple calculator for Windows Phone 7. You will get familiar with some Silverlight/XAML. If you are excited about .NET make sure you know C# (personally I cannot understand why Microsoft promotes VB that much, trend is C#).

Find your peers interested in programming. Learn programming in fun way, enjoy it.

Whatever you do, make sure that google in your force.

You will need to learn continuously. Read many books, but know that human forgets 90% of things heard, 60% seen & only 10% of things done. So if you read, but not try things read your time can be wasted. I have another blog post where I propose some tips on how to become successful developer, read those.

As of job. Ask older peers what are opportunities in your location. Visit software companies near you, ask them if they have some learning courses, which skills are in demand for that company. I ensure you, this is not as much difficult as you might be expecting. Also here is my article about career plan for software engineer. Probably it is too early for you to think deeply about career before you actually started as developer, but at least make sure you know how your future job might look like.

So key things:

  • Always do some programming accordingly to trends and your mood
  • Continuously learn
  • Know local companies, trends and demands

Hope I have been of some help for you, Wes and Dear Reader.


3 comments