go to top

Getting started in development management: “Peopleware” and the imperative of quality

In both my work and personal life, I’ve always enjoyed and tried to find leadership opportunities. In my non-work life it’s been easy – between volunteer opportunities like running Startup Weekend: Library Edition, or being a lead instructor for Ladies Learning Code to back in school when I ran the Tech Fund and started a peer-learning workshop series for the University of Toronto’s iSchool, or hey, when I was my elementary school’s first Class President, a role I suggested, and, I’m fairly certain, the school administration immediately regretted implementing.

And yet in my work life I’ve struggled to attain leadership roles. But that’s not quite true, actually. What is true is that I’ve simply never stayed at a company long enough for the idea of  a leadership role to make any sense. Before working at my current employer, Shift Health, the longest I’d worked anywhere continuously was six months. These were summer jobs, research assistant gigs, student work dependant on the school year cycle, or simply places where I’d found that the furthest I could grow was the very bottom of the totem pole. And that just wouldn’t do.

So I listlessly roamed from one position to another for a dozen years of my life. Up until this moment – literally today – I considered this one of my major weaknesses. Clearly since I had never held a for-pay management level position, when I got my first one I’d be starting from absolute zero. My over decade-long experience in a plethora of settings not only had nothing to do with my ability to rise to the occasion of management and leadership at work, but it was in fact detrimental. I could have been spending those 12 years at McDonalds, slowly building up experience until eventually I’d…well I’m not sure, because I didn’t do it, but I’d bet there’s a fancy lapel pin involved.

Looking back at myself, several-hours-ago-me was very silly indeed.

Because of course this experience is valuable. In fact, it’s arguably much more valuable than staying in one place for that time would have been. Yes, I’ve never had the title “manager”, but I can replace that with over a decade’s experience in a ridiculous variety of workplaces with an equally ludicrous number of different people, clients, culture, politics, places, values, goals, histories, pain points, you name it.

Like the time I worked in a tattoo shop, where I learned the importance of culture – the fact that “company culture” bleeds over (aha ha) to your clients. If you’re having a good time while getting excellent-quality work done, people will not only want to come back, but they’ll choose you over the competitor down the street every time. I also learned that consistently high-quality work made with integrity matters more than anything else.

Or when I worked at a yacht club. I learned about class, yes indeed, a lot about it, and how people are very different, but I also learned how similar everyone is at the end of the day. I learned not to assume things about people and their wants and needs, but instead to listen and provide excellent service not because they threw money at something, but because they were people and this was their favourite place, their second home. I also learned that “lawn bowling” is a thing, and what a yacht actually looks like.

Because I think that doing a bad job is a huge waste of time, I’ve had to try to be an excellent employee in these positions and everything in-between – which means understanding what’s needed of me in such a wide variety of situations. This, above everything, has made me empathetic. And empathy, I’m becoming more and more certain, is a critical quality to have in management.

I could go on, of course. 12 years of work provides a lot of fodder for reflection. And I’m fairly long-winded. But what I’d like to segue into is what brought me to think about the value of diverse experiences and empathy in the first place. And that would be the (development) management classic “Peopleware” by Tom DeMarco and Timothy Lister.

Peopleware is a seminal look at how most problems in software development are “sociological”, not technical in nature. It’s a well-written and concise series of essays for those who, like me, are moving from development to management of software product teams.  When I was promoted at Shift Health to the role of Development Manager I knew I had a long uphill climb in front of me, and more than anything I had to get all of the information I could on how to do this job as well as possible (see avoiding wasting time above). So I’ve started with the classic.

I learned a few key things from Peopleware:

  • trust your team. Hire those you can trust. Let them see that you trust them
  • quality and productivity go together
  • carry out leadership as a service
  • employees have strong personal motivations and reasoning to do and not do things in the workplace that are not the same motivations as the C-level’s
  • having high internal standards builds good teams that stay with the company
  • without an emphasis on quality, you can’t build a team of excellent individuals in the first place

These can be even further summarized into two main parts:

Trust

If you hire great people who enjoy their work, as a manager you need to be as hands-off as possible. You’re there to facilitate the process of work, and remove barriers. As the book says:

“The manager’s function is not to make people work, but to make it possible for people to work.”

One major impediment to this is a lack of trust in employees, assuming that they will take advantage of this freedom and fulfill Parkinson’s Law, which states that work expands so as to fill the time available for it’s completion, an obvious nightmare situation for upper management. This is something I’d only recently heard of, and had been thinking about its potential veracity when starting to read Peopleware. But DeMarco and Lister kindly did the thinking for me: this is nuts, they explain. It’s a baseless claim that started as satire, and if you hire good people and foster a culture of excellence, this simply won’t happen in software development companies.

