The 6 Different Leadership Styles You Need To Know About

Sharing an article written by the good folks at officevibe.com about leadership styles. The list could be endless, depending on who you ask and which book you read but I feel this captures them well enough for me to share. It’s a good reminder for those you might have had read too much books in the past and forgotten.

Leadership styles apply not just for work but even in the family, friends and politics. There are always debates on what works and doesn’t work which makes sense since every situation could be different. This does represent my own “default” though. And at the very least, knowing them will make us understand each other more and as they say, “if you only have a hammer everything is a nail”.

6 Leadership StylesThis infographic was crafted with love by Officevibe, the software that shows you how to be a good leader through employee feedback.

What to put on a Software Engineer Intern or Junior-Level Resume

This is a rant from reviewing hundreds of resumes on a Sunday so forgive the occasional sarcasm. I am not a professional resume writer either; merely trying to help make the world a little better, one resume at a time.

Sure, some companies filter resumes using tools and keyword search so everyone just throws in every buzzword out there but we are secretly hoping we’re better than text mining algorithms (and we really love reviewing resumes) that I reviewed one by one.

Will try to make this quick

If you are still in school

  • Have your projects in Github or public repositories. They differentiate (at least as of this time not everyone has it yet).
  • Work on something outside your course requirements.
  • Join hackathons or coding competitions.
  • Talk about career with experienced people, look for heroes. Your professors could be that person but not everyone has real-world experience and those matter.

General

  • Please, pretty please read the job requirements. Most companies put a lot of thought on them, we will also benefit from the saved time.
  • Watch your spleling
  • Watch you’re grammar – I’m no grammarian and don’t expect people to be one either but this tells me that the person has low attention to detail or did not take the resume seriously enough to have someone else review it. And detail is very important in engineering.
  • Cover letters help (show interest and effort) but keep them very short. Save the details for the resume.

Formatting

  • Please use a nice font (please reflect the beauty of the world and embrace typography) but don’t be too flashy either.
  • PDF than Word Doc
    • more control on how it will look like versus depending on whether reader has MSOffice, OpenOffice or none that could read doc/docx at all
    • most browsers have plugin it opens right away
  • Do NOT try too hard to fit everything in a 1-page resume. Few is better but please do NOT remove the margins to make it “shorter”. Simplify your content instead.

Summaries

  • Do NOT highlight your “low” GPA/Grade– I could be missing something but I wonder why some put those that seem to be lower than most. I think it could actually anchor the viewer negatively.
  • Do NOT list technologies you have only coded a few lines for or those you just learned by listening in class.
    • make sure you have actually coded or wrote an application that is either 1) used in production or 2) a publicly available web site
    • you can put them at the end as hobbies if you want
    • having all the possible programing language in the world could make someone think you don’t have enough depth. If you must insist on some archaic language, better be sure that most engineers know that it’s a beautiful language or hard to code unless you are a master
  • Do NOT list non-job related experiences – again you can point this out at the bottom (or if you want to still establish work history – just put a line, no need to describe too much).
  • Customize your resume a bit to highlight the needs of the position.
    • e.g. for a Java role, it’s sometimes useful to list Java first before other languages (and keep the list short – unless you are applying for a polyglot position)
  • Do NOT list Outlook, Word, PowerPoint or the likes unless you are a ninja on those apps.
  • Common, you are not a 10 in Java after school otherwise you would not be looking for a job (that job will be looking for you).

Experience

  • Do NOT explain what APIs are or do. It’s OK to explain the system you worked on but not something like “API is used to access the database”. Ah sure…
  • If listing your company/internship, say something about what you did. Unless it’s Google or Facebook people might think you did nothing amazing in that company.
  • Co-founder/founder always helps (for as long as it’s true). If it failed, leverage it by stating what you learned from them.

Projects

  • Sure, list your projects – but make their descriptions brief – most people will think you were required to do something anyway so they are not really differentiators.

