Category Archives: Career Management
Over my career as a software something, I have had a bunch of technical interviews. Some I have done well in and some I have not.
The first part of this journey was understand something for myself. For the interviews I performed poorly in, about 50% of them I actually knew the answer, but could not get it out. Why was this?
The second part was as I led teams, I wanted to find an accurate way of assessment where a person was in their journey, whether they would stick with it, and whether they are a good fit for the rest of the team.
Here is the presentation I did to a lunch and learn group at CodeCore:
I feel many Technical Interviews fail to do their job properly. Whether the process is not well enough thought out, the people involved are not trained, whether interviewers are evaluated higher for their technical skills but not their people skills, or they really just trying to get extra “clones” of themselves. But without a doubt the worst is, there is a lack of reflection and accountability for the actual success of their chosen candidates.
Still too many questions are on topics or specifics that the interviewee will never do in their actual day to day work.
So many people conducting technical interviews fail to imagine that this is a two way process. That the “employer” is actually showing the future “employee” how they work with people.
All of that said, some are getting right and it is not from the traditional “hazing” approach, but a more collaborative approach, where the potential “employee” show a project they have worked on, where the interviews feel like a great passionate conversation..
My decision to leave was made with the following understandings: that if I stayed here I would be very unlikely to afford a place of my own, and that if I wanted to take my career to the next level I would need to work for a larger company than Vancouver houses. And with the exchange rate between Canada and US, it seems a perfect time to go to the US now.
This is my journey through reasoning why I am leaving Vancouver, BC. Of course I am not alone a Angus Reid Poll estimates that a staggering 150,000 struggling families are seriously thinking about moving away from Metro Vancouver to avoid the region’s housing costs and transportation issues.
Wages in Vancouver do not match the cost of housing
In Vancouver, BC the average wage is $76,805 per year — if you borrow three times your salary you can afford a place to live at $230,415. The average place to live in Vancouver on the other hand is $857,015. Globe & Mail reports that Vancouver is the worst place to live in Canada for difference between wages and Housing. Last year the Financial Post stated that Vancouver was the most expensive place in North America. The Demographia Housing Affordability Survey puts Vancouver, BC has the second most expensive place to buy a house behind Hong Kong.
In Vancouver, the Chinese have helped real estate prices double in the past 10 years.
Here’s how the Chinese send billions abroad to buy homes – Bloomberg Business Nov 2 1015
Controversial foreign ownership study is about money — not race: Vancouver planner
“Money is no longer connected to what you do and where you live”
In contrast, Vancouver median incomes remain among the lowest among Canadian cities, while home prices in the region are the highest in Canada. The way government structures are set up in Canada means that Canadian municipalities are relatively weak and rely on other levels of government to set policy. Business Vancouver Nov 6 2015
Shrinking housing sizes
What these figures do not show is the shrinking of the size of the place you can buy. So you could pay $500,000 for a 500 sq ft apartment. Most of the places built now have stupid small kitchens, which encourages people to eat out. What does all that salt do to your health? Let alone the psychologically impact of living in a box. I have no problem with density and I believe cities need to increase it, along with good transit. That said, an apartment should to be liveable, it has to give moments of peace away from your work, and personally I want a good kitchen and somewhere I can share food with people. The current builds are not good for people.
Down Payments on a Mortgage
I have spent most of my life working for the community, non-profits and Government. I have got by, but I do not have the savings for a house down payment, I have no family to inherit from or provide a financial security blanket. This has been my biggest barrier to buying a place.
You can get a mortgage with just 5% ($42,850.75 on the average place) of a down payment but you then need to pay mortgage insurance. Premiums can vary anywhere from 0.5% to 3.5%. A great way of taking more money from poorer people. If you have a deposit of 20% you need no mortgage insurance. So 20% of the average place $171,403 is what you need for a down payment.
The Have and Have nots
Toronto, Vancouver house prices still soaring, stats show
Benchmark detached home is $1.2M in Vancouver, while average detached runs $1.07M in Toronto
CBC Nov 5 2015
Of course one of the problems for access into the Housing market is everybody who owns a place does not want the housing market to dip, because they are making money off it. Collectively that is a lot of political power, money and votes. This from people who do not want it to get easier, if it hurts them.
In Canada it is also getting harder to borrow money even though the Interest rates are low. I have so many friends in their 20’s, 30’s and 40’s who have just given up the idea of owning a place in Vancouver. They are also torn by Vancouver being a beautiful place and they want to live here.
The Economic Divide – is it sexist?
It feel like we are about to reach a point where people will never be able to buy a place if they do not do it soon. Whilst this obviously hurts younger people, it also hurts people who work in lower incomes i.e. women and caring professions.
I have already lived (Cornwall, UK) in a place where teachers/nurses/non-profit/carers/government (still a much higher percentage of women), could not afford to live anywhere near where their jobs were based. There the average house price was £500,000 and average salary was £16,500 pa in 2008.
Any good city needs Transit. I have expressed my opinion on this in a previous blog post, when the City asked for more money (via Tax) to invest, Vancouver said no.
Beyond owning a place
The rest is my feeling and experience of the Vancouver job market after 8 years in multiple startups/technology companies.
In Vancouver there are fewer software jobs than about two years ago when there was a lot of more opportunities. The companies that are now looking for software engineers tend to be small and medium sized startups with fewer career opportunities for growth than larger corporations. That said, we have a few more global companies (e.g. Amazon) here than before, so it is possible the lack of jobs is due to the a depressed market now. With national figures showing Canada is currently in a recession, despite a recent job news showing an increase but these are mostly in the Public Administration, in Government.
I changed career after 20 years in campaigns/communications/marketing/public office/leadership/training as I felt the Vancouver market was very limited in these areas for someone in a senior position. I knew that to grow my career I would need to leave Vancouver and I was not ready to move, as I love this place.
This and my need to create again (my first degree was Computer Science, 1996) led me down a two year path of re-educating myself (via BCIT evening courses and small web contracts) in software engineering with modern languages specifically for the web. With three years additional years of web development (in full time work) under my belt, I am in a similar position of wanting to grow my career.
In Vancouver, software leadership roles are generally promoted from within (few come with quality training for the internally promoted person to gain leadership skills) or some outside “star” usually from a US company, used to working at a much larger scale. In fact I can only think of one person who received their leadership training outside of the job — and they were my best leader. I have also worked with a lot of non-technical leaders which is a different kind of challenge.
In Vancouver in eight years I have had three leaders who have inspired me out of nine. In the UK the ratio was higher, I think in part because of 360 degree Appraisals which are more common in UK, leading to a faster/tighter learning loop and higher leadership quality. It is possible my experiences have been unusual, and I simply been unlucky with my leadership in Canada. However, when I ask my friends how many of them had leaders who inspired them, most agree it is rare in Vancouver and that they had better experiences in Toronto/Waterloo/Ottawa. Other skills they shared they felt missing from ‘Leaders’ included giving feedback, risk management, change management, empathy and conflict management.
In the Vancouver job market your learning is often self directed and more often self funded. Sometimes a company will have some money available but not much. One very Global company I worked for made it impossible to claim the so called 50% off Tuition costs. More European/US companies seriously invest in training and their leaders, the UK recognized this problem a couple years back and started investing in it, in every sector.
The irony is the Canadian Federal/BC Government has made available monies for training and whilst the program is not perfect — it does not recognize online training — not a lot of companies apply for it. There is also tax credits for official education institutions and even bootcamps now. Training and Conferences are something I have had to negotiate in my contract to get them in Canada. I would like to see this as more of an active partnership than what I have experienced here.
In the technology sector the pay is a lot lower compared to US cities.
Lets take http://www.payscale.com or http://www.glassdoor.com as a comparison. In Vancouver the average Senior Software Engineer would be paid CDN $ 89.214, in San Francisco it would be US $130,00, New York US $95,000. The big differences is not so much in base salary, but in the bonus which is often 10%-20% of your base salary and then shares gifted at again 10%-20% vesting over three years. These last two are not common in the Vancouver market. In fact few companies appear to share success in Vancouver. There are even a couple that claim to be startups, but are actually family business with no scheme to buy stocks or share the company’s profits. Maybe they like the label startup, its good for marketing and recruitment.. and you can ask your people to work harder and longer.
An added bonus for working in the US is the current exchange rate whereby you would get an extra 20% to 30% when converting your US dollars into Canadian money. Taxes are also generally lower in the US.
BC & Company Benefits
A lot of small companies will do the minimal in terms of benefits and BC employment law (thanks to the BC Liberals) is so pathetic in compared to well everywhere, that some employers think they can get away with offering crappy benefits and they do.
And then there is 3 months wait for extended benefits, by some, not all Vancouver companies. Do they not care about the health of their new employees during the most stressful part of a job. All of the companies I interviewed with in the US start extended on day 1. Still Canada has a better health care system then the US.
Cost of living
Ok lets not be blind here, you need more money to live in a bigger city. Using numbeo/expatisan it rates Vancouver 34% cheaper than San Francisco, or 23% cheaper than Chicago. This seem greatly affected by exchanges rates, so I am sure they give me some indication but they are not entirely accurate.
Cost of living comparison between Vancouver, Canada and Chicago, Illinois, United States – Expatisan
- Food 8% less
- Housing 24% less
- Clothes 12% less
- Transportation 23% less
- Personal Care 20% less
- Entertainment 37% less
- TOTAL 23% Vancouver is cheaper than Chicago
- Consumer Prices in Chicago, IL are 22.63% higher than in Vancouver
- Consumer Prices Including Rent in Chicago, IL are 23.63% higher than in Vancouver
- Rent Prices in Chicago, IL are 25.43% higher than in Vancouver
- Restaurant Prices in Chicago, IL are 31.30% higher than in Vancouver
- Groceries Prices in Chicago, IL are 23.89% higher than in Vancouver
- Local Purchasing Power in Chicago, IL is 8.19% higher than in Vancouver
The United States is ranked No. 1 for most expensive healthcare per capita at $8,233. Conversely, Canada ranks No. 6 worldwide and is over $3,700 cheaper than the United States at $4,445 per capita, according to a 2012 OECD Health Data study using 2010 statistics. Americans pay over 17 per cent of their Gross Domestic Product (GDP) towards healthcare while Canadians sit at about 11 per cent.
From what I can work out I will have to something like $100 to $180 a month to get a similar service to that in Canada, with the exception that serious stuff is paid for me after a ceiling but I am still paying a percentage. Where as in Canada serious stuff is part of our Health Care system. If you have a domestic partner you will have to pay for health insurance for at the cost of $3,000 per year. If you are married, your companies health scheme would cover them at much less cost but roughly about an additional $1,600 to $2,000 per year depending on the scheme you chose.
Actual Work Culture
Every company I have worked for in Vancouver has “over sold” how good their culture is and made it sound like the best place on planet earth. They will rarely talk about the weaknesses and problems they are encountering, things they still need to fix. Maybe I am at fault here, I am from the UK and we are direct people, and not scared of conflict.
The companies I interviewed with in the US were a lot more honest about what they were good at and where they needed help. Their leaders were more vulnerable, something that engenders more trust in me.
Culture is formed from all the ways people communicate with each other, the more honesty the better. And honesty should be matched with kindness. How you start any human relationship for me says a lot, yes be proud but also be honest. You really get a sense of how good a culture is and how good the leadership is when you or the company fails in some fashion, what level of forgiveness is there? Also on the opposite side how does the company celebrate success? Values and Ethics matter.
Working for a company that is actually working at scale i.e. Billions of transactions versus Millions, is hard to find in Vancouver. A lot of the companies here are building a form of Marketing platform and/or B2B platform, often at a much smaller scale. Successful B2C is rarer in Vancouver.
In software you are out of date pretty much every three months, you have to love learning and I do. I have built a number of “social media platforms” and job sites I want something more complex.
I moved from the UK to Vancouver with a lot of stuff in 2008. It is not cheap, there are many things to be careful of and the insurance can be a killer. Advice given to me specific to a US move is that the initial offers do not match the actual cost. That technology is hard to move and expensive. And inventory everything.
Oh a really important thing to watch is they will give you an estimate based on what they think gas will charge. Then ding you for the actual amount when you arrive. And in some instances if you live where they can’t get the big moving truck and need to move items to a smaller one, they ding you with that too. Plus you need to be very careful with valuables. I think one friend ended up with an empty box instead of a playstation the last time she moved. And my move back to Chicago was $1000 more than quoted because of gas and miscellaneous charges.
Make them Saran Wrap all your furniture. All my furniture got nicked. Even though they paid for my insurance claim, I wasn’t about to replace my furniture so I just end up with ugly furniture.
If you go to the US there are a bunch of risks:
- There is no employment insurance for you in either countries
- Your TN Visa will expire and you will have 30 days to pack up and leave the country
- You pay double on Relocation, there and back again
- Trips home cost a lot more money
- If you have a Spouse or Partner they cannot earn money.. so what do they do? Do not under estimate this
- You have no credit score in the US and it will take months to a year to build one. Get a secured credit card ASAP.
- Consider how you will maintain your Canadian Credit score
The actual job that got me to move
A couple years ago I once met a guy at a software conference who was a mentor like me and was very passionate about his company. I liked him but he worked for a finance company that have a reputation of not being innovative (FinTech had not really kicked as a trendy thing). A number of years later the same company started an apprenticeship scheme and posted it online on github so anybody could use it. Wow I thought they are a company to watch, it was smart, courageous and risky. Another year that guy emailed me and asked if I could recommend any good software development managers. I did (not me).
I got contacted by a US recruiter (NeoHire North) looking to bring people from Canada. We explored an opportunity together and I started to realize that maybe I could move to the US. The TN Visa is simple enough you need a company that wants to sponsor you. You can bring a spouse into the US with you or you could get a B2 Visa for Domestic partner that has to be renewed every year.
So I reached out to the guy and said, hey do you still need any Software Development Managers? Yes we do. Two Interviews were done over the phone and seven in person.
The thing that really struck me is I really liked the people, all of them and they were so different. I asked them all the question “Why do you work here?” they all spoke with passion and vulnerability. In the end I had a number of opportunities both in Canada and the US, on the table. Whilst this company did not offer the best financial package, I wanted to work with these people, learn from them and help them be the best they can be. And the finial package is substantially better then anything I would be offered in Vancouver, and it means one day I will have a box that I can name as our own.
It fucking hurts to leave your friends, to leave the mountains, to leave the sea, and it is an exciting time in terms of Canadian Politics (I am hopeful that the Federal Liberals will do a good job and the BC NDP could revitalize BC). The emotional journey of moving country/city is a hard one and should not be under estimated.
Is it over for me and Vancouver?
Maybe not, I hope given a number of years I will be smarter, wiser and better off. Then I could come back and share what I have learned and find somewhere to live. That said, I fear if Government (Federal/Provincial and City) keeps ignoring the problem, not finding a way to collect data, to truly understand the problem and find a solution; then I will come back to find the situation much much worse. Then I will find a new home in Canada.
Brian Jackson (retiring City Planner) foresees no change in ever-upward pricing pressures on housing unless Ottawa shifts immigration policy or applies land purchase restrictions on foreigner buyers or the Bank of Canada hikes interest rates.
Possible Housing Solutions?
In my time in Vancouver I have spent about $115,200 in rent over 8 years. My biggest problem was having a downpayment. I will add more ideas to this as I learn more:
- Make it easier to pull together the downpayment, maybe larger companies could help their employees
- One idea I considered exploring was buying with a bunch of friends and living together
- Have better building regulations in making Kitchens actually useful
- Re-define what Government thinks is affordable
Checklist for moving to US from Canada
Apply for your Social Security Number – It can take 2-3 weeks for your SSN to be processed and this number really is needed for most things. Do it as soon as you have your visa, you can ask for it as part of the visa process, do this.
Open a Bank Account – Once you have a US mailing address and SSN, you should get to a bank and open an account so you have a place to deposit your US paycheques and an account to start paying bills from.
Get a US Credit Card – Apply for a prepaid credit card where you would leave a $1000 deposit for a $1000 limit on a credit card. Use this to slowly build credit over the next 3-6 months and then you can eventually ask for your deposit back. This is essential to build a Credit Score.
A person, company, organization community can be judged on its actions and behaviours not its intents. Especially when the shit hits the fan. Its easy to be nice when the world is all good. Behaviours, the culture under stress shows the real capacity of the leadership.
So I looked for a tech cofounder and infact found almost three. Then a friend who was a developer said they would be happy to “play” and see what comes of it, if we paired (pair programming) as it would be fun, and if he was going to use his non-work time he wanted it to be fun. I agreed this was a better approach, building alone is hard (Thanks Phil)
A bit of context
My father was a computer engineer i.e. he fixed mainframes for Digital, DEC and than Apple II upwards. My first computer i.e. my dads was Sinclair ZX81 it had 1k of memory and used a tape cassette for storage. I learnt BASIC. My second computer (this time mine!) was a BBC Micro 32k of RAM. My first serious application was again written in a different form of BASIC and allowed you to paint and draw. My childhood was very unstable and I went to a number of foster homes and many schools (I was little too curious). Anyways eventually I got to college (16 yrs old) and did a (BTEC) Diploma in Computer Science.
It felt too easy for me and I was more curious about humans so dropped the course (even though I was one of the top performers) and took a bunch of A Levels in Psychology, Sociology, Communications and Human Biology. At this point I learnt , I was a really bad at written english (it took several years before I found out I was dyslexic). I dropped the courses and went to Northern Ireland for a year or so. I came back and tried again in one year intensive courses. Someone close to me died and I screwed up my exams.
I got enough to get into the Higher National Diploma for Computer Science at the University of Hertfordshire, UK. In the first year I was in the top 10% of my class and got moved up to a Degree program and graduated in 1996. And than than did not code again until 2013.
Becoming a coder, again..
[update] in hindsight these courses gave me confidence, but did not relate to the reality of what it is like to be a developer in a full-time job.
I wanted to learn Ruby and Rails, all along because I want to build prototypes for my startup (Professional You). Yet there were no local courses. I prefer learning with others, its good to have a peer group. So in Jan 2013, I booked myself on RailsConf 2013 and gave myself a deadline to read and complete Learn Web Development with Rails prior to the conference. I was introduced to a start-up (Thanks Jessie) and started working with them two days a week as a junior rails dev. I learned a couple things about myself, I was not good at asking questions from the lead software developer as I was worried about taking them away from their tasks (as they were under a lot of pressure from their boss) and we worked remotely, which is not ideal for a junior. I also found testing before coding was very difficult, in part because thought I needed to know rails better first. Additional good Rails book that helped in my journey were Rails 4 in action Rails Anti patterns, Peepcodes Videos on RSpec and rails casts. railscast are brilliant for an immediate problem to solve but is very out of date, Code School as a selection of rails videos as does GoRails. That said I do not find that anything I learn online or via video sticks, I seem to forget it quickly..
If I was to do it again:
- Learn Web Development with Rails there is just no better
- Build several Web Apps for yourself e.g. store all your boardgames/books, role up characters for RPG, whatever feeds into your hobbies and use rails casts to add features
- Read Rails Anti patterns
It becomes clear that Rails does so much and its BIG, but the better your Ruby knowledge, the easier working with Rails, no shit. There are times you have to build your own model without Active Record and connect to APIs. Everything becomes a little easier, your code gets tighter.
I tried the Well Grounded Rubyist book, whilst I understood all the concepts it was too much without having not built Ruby Apps first. Most of the online Ruby course were interesting such as Code Academy, but they failed to stick in my head, one exception was a course on Lynda called Ruby Essentials, which frankly was brilliant (Teaches the basics and the gets you to apply them in a Ruby App). After that I tried the Ruby Koans. The hard part about coding is trying to remember it all, understanding I think is easy but holding it all in your head is hard. One senior developer said to me you do not need to remember everything just remember you can, then Google it. The more times you use it the easier it will be to remember. His other tip was to store all of his projects on Google Drive, so he could use it has augmented memory.
Training that actual gets you to build an application, I found to be more useful and gave me extra value, rather then little bits of code. Looking at how other developers tackle the same problem is also incredibly useful. Peepcode did a bunch of Play by Play videos, which taught me a lot about how they solved the problem and I also learnt how to use different tools.
The other thing you should do is work out how to connect to your local community:
- Ruby Rogues podcast is awesome and their discussion site is worth the $10 per year
- Find the local Ruby meetup group
- Find a peer/mentor who will review your non work code
If I was to start again:
- The best beginner book for Ruby was The Book of Ruby: A Hands-On Guide for the Adventurous
- Add RubyTapas videocasts
- Then follow up with the Well Grounded Rubyist book
- Read Metaprogramming Ruby 2
Learning about software engineering/development..
There are a bunch of tools and “behaviours” (ways of working) that you have to learn, some of this comes from you just coding, but some you need to spend a bit of time working on i.e. Git (or other version control)
- BASH – Re-learning Unix i.e. Terminal on the Mac, SSH
- Text Editors – Trying out different text editors, BBEDIT, RubyMine, Sublime and finally Atom
- Version Control – Getting comfortable with version handling i.e Git, how to use GitHub, decided to use command line to embed it in my head
- Package Management – so home-brew is better than Mac Ports
- Debugging – Where to find the bugs for debugging, using irb, rails console, understanding the logs and the stack trace
- Object Orientation learn and understand all the meta language. I have yet to find a good book on this.
- Data Structures – I am comfortable with, but I have yet to find a good learning option for this
- Algorithms – The best option I found was Grokking Algorithms
- Where to find the information that will help i.e. online manual, google, stack overflow, google groups
- How to tackle the actual problem, when to step away and take a moment
- Where to ask a senior and not annoy them (still working on this one)
You are never ready, its just a matter of choosing the time, finding the courage to be vulnerable and going for it.
Its seems surprising that some of the best times in my life are when its has gone so wrong, you really discover the other people around you in that moment the good and bad. You could wait to be that perfection and never make a move. I knew that two days a week of coding after working the other five was tiring me out, but I also knew I liked to code, I love problem solving. That said I had yet to build my GitHub profile, most of my work was private, most of my student work was very specific, so not a complete web application but do this on this page. Whatever, It was time to go full-time. Lets see what happens..
The best way to get what you want is to simply ask
Just before christmas 2013, I sent out an email to the Ruby meetup group in Vancouver, BC. The discussion space often has recruiters looking for rails developers, why not flip this and advertise me! I did not expect much of a response..
Subject: Looking for a Junior Ruby on Rails job
I hope you are having a great day and not too bored..
I have computer science degree and most of an MBA. I have played and succeeded in many other careers like communications and being a politician. And I have learnt that I love to create. So I went back to school (BCIT) to refresh my computer skills and learn web applications, after two years I have done a bunch of evening courses with an average grade of 93%. For the last 6 months I have being learning/coding Rails/Ruby on my weekends for a local startup. I have also attended a bunch of Rails/Ruby conferences in the US on my own dime.
Full-time I have being working for Apple as a Genius/IST Support. I know crazy right working 7 days a week for two years.. I am now looking for a full-time software development role with an emphasis on Rails.
You will find all the good stuff in my linkedin profile -> ca.linkedin.com/in/ericbrooke/
Continue having a great day 🙂
In all I got 80 responses, over a four week period (40 within 48 hours). There were 42 real jobs going, 20 were long term contract, 8 short term contract. 10 were you are the first developer, no not good, go employ a intermediate or senior developer! Leaving me with just 17 companies to talk to, after researching each of the companies, I spoke/emailed to them and then did 14 actual interviews. After which I cut it down to five after second interviews I cut it down to two..
Finding the right team to join..
You are the apprentice and you are looking for master/mentor/teacher/coach/facilitor not a boss, not the brilliant programmer whose ego is big enough for you both.
A couple principles for me:
- Those that asked for me to do code test prior to having a first human to human conversation, I did not continue.. I am not your code bitch.. or your slave, talk to the human in me first
- How much they truly bothered to explain who they are as a company and their intended culture, mattered to me.
- You need patient senior developers who are willing to coach and that their bosses will give them the time/leeway to coach
- That you will learn a lot from developers who have different styles and roots, prefer different languages and frameworks
- I need to grow and learn fast, how are you going to help me get to intermediate?
- Seniors that have being teachers or parents tend to be better at explanation. Just a theory at the moment.
I want to work with awesome people.
Be they smart, emotional intelligent, creative or just different. The most laughter at work I have had are with teams of such diversity, with so many forms of intelligence, not just the academic kind. I am going to be spend a lot of time together, consider it a road trip, we will get angry, sad and laugh together. The culture, the people that I work with is important to us all. For these people I will have lasting loyalty, forgive and move on, push the boundaries to ensure there is a future and learn every fricking thing I need to learn, take time out of the rest of my life to make my colleagues life easier. So if you send me a coding test before, we know, we like each you can frankly go @@@@ yourself.
A good interview is a collaboration of us exploring each other.
[updated] Questions to ask –
- Have you ever had any juniors before?
- How do you review code?
- What is your test Coverage? What are you not testing?
- Do you have Introspectives? What do you do to help developers learn?
- Do you use pull requests?How do you use them?
- Do you state why the code is wrong in the pull requests?
- How will help me growth fast, so I am no longer a junior?
- Is there flexibility on which projects/teams I work?
Understanding your capability is hard and is often judged on so many irrelevant things
There are few jobs where you are ask prove you can actually do the job before you actually do it. Some tech interviews felt like you were expected to put out on the first date.
The best I had were conversations and tested practical experience, not theoretical mathematics. The actually best asked we to describe what I know and then sat me down at a computer asked me my favourite coding tool loaded up an example application. They asked where would I find a routes file, explain these routes, where do they take me, asked me to follow the whole path what was load etc. After if I want to add this to the app what would you do? “feel free you access the internet”, explain what you are thinking? The sneaking bastards even had a couple “bad” things in the code to see if I would notice. So I did not mention them until I was about to leave 😉 That was my first job offer
The worst started with theoretic problems to write pseudo code on the board… Funnily enough they started questioning my pseudo code. Some people see an interview as a way to prove their intellect not understand yours.. Have you forget who is interviewing here, you, er no both of us.
For people who did their computer science degree a long time ago or learnt on your own path; I recommend this book Think like a Programmer by V. Anton Spraul. The most stupid, abstract, non-relevant questions I have every being asked in any interview were all in technical interviews. And folks I was an elected politician.
Testing the “interviewers”
I have learnt more from people, when I have failed or needed help.
So every job interview I find something to fail at and see how the interviewer copes. I will also ask my interviewers how they will cope with my failure and how they cope with theirs. I will always ask at the end of the interview what do you like and not like about me. I learn so much from their response.
The type of organization to work for..
If I am going to work on something, I need to care..
Go for an one domain company, startup or for an agency style..
Domain companies tend to give you a position and you have to earn your right to grow, the structure tends to be more rigid, yep be a junior for three years. You get small parts of a big cog. But you would learn about scale to a higher degree. And maybe they may have systems/coaching/mentors/learning plans in place to accelerate growth of juniors. That would make sense would it not?! not one on my list.
Startup, happy to take the risk but you have to love it and I did not love any of the startup offers. Also they tend to lack the numbers of senior developers you can learn from.
I went agency i.e. build prototypes, because I wanted to work on a lot of different products in different domains, I felt I would learn more faster, and so far that is true comparing my growth to my friends. With prototypes you have to do the beginning a lot and then you finish, and then you do it again, there is opportunities to grow in each project.
The job I took
It felt like a conversation between curious people.
It started on the phone, progressed to face 2 face and then there was a take-home coding test. They were good questions that I had to think about. The whole process felt open, unstressful, they trusted me and I trusted them.
I asked my boss what does he look for?
“People with a wide life experience who can clearly show they can learn”
So far it is pretty awesome I get to work with three seniors who have different approaches and the diversity is already teaching me a lot.
So after two and half months I got laid off. They removed the Junior developer position (it affected two positions), and I was the least experienced, through out the company). Two weeks later 11 more people got laid off, then another bunch a couple weeks later.
It was also reminder whilst you can test the people you get to work with. But their bosses can(may have to) change their mind (and in fairness it may be outside of their control). So in future I will look at the leadership and their track records.
I would still make the same choices, and worked there. I learned an incredible amount and worked on 4 projects.
All of that said, I ended up in another startup mybesthelper where my first job was to get our tests over 85% and upgrade their Web App to Rails 4.1, fun 🙂
I am a workaholic (I never feel I work hard enough), there used to be a few things that make me pause and force me to reflect such as illness, love, friends, mentors, etc. Sometimes these “interruptions” are random and infrequent and may not occur for several years.
Life has taught me to occasionally pause and consider who and where I am.
Every year now I review my life, I considering all aspects and what I need to change or not. At work they would call this a performance review.
You in the end, are the only person you have to live with throughout your life, you need to stay in touch and avoid too much drift. A little drift is good because it can allow you to reflect and consider new paths.
I use the following categories to help me breakdown what is important.
These are my personal ones that have change throughout my life, you may have different ones, over time you will find that they will evolve.
Is there enough love my life in terms of relationships, friends and family? Are there people in my life that cost more then they give/gave? Am I giving enough to them? Do I Love myself? Does your “friend” spend more time talking about themselves then asking you how you are? Who helps you out when your are sick? Who calls you out on your stupidity? Of course these questions are reversible? e.g. are you a good friend to them?
Am I working or playing towards something? Am I just floating? Am I happy with my level of progress?
Am I giving back? Am I mentoring, teaching or helping others grow. Am I paying attention to politics and the communities needs?
Am I still the same person or have I evolved? Am I growing and learning? Am I pushing the boundaries of my personality, my knowledge, and my skills. Is there enough challenge in my life?
Do I have muses? Do I have people? Books? Music? Arts? Games? Food? Is there something refreshing my soul? Do I have moments to explore or simply rest?
Am I healthy? Do have the body that I want? Can it do the things I want? Do I eat as I should? Do I sleep as I should? Are you snappy with friends? Do you need time off?
Do I enjoy it? Do I have a leader who inspires me? Does the organization value me? Am I able to use my core capabilities? Is the cost of working for them matched by the value I receive? Yes I give my work a performance review – are they what I need?
Do I have enough? Do I have plans for when things go wrong? Do I have saving goals/purposes.
9. My Drivers
Over time you will start to see patterns in your behaviours, things or people you prefer to be around. It has helped me understand that I have certain drivers (some good and some not) for example I am incredibly curious, I want to know why, but do I spend too much time exploring/discovering and not acting? There are things that I sometimes find difficult to manage e.g. being a workaholic do I make sure that I have enough rest and/or vacation, is my health good?; we are all better people to others when we are refreshed.
Making it real
Often I will draw a mind map for each (1-8) and then give it an overall score between 1 and 10. If it is lower then 5 I start to consider how to improve it, by adding things that could improve the score on my mind map on the edges. I build an action plan for the next year e.g. If I do not have enough Love, should I meet new people, do I deepen the my relationships that are good for me, or do I remove people from my life. After completing all the mind maps I consider the bigger picture and the inter relationships between each mind map, e.g. could I kill two birds with one stone? Or is one so high and at the cost of others e.g. Work is at 9 but Love is at 2.
Then I will consider my drivers. Some of these drivers will clash with others, how are you managing that balance? I draw an illustration for each of my drivers and consider both the good and bad of each.
Then I again I will look at the connections between all (1-9).
This is the way I consider my life on an annual basis, you may have different things that matter, different drivers that push you. I urge you to discover who and where you are and how to make sure you are in control of your life, not too much control, but enough to be heading in the direction that you wish.
The reality for most people is you will have many jobs and careers.
My journey so far would appear to be all over the map. I started as apprentice potter, a newspaper delivery boy, a general dogsbody in a kitchen, a cook, a chef, a computer scientist, a student politician, a trainer, a charity campaigner, a political campaigner, a english teacher, a dive instructor, a politician, a cabinet member, a marketing VP, consultant, startup founder, a college professor, a tech support, and a developer.
Every job and career can teach you many things (if you are paying attention), changing either, will give you a faster track to understand the similarities and difference in different sectors and jobs. In the end by having different of jobs/careers you will see connections, innovations that others who are stuck in one role and career will rarely see.. For me I connect so many disparate things, see opportunities where others are blind and I am constantly readdressing what others see as the “truth”, common sense or the obvious. All because they are coming from one angle or a limited few angles and I am not.
Hint when you have lost your keys stand on a chair it will allow you to see the room from a different angle that you are unfamiliar with and you will pay more attention because it is new.. I am suggesting the same thing about your career..
A job and career should fit to your needs and desires at the time.. sometimes that will be simply to pay the rent, other times it should be explore another part of you. Choose a pathway of jobs and careers that will make you happy and that will teach you the things you need and desire, to help you with the next step.. consider it a pathway or a tree with many opportunities..
Plan your professional life.
So if you change your job career regularly what about loyalty to orgainsations and businesses, fair question:
- Public companies are often more loyal to their shareholders and the organisations survival then you, yes even if you are the founder or CEO.
- Private companies loyalties are determined by the power structure or family relationships or funders.
- Governments are loyal to the last electorate vote, who often vote on the last bad thing the government did, whole programs and departments are wiped out as governments change.
- Non-Profits immediate future are determined on the economic cycle
Ok a touch cynical I appreciate, but the reality is organisations are always changing even if a bit slowly. And so should you!
Here is a couple things that helped me and things I continue grow:
1. Importance of self awareness
The more context and angles you see yourself in, the more constructive feedback you get, the more you will truly understand yourself. As you experience different organisation cultures you will build an understanding in what you like and dislike. You will need to book sometime for yourself to reflect, process and understand.
Most people are not truly aware of what their dream job is, they even think they do, just do not know until you have tried it. Maybe you have be driven to this point because it was what was expected of you by your family or friends or teachers. Chill, I personally do not think you have to have a job or career for life, you are not a penguin you are a human you have choices. Sometimes having choice is part of the problem..
In my experience, there is something more powerful then the right job, its working with an awesome team. When this happens the role seems less important as long as you are contributing to the team. Being good in your role and being proactive in learning becomes natural.
Trying out a few personalities tests will also give you some slivers off your personality, remember most of this are very superficial and a snapshot in a time and a place.
2. Fear should become your friend
We all need become unafraid of changing both careers and jobs or at least manage the fear so it becomes your adrenaline, your extra boost, a source of strength, not weakness.
You can reduce fear by planning for the change, e.g. taking evening courses, internship, work seven days a week (5 in one job, 2 in the new role), get a mentor in the role you want to be in. Take a vacation and go to a conference that concentrates on that role, check out if these people are the ones you want to be surrounded by.
It is not easy to learn new skills for which you are being paid for. You will often feel “stupid” and fustrated at yourself. Understand the basics of anger management, because your mistakes will make you angry at yourself more! Ask your partner(s), friend(s) or family(s) to keep an eye on you and help you adjust, reflect and process.
3. Choose your boss carefully
It does not matter how good you are, if your boss does not like you, the rest is irrelevent. You must choose a boss who can be both your coach and mentor. You are recruiting for you. You are looking for the best match for you. Let them worry about if you are good match for them. Your interviews should be 50/50 in terms of questions, yes you asking 50%.
Questions to ask:
- How many of your staff have you coached and mentored?
- Describe to me your coaching style?
- Can you give me examples of your staff that have outgrown their roles?
- Have any of your staff ended up in senior positions to you?
- If I fail project how will you react to your colleagues and me?
4. Understand how to build a new network
You will not be here for ever, find out who the good people are. You have a strong advantage over those who stay in one job or company, your network will grow faster, this gives you more opportunities for new roles. Again match people on your personality, not power/influence. Look for the people you want to work with again. Also look for the people who are really good at, what you are not.
5. Understand how to learn and grow your skills fast
This is very important. Get to really know how you learn best and expand your learn capabilities. You should not, use one learning model to understand this, you use many models (they all see different things). It may require an investment on your part, in the end understanding this will determine in part your success in each job and career. Accept that your will occasionally make a mistake or even fail.
Here are some learning style models:
- Honey & Mumford Learning Styles Questionnaire (Activist, Reflector, Theorist and Pragmatist)
- David Kolb’s model (Accommodating, Converging, Diverging and Assimilating)
- Neil Fleming’s VAK/VARK model (visual learners, auditory learners and kinesthetic learners)
- Grasha-Reichmann Learning Style Scale (avoidant, competitive, collaborative, dependent, independent and participative)
6. Grow both your leadership and followship abilities
Whilst we have media mythology that states that leaders are more important.
Leaders only exist if they have followers.
If an organisation expects you to serve as a slave for five years before you can have some leadership responsibilities move on, go work for a smaller growing organization, who offers opportunities.That said it is also important to occasionally work for larger organisations to understand how to work in one e.g. how bureaucratic systems work, how the culture of having several tiers of management, effects innovation and the impact policy decisions from on-high effect the person on the ground floor or customer facing.
In my career I have chosen to work in leadership and then not. It has accelerated my abilities in both. But it is not easy. It has taught me humility, patience, the ability to coach upwards and let others fail if need be. Sometimes you need to reinforce your roots, other times explore a branch. Growing upwards is not always the best choice.
7. Do not burn bridges
A lesson I learned from politics. You will fail, what people really respect is how you do it with humility and style and then come back and show people why you are good. You also never know who will be your allies in the future, occasionally you will have to forgive others and move on. Sometimes you will work out in hindsight it was you creating the problems.
8. You own your future
Plan your professional life. Work out where you think may want to be. Look at the skills, knowledge and experience you will need to acquire, to achieve each step. This plan should and will change as opportunities pop up. Reflect on each job, what did you like about it and what did you not. Reflect on your bosses, what was good and not, how will this improve both your leadership and followship abilities. How specifically are you going to grow, what books, courses, conferences will you attend? Which personality tests will you pay for.
Make a plan, but stay on your toes and change as you learn.
Do not let your manager or HR “talent manage” you. They care about their needs or the organizations needs not yours. Of course listen to their advice, but check in with their motivation. Yes ask them!
Most talent management and skills databases systems are simply shit. They are limited by traditional concepts of the education you have received and the job titles you have had. They are predicting your future by looking at your past. Idiots. Just imagine if we limited the human races future on the past, so why do we do it for every individual. Your past could be a reflection of your parents, the financial place you have come from, if you were teased at school, things that as an adult you can choose to move on from.
Even currently online resumes miss the point, how limited in expression and in understanding the professional needs of a human, even from an organisation perspective they are limited in use.
This simply waste of human potential, angers me so much, it is in part why I founded Professional You and why in time I will blow this shit into the past.
This has become my flame, the thing I will build all the skills I need towards, the types of people I will hunt for to help me with this mission. And if I fail it would be for a cause I believe in.
My path is clear, I understand the full grown tree that I need to grow, in myself. This clarity took many roles, many careers, many failures and success.
I hope this post helps you find some of your tree, or helps you on your journey. Please share your learnings, so I can learn from you 🙂