A lack of trust in employees also betrays an insecurity in management. This management insecurity leads to “arbitrary standardization”, management defensiveness,  top-down everything, and doesn’t allow the employees personal agency over their work. And without personal agency, they can’t possibly be proud of what they do. And this need for pride in work becomes critical when we look at the importance of quality.

Quality

Hand in hand with trust, the importance of quality is repeated throughout the book: quality people making quality things in an environment that does everything it can to foster this is critical to the company’s success. A key role of management is to build a team that “jells” – the individuals can work together so well they form a sort of clique that truly believes it is superior. Not in any purely negative sense, of course – the book is simply referring to that feeling that (at least I hope) we’ve all felt at one time or another when we’ve worked well in a team and truly believe that team and all of it’s members are brilliant, hard-working, and together created something that is The Best.

I felt this way, for example, in putting together Startup Weekend with three librarian colleagues. To this day I would tell anyone who asks about their individual and collective brilliance, and am exceedingly proud of what we accomplished. Even though it was unpaid work, we were completely motivated for months on end to succeed – because we wanted our event to be The Best, and we cared about the cause.

This second point’s importance is expounded upon in Peopleware as well:

“Teams are catalyzed by a common sense that the work is important and that doing it well is worthwhile.”

The authors also make the point that what is motivating to the employees is probably not the same thing that motivates middle and executive level management – if you’re in a large company and upper management tells the company that Q2’s profits exceeded expectations, while the C-levels may find this very motivational, it’s not “close” enough to the employees to be a thing that’s particularly motivational to them. One basic way you can motivate employees is to show them that what they’re doing is going to be The Best Way to solve pain points they can understand the value of solving. That is, finding out how your employees can empathize with your potential customers.

To sum: expect great things. Communicate high expectations as a collaborative imperative. Make sure employees truly believe that what they’re doing is important and good employees will rise to the challenge (as long as barriers to exceptional work are removed).

Leadership as a Service

While reading Peopleware I realized that although I don’t have for-pay management titles all over my resume, leadership (especially servant leadership – a concept DeMarco and Lister only mention once by name but I believe is the most accurate way to describe what they’re espousing) isn’t taught, and the experience to build it through empathy can come from everywhere – even a bakery, book scanning facility, medical clinic, tattoo shop, recruiter’s office, jewelry store, library, department store, classroom, yacht club, startup, and maybe even Marineland. Okay the jury’s out on that last one. But if you’re new to management like me, pick up a copy of Peopleware and read it cover to cover. The book focuses on employees as real human beings, and managers as facilitators of exceptional human work – something only possible through the cultivation of empathy. I’m greatly looking forward to a long future of applying my years of seemingly disconnected work towards leadership as a service.

Posted in managementComments Off on Getting started in development management: “Peopleware” and the imperative of quality

How to actually run the Chrome web inspector with an emulated Android device

If you’ve never tried to do this, you’re probably thinking to yourself: “this should be pretty straightforward. Emily should use her time writing about more helpful things” – and you would be mistaken. This is, so far, the most difficult thing I have tried to do as a developer since I started working as one last year. No, I’m not kidding.

If you have tried to do this, my hope is that you’re finding this article early in your search and by the end of reading it a wave of relief will wash over you, ideally not after several days of hair-pulling. I hope you don’t even find out how difficult this was to accomplish for what seems like such a standard workflow. I hope you haven’t been sitting in the Starbucks while the other patrons shift nervously as you swear not quite under your breath for the twentieth time this hour. If that has been you, well…I’m sorry. My SEO probably sucks. But you’re here now. Breathe. This will work.

Preamble

You’re on a Mac (dunno about differences with PCs, but should be mostly the same). You’re connected to the internet and can download whatever. You do not have physical, meatspace, IRL android devices on hand and are therefore not intending to connect anything by said meatspace USB.* So therefore your goal is to:

  1. emulate various android hardware and software combos

because you are:

  1. a web developer who cares about your work

with:

  1. clients who don’t want a terrible product

How to do something that should be super easy but is not: Android emulator edition.

STEP ONE – download stuff from the internet

  • Navigate in your desktop to genymotion.com/#!/download and download Genymotion. This will be your free, very fast emulator. You need to create an account, and don’t forget to check your email and click on the verification before you start up Genymotion.
  • If you don’t already have it, download Virtual Box: virtualbox.org/wiki/Downloads
  • Download the correct version of cyanogenMod’s gapps: I’m going to be running an Android 4.3 device for this tutorial, so try this first and if you want a different version later just substitute that, downloading the correct gapps for whatever version of the OS you want. Here’s the one for Android 4.3: androidfilehost.com/?fid=23060877490000124. Different versions here.
  • Genymotion runs on x86, and we need cyanogen’s gapps as previously stated, which is ARM. What, you think this could stop us? Nah: download this Genymotion ARM translation: filetrip.net/dl?4SUOrdcMRv