Things that are true for all resumes/applications/branding
(you know these but apparently not everyone follows or maybe they don’t agree?)

  • Linkedin
    • good profile photo (not so trying hard – look positive, eager to learn)
    • for goodness sake, don’t look sad in your photo
    • list your top skills (and ask people to endorse them) –  if nobody endorses them, it’s worse than not being there
    • recommendations are helpful so ask for them – Yes, I don’t have recommendations there either but hey I am not looking for a job – you are
  • Build your online reputation
    • Blog if that’s your thing (or you can)
    • Twitter (and say sensible things, not test posts – or nothing)

Noise words
Unless you are submitting to an applicant tracking system that searches for just keywords, in my opinion these are just noise in your resume. In case companies filter out on those it’s probably a bad company to work with since they don’t really “look” beyond what machines can see.

  • Object Oriented Analysis
  • Design, Development, Implementation and Deployment of Software (or xxx)
  • Relevant graduate courses (all if not most, took them) unless you are applying for something super specialized and you took a class that matches that and is super specialized too (and only 5 students took it)
  • Good communicator – let your resume do/say/show that instead
  • Team player – yet to encounter someone say they are NOT and they hate people – eccentric geniuses exist but they don’t pass/write resumes – they don’t have to

Almost there…

  • Ready? Not yet. Have someone who has experience review your resume or better yet, pay for good professional writer/reviewer.
  • I have a tendency to read from bottom to top.  I look at “progression” after school and density of work/experience and not years. So don’t put messy stuff just because you think it’s at the bottom and nobody would read it.
  • Look at other people with your profile. Do you feel you have a differentiator?
  • Read articles on what hiring managers look for. Put yourself in their shoes, research online what to look for candidates and you will see common themes (e.g. smart + gets things done). Then figure out how you can be that person.
  • Be responsive when you get a response about the application. Not hearing back from candidate for days that is a red especially for positions where responsiveness is expected (e.g. Ops Engineer)
  • Remember, hiring managers do not do screening full-time. I am doing this on a Sunday so the easier you make the review the more lovable you will be.

More experienced/higher level position applications are a whole different discussion so will leave that to professional resume writers/bloggers.

Finally, if you are not yet in school but thinking of doing so also think about this
Either:

  1. Go to a great school (CMUs and Stanfords of the world) and just do your best to keep up (most of the time, the environment there will drive you to succeed)
  2. Or if you cannot for some reason, go to a reputable school that will allow you to have time  for outside projects

Imagine two candidates:
Candidate 1

  • GPA 4.0 in not so bad school
  • has github projects X, Y and Z
  • committer for Apache XXX project
  • Regular course work

Candidate 2

  • GPA 3.8 in some school better than above
  • Regular course work

Who do you think will have an edge?

Thank you for indulging in my rant and hope this makes the world a little bit better. Have a good week ahead!

My Quest to be a Better Leader

leadershipimage.jpeg
Leading Engineers

Engineering Leadership (or management – some engineers are not fans of the term “manager”) is not easy as some people think. Leadership is hard enough, the complexity of people then add to that the complexity of engineers. There’s not a lot of books on the specific subject so it’s not surprisingly that I still hear top executives saying that one just needs be technically proficient/architect, sure – architect of teams/people maybe but not just of systems/code. That’s where the challenges of engineering leadership comes in, one is expected to be both good at systems/engineering and people. Those two could mean different worlds.

Long topic but I wanted to share what I hope to follow and achieve. These are taken mostly from Google’s Proxy Oxygen (Google’s Quest for a Better Boss), books, articles I have read on the subject (you can catch some at my GoodReads account) and experience from peers, friends and my own.

These are “big” topics on their own, (obviously thousands of books have been written on leadership), my goal is to simply to share in case it helps and for others to remind me should I forget to walk the talk.

Also, though useful in most cases, it could vary depending on what stage your company/team is in. If you are just starting up, you need more coding + pitch/sales/marketing power more than maybe engineering leadership.

There is no timeline to get these right (if even possible at all), it’s a lifelong process and better have a target than nothing at all.

1. Be a good coach

  • Provide specific, constructive feedback, balancing the negative and the positive.
  • Have regular one-on-ones, presenting solutions to problems tailored to your employees’ specific strengths.
  • Learn more about coaching and apply (and be more organized, templates etc)

