TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: At what proficiency do you consider 'knowing' a language?

8 点作者 ndomin将近 10 年前
Lying on a resume is obviously bad, but when do you consider being able to list a new language on your resume as something you know? For example, I've written programs in a dozen languages over the last few years but if someone asked me to write something in any 6 of them I would have to look up some of the syntax to know if it needs a parenthesis or semi-colon. Is that considered not knowing it?

8 条评论

danielmiester将近 10 年前
&quot;if someone asked me to write something in any 6 of them I would have to look up some of the syntax to know if it needs a parenthesis or semi-colon. Is that considered not knowing it?&quot;<p>I feel that that is a downfall of being a polyglot. I have no qualms about keeping documentation at the ready. Especially for myself, as I regularly switch between javascript(5 and 6, and various frameworks),xml,html,python,bash,c in my day to day. I feel its much more important to have general knowledge&#x2F;skills than specific details. The fact that I have to look it up to know if I need to use .toUpperCase() on a string, or just .toUpper(), or if it is an instance method, or a global function, should be of no consequence. If I am regularly having to look up how to <i>USE</i> &#x27;if&#x27; statements (as opposed to just syntax: [does this language use &amp;&amp; or &#x27;and]) that should be concerning. I think a better test would be &quot;Here&#x27;s a method from our codebase, but I broke it. How do I fix it&quot; Just be sure to break the logic of the code, instead of the syntax. I may or may not find the syntax error, but I damn better be able to identify a non terminating while loop.
ubertaco将近 10 年前
There are levels of &quot;knowing&quot; a language.<p>I&#x27;ve been writing Java since I was 14 (for 11 years now). I write Java on a daily basis for work, and I can&#x27;t remember the last time I had to consult a reference on syntax. I would consider that &quot;fluent&quot;, to use an analog from spoken&#x2F;written languages, and I&#x27;d obviously put any languages in which I&#x27;m &quot;fluent&quot; on my resume.<p>I&#x27;ve written a lot of Python in my personal time over the years, and have a good understanding of what &quot;idiomatic&quot; Python looks like (comprehensions over iterators&#x2F;higher-order-functions, &quot;is&quot;&#x2F;&quot;in&quot; over &quot;==&quot;&#x2F;&quot;indexOf&quot;, etc). I would consider this &quot;conversational&quot;, and would put it on my resume too.<p>Then there are languages that I have not written any projects in, aside from tutorial-type-things while learning them. These are more on a case-by-case basis; ones that I&#x27;m more comfortable with (like Elixir or Haskell) I might put on my resume with a note that I&#x27;m at a &quot;beginner&quot; level of familiarity; I understand many of the language concepts, but would need to consult reference material frequently, and my code is not likely to be idiomatic. With these languages, I&#x27;d ask myself the question of how comfortable would I be accepting a job where I did nothing but write code in that language. And obviously, I&#x27;d need to explain in an interview or phone screen that my knowledge is still basic.
评论 #9700536 未加载
xyclos将近 10 年前
I will generally ask candidates a few questions about every skill on the resume. So, if you&#x27;re not comfortable answering a few general questions or having a meaningful conversation about the skill then you should not include it on your resume. Including a skill level can help frame the conversation or give context, but if you can&#x27;t provide 2-5 minutes on the pros and cons of the language&#x2F;skill, then I&#x27;ll assume you don&#x27;t actually possess that skill.
评论 #9699678 未加载
gtk40将近 10 年前
I went through a big interview spree after finishing my undergraduate degree this spring. I have one company that I was very excited about potentially working for. The job description was for a &quot;Software Engineer&quot; with no particular tools listed, but wanted experience with some things like databses, web apps, and so forth. I had worked several days a week during my senior year at a .NET shop (now working here full time temporarily until my next job starts), including some ASP.NET MVC and some other web-related work.<p>I put a section on my resume under education with relevant coursework. I noted there that I had taken a database course as part of my CS cousework and put &quot;Databases (primarily MySQL with interfaces in PHP and JS),&quot; as about 90% of the project-related courework involved using MySQL databases with web-based interfaces.<p>In the inital phone interview, I had a nice chat and talked about some of my former projects, familiarity with other languages, where I made it known I was fairly comfortable in JavaScript and Python and some other language, and most of my professional&#x2F;educational experience was in .NET and Java. He asked about the databases course and I explained what the curriculum went over and the final project. I explained all I had used PHP for was a few database calls and that I wasn&#x27;t very experienced with it.<p>Then, at the first technical interview, it was entirely in PHP. The interviewer mentioned it at the start, and I explained my level of familiarity (very little). It was asking about how specific data types behave in PHP, global variables, differences in PHP 4 and 5, and was entirely about PHP. I did my best, assuming wrongly about things like global variables, and so on. I never got a call back.<p>I removed PHP and have since only listed the technologies in any way that I am ready to interview in.
brickcap将近 10 年前
For me it&#x27;s when you can start reading and understanding the code that other people wrote. This does not mean that you have to understand the &quot;why?&quot;(which can be a bit hard without context) behind the code just the &quot;how?&quot;.<p>I think it is a good indicator of how comfortable you are in your chosen language.
loumf将近 10 年前
For your resume, the list of languages should be roughly in the order you would want to work in and can answer questions in.<p>Then, for each job, list the languages used in the order of how much you use them (or know them).<p>For example: If I see Ruby on your list, but it&#x27;s after Java and C++, and then I look down the list of jobs and see that your current job is in Java, and the one from 3 years ago was in ruby -- I know what to expect.<p>If you still want a job with ruby (and the above matches your situation), then bring it up in the cover-letter -- explain why you would be a good choice (and probably you should practice ruby before any interview)<p>I&#x27;ve see people do &quot;Proficient in&quot; and &quot;Familiar with&quot; lists -- but really -- all I want to know is: will you be productive on day one with this technology, or do you need a refresher (and then I can decide based on my needs)
jabv将近 10 年前
Actually, I wonder about this from a non-technical guy&#x27;s perspective as well (my work has mostly been in implementation and support). I have listed basic experience with a language on my resume, and I know that is a useful little nugget to non-technical hiring managers. When asked, I am pretty clear about the small scale of things I&#x27;ve built, but I still wonder if it is a little disingenuous because I don&#x27;t actually know squat about data structures or algorithms, and I am not a competent programming problem-solver. (Sorry if this is a little off-topic.)
kzisme将近 10 年前
I&#x27;ve seen on most resumes if someone knows a language their experience with that language is also denoted.<p>ie:<p>Python[Expert] Scala[Intermediate] C++[Beginner]<p>I suppose you could do something like that just to make everyone who reads your resume aware of your specific skill set - instead of generalizing.
评论 #9700141 未加载