STEP TWO – do stuff with that software

  • Go ahead and open up Genymotion.app. Sign in. Click “add” to add a device – in my case I’m making a google galaxy nexus running 4.3 (API 18). Select that device and press “Start”. If all went well, you should be looking at an emulated version of your android device.
  • Next, drag and drop (yes, again, really) the ARM translation file (genymotion-ARM-translation_v1.1.zip). Close and reopen the emulated device. If it doesn’t work try again.
  • Now, install gapps by dragging and dropping the zipped folder onto the screen of your emulated device. Close and reopen the emulated device. If it doesn’t work try again.
  • If you get a message that the google play store stopped working, open up the play store which should now be on your device and update your apps
  • Through the Play Store on your emulated device install Google Chrome (just search for it).

STEP THREE – the final frontier

  • In your emulated device, open the “Settings” app, and scroll down to the bottom where “Developer Options” is NOTE: if you don’t see this, and I am still not making this up, go to: Settings > About/About Phone/About Device > [Software Information >] Build Number and tap seven times on Build Number (it will count down after a few taps and once you’ve got to seven it will – again again again 100% not a joke – say “congratulations you are now a developer!”. Wow, bummer I wasted all that time and money when that’s all it takes.)
  • In developer tools, make sure “USB Debugging” is turned on
  • Now, in Chrome for desktop, in the URL bar type in: chrome://inspect/#devices and glory of glories you should see your emulated device in the list like this:

chrome

 

  • Make sure “Discover USB devices” is checked off if you don’t see anything
  • Now click on “inspect”
  • Back in your emulated device, open up Chrome if it isn’t already, and navigate to the site you want to inspect (also works for me with the apps running on my local server)
  • You should see something like this (emulated device highlighted in red):

Screen Shot 2015-06-18 at 3.57.33 PM

 

STEP FOUR – THERE IS NO STEP FOUR WE DID IT!!!!

Bush

Congratulations everyone. Now…what was I actually testing?

*if you do have real life devices there’s lots of tutorials out there including the official documentation by Google, just Duck Duck Go it.

Thanks to Le Wang for his help to finally solve this.

Posted in WHYpleasejustworkComments Off on How to actually run the Chrome web inspector with an emulated Android device

Working as a new developer: Insights from recent Hackeryou grads

I asked the amazing Hackeryou alumni community to chime in on what the months after graduating from the program have been like for them, whether they’re freelancing, working at a company, or a little of both. Their answers, including mine, are below! A special thanks to our contributors: Vanessa Merritt, Margaret Reffell, Logan Greer, Julie Jancen, Jessie Willms, and all the other Hackeryouians who volunteered.


SKIP TO: Logan Greer: Small Agency | Julie Jancen: Large Agency | Vanessa Merritt: Large Product Company | Emily Porta: Tech Startup | Margaret Reffell: Freelance | Jessie Willms: a Bit of Everything

What’s it like to work at…a small agency?

Logan Greer has worked at Zync Communications as a Developer since July 2014. Zync is a small agency with 14 people.

Q: What’s the development team like where you work?
A: Just 2 people, myself and a Senior Dev

Q: What are some key skills you need to have for your job?
A: Tech-related skills: Javascript, HTML5, CSS, PHP, Foundation 5, Compass, WordPress etc.
Non-technical skills: Good sense of UX/UI, ability to communicate complex tech issues to non-technical people (and sometimes to extremely non-technical people…aka clients)

Q: What’s your tech stack?
A: LAMP for most projects, some projects require MEAN

Q: What are you working on right now?
A: A site for a famous Canadian Astronaut and some cool custom API’s to go along with it

Q: What new technical things are you learning?
A: How to integrate front and back end tech, how to build custom API’s

Q: What’s the best part about working for your type of organization?
A: With only 2 people on the dev team, my ideas get taken seriously and I am able to learn new things much quicker as I spend every day working side-by-side with a talented full stack dev who has 10 years experience

Q: What’s something unique about working at Zync Communications?
A: We count the amount of Keurig coffee pods that get used per month! the coffee stats on our homepage are based on facts!