2. Empower your team and don’t micromanage

  • Balance giving freedom to your employees, while still being available for advice. Make “stretch” assignments to help the team tackle big problems.
  • Give them tools to enable them to do their best
  • Demand the very best, help if possible, otherwise find other options, if all is exhausted cut losses
  • Trust them to do their best
  • Emphasize results, not time spent
  • Delegate that which is not your strength

3. Express interest in team members’ success and personal well-being

  • Get to know your employees as people, with lives outside of work.
  • Make new members of your team feel welcome and help ease their transition
  • Treat them well
  • Know what makes them tick (money, power, status, popularity, greater good)
  • Appreciate individuality
  • Do the hard work of knowing but also ask what motivates them

4. Don’t be a sissy: Be productive and results-oriented

  • Focus on what employees want the team to achieve and how they can help achieve it.
  • Help the team prioritize work and use seniority to remove roadblocks.
  • Shield the team from distraction
  • Manage external expectations

5. Be a good communicator and listen to your team

  • Communication is two-way: you both listen and share information.
  • Understanding is the goal, communication is just a tool
  • Hold all-hands meetings and be straightforward about the messages and goals of the team. Help the team connect the dots.
  • Encourage open dialogue and listen to the issues and concerns of your employees.

6. Help your employees with career development 

  • Mentor when you can, refer to someone if outside your expertise
  • Training time on regular work week hours (internal + external expertise)

7. Have a clear vision and strategy for the team

  • Even in the midst of turmoil, keep the team focused on goals and strategy.
  • Involve the team in setting and evolving the team’s vision and making progress toward it.
  • Team vision, Core values
  • Where does each one fit in the team (roles)
  • To be the best, know the best (who are our competitors)
  • When saying no to roadmap/tasks, support it by giving costs

8. Have key technical skills so you can help advise the team

  • Roll up your sleeves and conduct work side by side with the team, when needed.
  • Understand the specific challenges of the work.
  • Learn their code base – invest time on this
  • Good architecture – “With good architecture, debugging is a breeze because bugs will be where they should be.” – David May
9. Integrity
  • Just, fair, transparent
  • Do not commit without consulting them
  • Admit mistakes
  • Give people proper credit
  • Confront problems, not people

10. Advocate Quality

  • Test, Test, Test
  • Code review
  • Simplify, Simplify
  • Continuous integration
  • Cannot commit if builds are failing
  • 5 whys – incident report always
  • Do not build something you cannot measure
  • Have a Devil’s advocate, 10th person on architecture decisions

11. Innovation

  • Advocate design thinking – emphatize, define, ideate, prototype, test
  • Safe environment to learn from instead of fear failures and move on

Knowledge for the sake of Knowledge. (or not)

A co-worker shared this article/link below today about what Ph.D is about; prompted by a discussion on productivity, personal ambitions, continuing education.

The Illustrated Guide to a Ph.D by Matt Might

But I might have had a different take away. This to me a good reminder on why you seek out knowledge: (assuming you do)

* knowledge for the sake of knowledge?

* knowledge to buy the luxuries of life?

* knowledge to buy you way into fitting in?

* knowledge to do something different, better for someone other than yourself?

whatever your reason is, you are entitled to it (there is no right nor wrong answer) but as the article says “Keep pushing,”

yet don’t forget to ask yourself why

or maybe the better question we should ask is, “what do I use my knowledge for?”

sushi, software and success

Just finished watching Jiro Dreams of Sushi  – a film about Jiro Ono, a 85 year-old sushi master and owner of Michelin 3-Star restaurant Sukiyabashi Jiro, on his continuing quest to perfect the art of sushi.

“Once you decide on your occupation,” says Jiro, “you must immerse yourself in your work. You have to fall in love with your work. Never complain about your job. You must dedicate your life to mastering your skill. That’s the secret of success and is the key to being regarded honorably.”

Reminds me of a lot of things I try not to forget:

1- make a choice, then move full speed ahead

2- you must love what you do (otherwise find another one)

3- excellence and quality

4- art

Just around the time when I am in the process of reading Seth Godin’s book Linchpin. Probably safe to call the master sushi chef the linchpin that ties together vendors (shrimp, fish experts) and the rest of sushi hungry and foodies of the world.

I would recommend this movie to everyone. Most especially to my fellow technologists.