Q: What personality traits fit best at the kind of place you work?
A: The ability to balance workplace maturity with creativity and total immaturity. You need thick skin and a strong stomach! My Co-workers are highly creative people who have 0 filters for “proper workplace speak”. We laugh a lot, talk about inappropriate things… watched messed up videos on youtube together.. its quite important that new people on the team share a similar sense balance between hard work and using silliness to stimulate creativity.

Q: What advice would you give someone who wants to get a job at a small agency?
A: Be prepared to learn fast. With less people comes more responsibility. As 1 of only 2 developers, I am often tasked with finding answers and solutions to things that I am not even sure of. I do alot of on-the-fly research and have to learn how to find creative solutions to complex issues in a timely manner. If you are someone who wants to learn fast and be connected to a project much more then what is contained within your basic job description, a small agency is the place to be!

What’s it like to work at…a large agency?

Julie Jancen has worked at Powered by Search as a Web Designer and Front-End Developer since March 2014. Powered by Search is a large internet marketing agency with ~60 people, including off-shore staff and team members who work from home.

Q: What are some key skills you need to have for your job?
A: Tech-related skills:

  • Strong UX/UI skills,
  • Strong typography and layout skills,
  • Familiar with current web standards, cross-browser issues, coding XHTML HTML5 and CSS3,
  • Simple JS, Javascript coding and working with script libraries like jQuery
  • Ability to design/wireframe bold, responsive websites that work on all platforms and browser
  • High proficiency in photoshop, illustrator, axure, omnigraffle, google apps, ftp client, WordPress

Non-Tech Skills:

  • Strong verbal skills and writing skills… including good grammar,
  • Ability to interpret instruction and output high quality work based on that,
  • Keep learning new trade skills… stay on top of new web trends,
  • Manage deadlines,
  • Manage client personalities
  • Be aware of project budget and scope creep

Q: What’s your tech stack?
A: LAMP (Linux, Apache, MySQL, PHP)

Q: What are you working on right now?
A: I’m doing a ton of web design projects and taking a Javascript course in the fall to meet the needs of being a developer at my company

Q: What new technical things are you learning?
A: Everyday I think I learn something new. New code, new css3 animations, new UI design trends, new software for wireframing, new shortcuts in photoshop, new sites for inspiration, etc, etc. It’s why I love my field… everyday, I look forward to learning at least one new thing.

Q: What’s the best part about working for your type of organization?
A: My company offers two work-from-home days each week and run a monthly blogging contest to win $1000. The focus is on building a well-rounded employee who knows a little about what everyone’s role is. Even considering I’m in the “creative department”, as part of the contest, I need to write content. It’s a great way to learn and get a breadth of skills in the industry.

Q: What personality traits fit best at the kind of place you work?
A: You have to be a quick learner, keep an open mind, move at a quick pace and implement new workflow processes as the company grows. Deadlines always feel like they’re due yesterday. So, keeping a birds eye view on the project is essential. There’s a lot of individual personalities you have to learn to manage internally and with clients. Always stay polite and respectful… Always over-deliver, never over-promise.

Q: What advice would you give someone who wants to get a job at a large agency?
A: Stay positive, stay hungry. Don’t be intimidated.

What’s it like to work at…a large product company?

Vanessa Merritt has worked at Telus Digital Labs as Front-End Developer for almost a month, and has a four month contract. Telus has ~50-100 people in the Digital Lab and thousands across the corporation.

Q: What’s the development team like where you work?
A: Mostly contractors with loads of great experience. The Toronto Team works closely with the Vancouver team (more permanent employees are in that office, from what I understand) so there is lots of teleconferencing. Currently there is a team from Nascent working in the toronto offices on the overhaul of the telus website. So, there are lots people different backgrounds and experience.

Q: What are some key skills you need to have for your job?
A: Tech-related skills: HTML, CSS, SASS, Git, command line.
Non-technical skills: working on a team, time management, general office etiquette 🙂

Q: What are you working on right now?
A: We are working on a Web Standards Guide to be used internally in order to keep web development on brand.

Q: What new technical things are you learning?
A: More SASS, working with code written by others. I’m also using a new CMS I’ve never used before (Statamic). I will have opportunities to shadow senior devs as they work on short sprints as well.

Q: What’s the best part about working for your type of organization?
A: Loads of people around to learn from. I applied for this job as a junior developer because I knew I’d have support from more senior devs, as well as my fellow juniors.

Q: What’s something unique about working at Telus?
A: We have the ability to work from home a few days a week. There is also a reasonably priced gym and outdoor eating area for employees.

Q: What personality traits fit best at the kind of place you work?
A: A balance of being hard working but with a good sense of humour.

Q: What advice would you give someone who wants to get a job at a large product company?
A: Have a willingness to learn and be a great team member.

What’s it like to work at…a small startup?

Emily Porta has worked at Shift Health Paradigms as Front-End Developer for almost three months. Shift, a health tech startup that makes a product called Tickit, has eight employees.

Q: What’s the development team like where you work?
A: We have three developers working full-time, including myself. It’s a very small team, obviously, and we keep things pretty laid back. We use the agile development methodology to keep the whole thing running on time.

Q: What are some key skills you need to have for your job?
A: Tech-related skills: strong HTML and CSS and Less, flexbox, be familiar with frameworks like bootstrap, responsive design, Javascript and Angular. Git, of course.
Non-technical skills: solid understanding of web design, web standards, usability, and UI/UX concerns. Communication is key, as well as being able to work in a rapidly changing environment, and working modularly (both in terms of your time and your tasks).

Q: What’s your tech stack?
A: Our back end is Ruby (on Rails), and front end is Javascript, Angular, CSS3/Less, HTML5, and we use Grunt. Technically there’s some Bootstrap in there, but part of my job is weeding it out. Git for version control. Ummmm I think that’s everything major. Probably more back end stuff I don’t know about yet.

Q: What are you working on right now?
A: Right now I’m working on making sure all of our 3rd party widgets are styled correctly and are fully responsive, taking in to account things like tooltips popping up, really small screens, and all the dynamically generated content that fills our app.

Q: What new technical things are you learning?
A: A couple days ago I learned that you can conditionally change the styling on child elements using only CSS, contingent upon how many children the parent container has. Super cool, right? I’m also trying to make time to read John Duckett’s JS/jQuery book, which I’m about halfway through. A tiny bit of Angular.

Q: What’s the best part about working for your type of organization?
A: Oh man. This is tough because there’s so many things. It’s very relaxed. You can have a profound impact on the company. What you’re good at (naturally or because of experience) is discovered and highly valued. You’re friends with the people you work with. You get a chance to get as close as possible to making the product pixel perfect. You get to work on something that could make a very positive difference to humanity. You get the thrill of seeing the company succeed, and you get to grow with it. We’re very agile, with very limited bureaucracy. Everyone cares deeply about what you’re making, and the development team is treated very well, but not better than anyone else, we’re all equals. Your skills beyond your literal job description are highly valued. I could go on! Of course this will depend heavily on the people in each company.

Q: What’s something unique about working at Shift Health?
A: The work-life balance is excellent, not something I thought I’d get at a startup!

Q: What personality traits fit best at the kind of place you work?
A: Casual, but driven. Likes to joke around, but also get things done. We’re “young” not in the sense of age, but in our iterative approach to success, agility, and team personality. Someone responsible, and dedicated to what they do. Generalists who aren’t afraid to learn and champion new things.

Q: What advice would you give someone who wants to get a job at a startup?
A: Well, if you’re a new front end dev definitely try to learn as much html, css, js and angular (or similar) as you can. Learn a bit about the back end, I certainly wish I knew more. Go to tech meetups, tweet about technical things (and non-technical things) all the time. Go after the companies that already have one or two full stack devs – startups looking for their first developer need a full stack dev first. Know that getting a job at a startup is usually a lot less traditional process than other jobs.

What’s it like to work as…a freelance developer?

Margaret Reffell has worked as a freelance Front-End Developer for just under three years, and wishes she did it sooner!

Q: Do you have a business name?
A: I currently operate under my own name Marg Reffell as a Sole Proprietor, but I’ll be changing structures to incorporate soon, so I guess I’ll have to pick out something a little catchier 🙂

Q: Do you have a typical location you work from? Set hours? What’s the breakdown of your day like?
A: I work from home and coffee shops at the moment. I have tried shared working spaces, but I often have to hop on skype for quick conversations with clients, so I feel more comfortable doing that at home where I don’t bother anyone. As far as hours, I know many freelancers who draw a line in the sand between work and personal life, but my line is very blurred. I’m very selective with who I work with, so I really love my clients! I’ve been to their houses, I’ve met some of their families and I’ve even celebrated launches with them (and a glass of bubbly). I also keep my own life and schedule intact by having a pretty solid daily routine. I’m an early riser, so I typically get up at 7ish, check emails, train, make breakfast, then work until about 4pm. Although, on product launch days it’s not unusual for me to be working until 1:00am.