We don’t have to learn how to make sushi but we definitely could learn a thing or two on how to make software/products that can make everyone say “Ahhh……”

Jiro_Dreams_Of_Sushi_2011_DVD_Cover

Job Opportunity – UX Developer for Next Generation Marketing Analytics Cloud Application

We are looking for ambitious User Experience engineers that wants a new highly graphical, easy to use, multi-device cloud data management and processing for business intelligence and predictive analytics application.

Role: To be key engineer implementing a new highly interactive, data intensive cloud service for or business intelligence and predictive analytics application. This service will be use by a variety of users, many of them marketers which will put high demands on graphics, interaction and design. It will need to be built to that we can support multiple devices. The person in this role will have a strong influence on technology strategy and implementation, and work closely with skilled graphical designers.

Required skills:
* Strong HTML, CSS, Javascript skills.
* JSON experience
* Experience with interactive (AJAX) user interface implementation.
* Experience integrating with RESTful web services from javascript
* Architectural and design experience is building software that is maintainable and reusable.

Desired skills, skills that would be an additional benefit:
* Experience with HTML5.
* Experience with iOS and Andriod development.
* Experience with highly graphical user interfaces.
* Experience with data visualization.
* Experience with user interface code performance measurement and optimization.

Experience:
* We are looking for people with different levels of experience, anything from freshly out of college to experienced developers may be a fit.

Job Opportunity – .Net UX Developer for Marketing Analytics Cloud Application

High impact project for ambitous .Net UI developer

Profile :

Self-motivated with a passion for Web development and UX implementation

Role : Update the agilone user interface.The design has already been completed;

Required skills:
* Ability to interpret and fulfill the Designer’s vision for sophisticated UI and high performing applications.
*  Creative individual with a strong sense of style, detail oriented down to pixel-perfect implementation
* Self-motivated and able to work effectively with minimal instruction and supervision,
* Strong HTML, CSS skills
* Strong client side scripting skills (Javascript, Ajax)
* Experience with developing UI on ASP.Net (C#)
* Experience with cross-browser UI development.

Desired skills, skills that would be an additional benefit:
* 3-5 years of hands on experience with UI development.
* XML, WebServices
* Experience using version control systems (SubVersion)

Other:
* We are looking for a contractor, or an employee. If it is an employee the person also need to fit the following profile: UX Developer

remove/delete svn folders

Since I’ve been using SVN and stumbled upon this technique I’ve also been using since then

This is one of the many (but easiest way) to remove SVN folders (.svn) recursively from a given folder. Effectively “unbinding a folder from SVN

Follow these easy steps: [more]

1) download this registry file : DeleteSVNFolders.reg (313.00 bytes) – see below notes for more information (security issues/verification and code source). I urge you to review them but if you don’t want to worry about the details and trust me enough then please go ahead and download.

2) double click on the file you downloaded

    you will be prompted to confirm that you really want to perform the action (differs depending on your OS). just continue and should all go well you will have a successful message/dialog

3) then to see it work go to the folder you want to remove the .svn folders from, then right click it

you should see the “Delete SVN folders” menu item

4) Click the said menu item and the .svn folders will be removed (there will be a command window that will show up displaying progress too – though if the folder structure is not that deep enough it might disappear very quickly).

 

And you’re done

** Notes

1) altering your registry not for the faint-hearted and you’d have to trust the author/publisher. In this case I do and I have been using it for years

    and if you could also look into it (edit e.g. notepad or text editor) and understand what it does if you want to make sure you’re not letting it do something you don’t want

    i have taken this from : Jon Galloway’s Shell Command – Remove SVN Folder and simply created the reg file to be downloadable (for those who are not so confident on how to deal with reg files)

SQL Business Intelligence Developer Needed (Manila, Philippines)

We are currently looking for a SQL BI Developer Professional to work with us on exciting, high-profile/scale projects. Feel free to contact me or visit http://www.lwsmedia.com/contact.htm. Looking forward to work with you. [more]

Company Profile:

Agilone LLC
Norwalk, CT USA, Los Gatos CA USA , Istanbul, Turkey  and Manila, Philippines