Q: What are some key skills you need to have for your job?
A: Tech-related skills:You have to be a bit of a “jack/jill of all trades” because every project has a new set of technical challenges. I find this is why it’s especially important to surround yourself with a “virtual team” of experts. I’m always asking for help, but I’m also always giving out free technical help whenever I can. Freelancer Karma, ya know?
Non-technical skills: Ah, I feel like these are just as (if not more) important than the technical skillsets required. I work primarily in the development of e-commerce and membership sites so I would say the biggest and most valuable soft skill is asking the right questions. It’s important to get to the root of the clients business goals, and then find the appropriate software you need to build them something they need to move their business forward, rather than something they think they want. Establishing trust and realistic goals with your client is a key to success.

Q: What’s your tech stack?
A: Working as a freelancer, you often have to learn programming skills as well as a lot of 3rd party software that’s frequently used by online businesses. Here’s my Tech/Software stack

  • HTML
  • CSS
  • JavaScript/JQuery
  • PHP
  • WordPress
  • CRM’s (Mailchimp/Aweber/Infusionsoft)
  • e-Commerce (Paypal/Stripe/WPe-store/WooCommerce/Infusionsoft/Shopify)
  • Membership Platforms (Wishlist/Sensei/Optimize Press)

Q: What are you working on right now?
A: Right now I’m working on 2 Shopify builds and 1 custom e-Commerce system for a client in Australia.

Q: What new technical things are you learning?
A: I’m diving a little further into JavaScript and PHP. I am also interested into diving into Magento, but that might have to wait until the new year.

Q: What’s the best part about working as a freelance dev?
A: So many things! I get to work from anywhere with people all over the world. I get to choose my own clients and choose my own projects. I (sort of) get to choose my own hours, but often, my projects end up choosing my hours.

Q: What’s unique about working as a developer?
A: When people are really happy with the work you do for them, they give you gifts! I’ve never experienced this at any other job before. I think the most unique/interesting gift I received was from a client who is a sex coach. After we launched, I got some interesting gifts in the mail haha!

Q: What personality traits fit best for freelance work?
A: Organization! I can’t stress this enough. The second trait would be boundaries. Saying “yes” to completing certain tasks when you really like your clients is easy, but you have to get good at saying “no” and setting boundaries. I have learnt that it is much easier to say no to clients when the ground rules are set before you begin to conduct business.

Q: What advice would you give someone who wants to work as a freelance developer?
A: Ok, I’ll try to be as brief as possible by putting it in point form:

  • Stay on top of tracking your invoices and expenses – there’s lots of good software for this.
  • Establish an equation or system of how you price your products before you enter freelance. Don’t undersell yourself. It’s easier to start at a higher rate than it is to start low and increase rates on your clients.
  • Trust your gut and know when to say “No!” to a project. I recently said no to a $20,000 project because it didn’t feel right. Am I crazy? Maybe. Am I happy? Yes!
  • Create an expiration date on project proposals. My proposals are required to be accepted within 30 days. Otherwise, I reserve the right to re-quote and possibly increase rates.
  • Get really, really good at something. Get a stack of software you specialize in. If you can become a JavaScript guru, or a Magento developer you will never have a problem finding work.

What’s it like to work as…a little bit of everything?

Jessie Willms has worked as a designer/developer for two months. She currently works for iPolitics.ca, who cover federal politics and public policy issues in Ottawa with <15 employees.

Q: Do you have a typical location you work from? Set hours? What’s the breakdown of your day like?
A: Every morning at 9:00 a.m., we have an editorial story meeting to go over what’s happening and what we’ll cover for the day. I usually chime in with what I’m working on that day — sometimes code, sometimes an infographic — and pitch graphics or interactive elements I think could be added to stories. I usually get into the office during or a little after the meeting (we mostly call in), 9:30/9:45 a.m. and head straight for the coffee pot, catch up on some emails, and the headlines of the day. After that, it’s two or three hours of coding/designing. Today, I coded a interactive chart to be used alongside coverage of the annual meeting of the provincial leaders. Usually go for a walk around the Market, run an errand, or grab a coffee. Code/design until 1:00 p.m. when a colleague and I stroll around the Market for 15-20 minutes. In the afternoon, I’ll check in with my editor about progress on whatever I’m working on, or chat with some of the other reporters about whatever. 5:30/6:00, I try to pack up and leave for the day (unless there’s breaking news to be infographed (unusual), or I need to work late to meet a deadline.

Q: What are some key skills you need to have for your job?
A: Tech-related skills:
Web development: HTML/SASS/jQuery/Javascript. We use WordPress as our CMS, but I usually don’t tinker with that.
Non-web: Illustrator, Photoshop, a little bit of InDesign.
Non-technical skills:
My sense of humour (no, really, I collaborate with a reporter on a weekly humour graphic column, so being as hilarious as I am comes in handy). Hmm, communication, email, ability to focus when there are one million people conducting interviews in the background.

Q: What’s your tech stack?
A: HTML/SASS/jQuery/Javascript.

Q: What are you working on right now?
A: Currently coding a big feature story on mining plus a freelance project developing a web app for a non-profit, and some infographics about urban issues.

Q: What new technical things are you learning?
A: Javascript. Re-learning basics JS all the time … trying to dig into Angular a bit, too.

Q: What’s the best part about working as a bit of everything?
A: Working as a designer/developer and freelancing means you don’t have the time to be bored with what you’re working on. (And because I’m really the only developer person in the office, I get to pitch projects — big and small — that I think would be a good fit for our site and our audience.) I really like being able to flip back and forth between projects; if I do get border — or more commonly, stuck — on a piece of a project, I can switch over to a different project.

Q: What’s something unique about working in your situation?
A: If I spot something cool online that I want to try, I usually can find a home for it. For example, when I wanted to give Haml a whirl, I had a project in the early stages that I could use it for.

Q: What personality traits fit best at the kind of place you work?
A: I can be super scatter-brained sometimes (especially if I’ve got a bunch of projects on the go), so it’s super important that I force myself to keep detailed notes with specific actions items with reasonable deadlines. Working in a newsroom — a super small newsroom — it’s important to communicate effectively with my reporters and editors. We all have a million-plus-one stories/projects on the go, and if we fail to talk to each other, things fall off. When stories break across beats — think Duffy, Wallin, and Brazeau being suspended from the Senate on the same day Rob Ford admitted to smoking crack cocaine on the same day committees were sitting on the same day, etc, etc — it’s essential we keep in touch and on the same page. As a developer, I rarely (never) have to run to a press conference on a moment’s notice, but I do have to be ready to pitch ideas across a variety of beats — stuff that I can turn around in a hour, an afternoon, or a week.

Q: What advice would you give someone who wants to get a job doing what you do?
A: Learn a little bit of everything — especially how to read the documentation, and find the best tutorials — but carve out the time/space to have a favourite thing. Talk to your clients/editors/co-workers. Outsource work if you’re overwhelmed, ask for help if there’s something you’re not sure about, keep notes on what you’re working on for who, with specific deadlines. Javascript sucks but it’s so important to understand.

Posted in UncategorizedComments Off on Working as a new developer: Insights from recent Hackeryou grads

My first two weeks as a developer

I’m already about to start my third week at Shift, and I’m loving it! A few people’ve asked me to write a little post about what’s been going on, so here are some general thoughts and experiences I’ve had during my time working so far.

First thing: I am so glad I chose to work at a startup! In the process of interviewing after hackeryou, I met with a bunch of awesome companies, mostly agencies of varying sizes and types. Shift was the only “startup” (well..depending on how you want to define startup) I interviewed with. Since my 2 year plan was to end up at a startup, I consider myself lucky to have been at the right place (twitter) at the right time and gotten in touch with these guys. As a result I’m already ahead on my life plans as far as my job is concerned, so that’s the first huge bonus.

So on my first day I had absolutely no idea what to expect. I was going in to a completely different profession, doing totally different things, for a different company. Of course I’d had lots of great advice at hackeryou and from my friends, but at the end of the day everyone’s experience is different, so I definitely felt like I was going in blind. Most of my first day was meeting the team and setting up my development environment, but by the end of the day I had started on the work that I’ll be doing for awhile.

There’ve been a lot of firsts over the past couple of weeks, one of which is working in an agile development environment. There’s some terminology to learn, but really it’s pretty simple, and I’m loving having my work for the next two weeks set, so I know exactly what’s needed, what’s expected of me, and how far along I am in that process at any given time.

On the tech side of things, I’m working primarily with flexbox right now – we’re rebuilding the entire application, and for me currently that means taking previous Bootstrap html+css and rewriting it using flexbox, refactoring as best as I can along the way. We also do our styling in Less, so I had to learn that as well (I knew SASS before so this wasn’t a big deal – although so far I’m not using anything too complex). Right now I have to strike a somewhat difficult balance between making necessary changes, but not going too crazy on said changes because I’m not familiar enough with the code base and the app, but that’ll come with time.

I love the people I work with, and the position of a front-end dev is so interesting, sort of “living” between the designers and other developers – you get a complete blend of aesthetics/usability/etc. and functionality/code/efficiency that, at least to me, is exactly what I’m looking for. It’s a great gig for generalists who like technology and have an eye for design. You don’t necessarily have to know everything about either side (you never could anyway), but your value (in my opinion, anyway) comes instead from being able to see and understand both sides, which seems to be a fairly unique quality in a person.

Overall, the past two weeks have been great. I’m really looking forward to learning more and getting deeper into things. Speaking of looking forward to things, I’m also going to be giving a talk in August at the consistently awesome Pyladies, on the topic of why developers should encourage their artsy friends to get in to development. I’d love it if you came out! And if you can’t make it, I’m sure I’ll write up some sort of summary of it on here.

Posted in UncategorizedComments Off on My first two weeks as a developer

What it’s like to get a job as a jr. developer

I “graduated” from Hackeryou just a couple of weeks ago, and since then I’ve been through an incredible whirlwind of interviews, phone calls, meetings, and tests. We finished the program on a Friday and I spent Saturday and Sunday terrified that I’d made a terrible life choice, that I was now officially just unemployed and “what if no one wants to hire me?!?!” – lots of “I’m going to be living in a box at the end of the month, I know it” and other silly things that seemed to make sense at the time. But come Monday, the emails, tweets, and phone calls started coming in. I was absolutely shocked that anyone anywhere in the world would look at my portfolio and then contact me because they liked what they saw.

Expectation

I assumed, if I were lucky, I might get one or two interviews because I know Heather (CEO of Hackeryou), and Heather knows everyone, and someone might feel obligated enough to hire me and maybe they think I can learn eventually. I SWEAR that was what went through my head more than once on that weekend. It’s hard for me to admit that, but I figure I should, because everytime someone says to me this is how they think, I think they’re nuts because they are clearly amazing. But really, if I’ve learned one thing, it’s that no matter how aware you are of imposter syndrome, no matter how much you talk about it, lots of people (myself included) will still fall back on to it. Even if you’re generally a confident person. There’s a lot fighting against you when you try to start your life over again in a different profession, including your own brain.

Reality

In reality, what happened is I didn’t have enough time to fill out applications, because I was constantly in interviews, sending emails back and forth, responding to people via twitter, and so on with people from companies interested in hiring me simply because they saw my portfolio and liked it, saw me on twitter, heard about me from a friend of a friend. The best of these – a complete stranger comes across you on a social network, looks at your portfolio, and decides based on nothing else they want an interview – this has got to be one of the best ways to combat that imposter syndrome I’ve found to date. You start to think more clearly. You realize you have a choice of where you want to work. That people see value in what you do (FINALLY), and they want to see you grow with them – they ACTUALLY want this, not just say they do. Which brings me to my key takeaway from this experience:

Every worker is valuable, and you shouldn’t settle for BS hiring practices in your field

Looking for a job in tech is what looking for a job should be. It’s what our parents told us would happen if we went to university. It’s what everyone tells us will happen if we just “get more experience” and “keep trying” and “keep being involved”. It’s an actual, respectful, give and take – you give them your current skills, your passion, your willingness to learn and work hard (bonus points for excellent communication or really any professional skills), and they give you steady pay, a chance, a place to learn, mentorship, tangible results of hard work, a future. Of course as someone new to tech I’m crazy naive about how wonderful it is. I get that. A lot of my developer friends tell me it’s “not that great” – but very, very often these wonderful people have never experienced the soul crushing experience of knowing you’re doing everything you possibly can to succeed and never getting anywhere because everything about virtually every other field is just systematically broken. Applying for 80-100 jobs and getting one interview if you’re lucky is not okay. So for me, I’m now making the following commitments to myself:

My commitments to myself as a young professional

  • I will never work on a short term contract, unless that’s the type of work I’m looking for.
  • I will not come to your company and work for a bit to see if I’m a fit. Do good, thorough interviews, and trust me and yourself.
  • I will expect something from your company, because as an employee I offer a lot. Mostly right now it’s non-technical, but very soon I and the other Hackeryou grads will be an unbelievable catch because we’re the whole damn package.
  • I will not settle for pay less than what I’m worth. I know what that number is, and there’s no reason why I shouldn’t be getting it.
  • I will do something I care about. Exactly the something. Not something I hope will eventually lead to something I care about. That’s not good enough.
  • I will continue to work really, really hard to be worth the above. And because I want to put all of myself into something and see great results.
  • I will remember that good companies hire good people, and I’m a good person.
  • I will trust (based on clear evidence) that in my new field, working hard means seeing actual results, from getting good jobs to creating something amazing there.

I’d really encourage anyone who was in the position I was in professionally to explore what else is out there, and to not be afraid to make a radical change if it’s worth it. There’s no point in wasting time, you’ll only regret it later. Reach out if you like: hello@emilyporta.com or @agentemily on Twitter.

Posted in UncategorizedComments Off on What it’s like to get a job as a jr. developer