Companies who can effectively understand, process and take value from their data gain a sizable competitive advantage.  However, many fail to do so since the amount of data captured by organizations is growing more quickly than the capabilities of the tools to analyze it.  Agilone solves this problem with proprietary, SAAS-based analytical tools that help them make data-driven marketing decisions that drive superior results.
 
Agilone’s goal is to help clients develop and execute data-driven marketing strategies. We provide clients with advanced technology and analytical marketing services to help identify and execute opportunities hidden in their data.  Our approach is effective because we analyze more of their data than the competition and offer a customized solution.
 
Typical engagements are in areas of customer valuation, pricing, response modeling, segmentation, with follow-on implementation of technologies such as data warehousing, web-based application development, database management and business intelligence services.
 
We are headquartered in Norwalk, CT with a technology development and services center in Istanbul, Turkey.  Recently, we have opened our new office in Silicon Valley (Los Gatos) California.

We are a high growth, entrepreneurial company and are always looking for intelligent hardworking people to join our company.  Transfers between Istanbul office and US offices are possible and we do sponsor work visas and Greencards in US depending on tenure and performance of employees.
 
Job Description:
This position is for our Manila Office.   Due to the increase in our business volume we need additional SQL developers with the following background and skill set:
 
Position Responsibilities:
– Be part of the developer team from Analysis to design, programming, testing and deployment
– Design and administer project related databases
– Create technical documentation
– Perform unit test of the codes
– Author user manuals and installation guides
 
Education:
Minimum: BS, BA or equivalent, very good command of written and spoken English
 
Required Skills and Experience:
1. Excellent communication skills both written and verbal
2. Competent in T-SQL, working knowledge of MS SQL 2005 and MS SQL 2008.
3. Experience in Dimensional Databases and OLAP Cubes.
4. Desire to learn new platforms and environments as the projects leads.
5. Strong analytical and problem solving skills with attention to detail.
6. Self-motivated – comfortable working in a fast paced environment with limited direction.
7. Ability to multi-task and work on for several different projects.
8. Holding a Microsoft certification is a plus.
 
Process:
We will conduct 2 tests before an interview.  The first test would be a general aptitude test, after you pass this test you will be given a more specific T-SQL test.  After these tests you will be invited for an interview with the Director of Business Intelligence and the Principal of the company.

MCPD ASP.NET 3.5 beta exam

You are invited to take beta exam 71-564: Pro: Designing and Developing ASP.NET Applications Using the Microsoft® .NET Framework 3.5. [more] If you pass the beta exam, the exam credit will be added to your transcript and you will not need to take the exam in its released form. The results will not appear on your transcript until several weeks after the final form of the exam is released. The 71-xxx identifier is used for registering for beta versions of MCP exams, when the exam is released in its final form the 70-xxx identifier is used for registration.

 

71-564: Pro: Designing and Developing ASP.NET Applications Using the Microsoft® .NET Framework 3.5 counts as credit towards the following certification(s).

·          Microsoft Certified Professional Developer: ASP.NET Developer 3.5. In order to earn this certification you must also hold the Microsoft Certified Technology Specialist: .NET Framework 3.5, ASP.NET Applications.


Availability

Registration begins: November 5, 2008

Beta exam period runs: November 6, 2008– December 1, 2008

Receiving this invitation does not guarantee you a seat in the beta; we recommend that you register immediately. Beta exams have limited availability and are operated under a first-come-first-served basis. Once all beta slots are filled, no additional seats will be offered.

Testing is held at Prometric testing centers worldwide, although this exam may not be available in all countries (see Regional Restrictions).  All testing centers will have the capability to offer this exam in its live version.

Regional Restrictions: India, Pakistan, China


Registration Information

Please use the following promotional code when registering for the exam: RSC43
You must register at least 24 hours prior to taking the exam.

 

To register in North America, please call:

·          Prometric: (800) 755-EXAM (800-755-3926)

Outside the U.S./Canada, please contact:

·          Prometric: http://www.register.prometric.com/ClientInformation.asp


Test Information and Support

You are invited to take this beta exam at no charge.
You will be given four hours to complete the beta exam. Please plan accordingly.

Find exam preparation information:
http://www.microsoft.com/learning/exams/70-564.mspx